NEW StrangeBrew Elsinore Thread

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Oh, why are you using GPIO8_12?

BBB is GPIO<0|1|2>_x

You probably mean to use GPIO1_12... You set the DTO up for that, but the UI you stated is using GPIO1_12 (and the output says gpio268)
 
Oh, why are you using GPIO8_12?

BBB is GPIO<0|1|2>_x

You probably mean to use GPIO1_12... You set the DTO up for that, but the UI you stated is using GPIO1_12 (and the output says gpio268)

ah! thanks, I thought I was supposed to use bank/pin for some reason. why I didn't try both, I have no idea.

genius, it works! get a 3.3V out when i switch pin 15 high... fantastic.

circling on something from another poster, do we in fact need to run bbb_setup.sh every time we boot prior to launching elsinore?

thanks again for the help -
 
Okay, now I've got another issue. My previous success was based on running /launching the program via

sudo ./launch.sh

however, when I run elsinore as a service, the webUI isn't available. I have been successful in the past, running elsinore as a service, before a recent git-pull (though, unfortunately, I can't tell exact timing/versioning.)

Here's my process list:
Code:
ubuntu@arm:~$ ps aux | less
root       295  0.0  0.1   2224   804 ?        S    10:25   0:00 upstart-udev-bridge --daemon
root       300  0.0  0.2   9860  1260 ?        Ss   10:25   0:00 /lib/systemd/systemd-udevd --daemon
message+   356  0.0  0.1   3384   944 ?        Ss   10:25   0:00 dbus-daemon --system --fork
root       375  0.0  0.2   3360  1348 ?        Ss   10:25   0:00 /lib/systemd/systemd-logind
syslog     378  0.0  0.2  29580  1372 ?        Ssl  10:25   0:01 rsyslogd
avahi      396  0.0  0.2   2696  1304 ?        S    10:25   0:00 avahi-daemon: running [arm.local]
avahi      398  0.0  0.0   2696   496 ?        S    10:25   0:00 avahi-daemon: chroot helper
root       406  0.0  0.0      0     0 ?        S    10:25   0:00 [flush-179:0]
root       621  0.0  0.0   1940   452 ?        S    10:25   0:00 upstart-socket-bridge --daemon
root       646  0.0  0.1   2484   908 ?        S    10:25   0:00 upstart-file-bridge --daemon
root       708  0.0  0.1   3376   692 tty4     Ss+  10:25   0:00 /sbin/getty -8 38400 tty4
root       709  0.0  0.1   3376   692 tty5     Ss+  10:25   0:00 /sbin/getty -8 38400 tty5
root       713  0.0  0.1   3376   692 tty2     Ss+  10:25   0:00 /sbin/getty -8 38400 tty2
root       714  0.0  0.1   3376   692 tty3     Ss+  10:25   0:00 /sbin/getty -8 38400 tty3
root       717  0.0  0.1   3376   692 tty6     Ss+  10:25   0:00 /sbin/getty -8 38400 tty6
root       734  0.0  0.4   5880  2132 ?        Ss   10:25   0:00 /usr/sbin/sshd -D
root       749  0.0  0.1   2256   736 ?        Ss   10:25   0:00 cron
root       753  0.0  0.1   1348   540 ?        Ss   10:25   0:00 acpid -c /etc/acpi/events -s /var/run/acpid.socket
root       810  0.0  0.0      0     0 ?        S    10:25   0:00 [file-storage]
root       878  0.3  0.0      0     0 ?        S    10:26   0:58 [w1_bus_master1]
root       885  0.0  0.2   2368  1172 ?        S    10:26   0:00 /bin/bash /home/ubuntu/SB_Elsinore_Server/launch.sh -c /home/ubuntu/SB_Elsinore_Server/elsinore.cfg
root       892  0.0  0.3   4000  1580 ?        S    10:26   0:00 sudo /usr/bin/java -jar /home/ubuntu/SB_Elsinore_Server/Elsinore.jar --config /home/ubuntu/SB_Elsinore_Server/elsinore.cfg --baseUser root
root       893  0.0  0.0   1328   412 ?        S    10:26   0:00 tee /home/ubuntu/SB_Elsinore_Server/elsinore.log
root       896  3.3  3.9 398772 19856 ?        Sl   10:26   8:23 /usr/bin/java -jar /home/ubuntu/SB_Elsinore_Server/Elsinore.jar --config /home/ubuntu/SB_Elsinore_Server/elsinore.cfg --baseUser root
root       940  0.0  0.1   1780   532 ?        Ss   10:26   0:00 /usr/sbin/udhcpd -S /etc/udhcpd.conf
root       946  0.0  0.1  20036   972 ?        Ssl  10:26   0:03 /usr/bin/owftpd -c /etc/owfs.conf --pid-file /var/run/owfs/owftpd.pid
root       987  0.0  0.1   2612   928 ?        Ss   10:26   0:00 /usr/bin/owhttpd -c /etc/owfs.conf --pid-file /var/run/owfs/owhttpd.pid
root      1015  0.0  0.1  29228  1000 ?        Ssl  10:26   0:00 /usr/bin/owserver -c /etc/owfs.conf --pid-file /var/run/owfs/owserver.pid
root      1058  0.0  0.1   3376   692 tty1     Ss+  10:26   0:00 /sbin/getty -8 38400 tty1
root      1059  0.0  0.1   1624   628 ttyO0    Ss+  10:26   0:00 /sbin/getty 115200 ttyO0
ntp       1705  0.0  0.2   4228  1524 ?        Ss   10:41   0:07 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112
root      1800  0.1  0.0      0     0 ?        S    13:49   0:03 [kworker/0:0]
root      1820  0.0  0.0      0     0 ?        S    14:24   0:00 [kworker/0:1]
root      1821  0.1  0.0      0     0 ?        S    14:32   0:00 [kworker/0:2]
root      1822  0.3  0.5   9708  3024 ?        Ss   14:35   0:00 sshd: ubuntu [priv]
ubuntu    1841  0.3  0.3   9708  1544 ?        S    14:35   0:00 sshd: ubuntu@pts/0
ubuntu    1844  0.1  0.3   4216  1724 pts/0    Ss   14:35   0:00 -bash
ubuntu    1856  0.0  0.1   3944   968 pts/0    R+   14:36   0:00 ps aux
ubuntu    1857  0.0  0.1   3140   720 pts/0    S+   14:36   0:00 less

I see Elsinore running, but there's no activity on 192.168.0.50:8080/controller. I do, however, get the webUI when I run elsinore manually. I tried stopping and starting the elsinore service, with no change.

Here's the log file:

Could not find definitions file at: extras/gpio_definitions_lookup.xml
No definitions file found, assuming direct mapping
Could not find definitions file at: extras/gpio_definitions_lookup.xml
No definitions file found, assuming direct mapping
>

However, those have been in the log file for awhile, not just from the latest stop/start of the service.

Here's my "elsinore.ubuntu" file. When I did the most recent git-pull, I copied this from my earlier installation. Could the cause of my issues be some updates to this file I've now overwritten?

Code:
#!/bin/sh

### BEGIN INIT INFO
# Provides:          elsinore
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: StrangeBrew Elsinore Brewery Controller
# Description:       Start and stop the StrangeBrew Elsinore Brewery controller.
### END INIT INFO
ELSINORE_PATH=/home/ubuntu/SB_Elsinore_Server
CONFFILE=$ELSINORE_PATH/elsinore.cfg
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$ELSINORE_PATH
DESC="Elsinore Brewery Controller"
NAME="elsinore"
DAEMON=$ELSINORE_PATH/launch.sh
PIDDIR=/var/run/elsinore
PIDFILE=$PIDDIR/$NAME.pid
LOGFILE=$ELSINORE_PATH/elsinore.log

# Uncomment this line if you're on BBB to ensure One Wire/GPIOs are setup
W1_SETUP=$ELSINORE_PATH/extras/bbb_setup.sh

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

. /lib/lsb/init-functions

d_start() {
    # Uncomment these lines if you're on BBB
    if [ ! -d /sys/devices/w1_bus_master1 ]; then
        echo "Pushing One Wire Modules"
            $ELSINORE_PATH/extras/w1_setup.sh
    fi
    [ -d $PIDDIR ] || {
    mkdir -m 0775 -p $PIDDIR
    chown root:root $PIDDIR >/dev/null 2>&1
    }
    start-stop-daemon --start --quiet --background --pidfile $PIDFILE --make-pidfile --oknodo --exec $DAEMON -- -c $CONFFILE
    echo $! > $PIDFILE
    # ensure the daemon has been started
    sleep 1
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

. /lib/lsb/init-functions

d_start() {
    # Uncomment these lines if you're on BBB
    if [ ! -d /sys/devices/w1_bus_master1 ]; then
        echo "Pushing One Wire Modules"
            $ELSINORE_PATH/extras/w1_setup.sh
    fi
    [ -d $PIDDIR ] || {
    mkdir -m 0775 -p $PIDDIR
    chown root:root $PIDDIR >/dev/null 2>&1
    }
    start-stop-daemon --start --quiet --background --pidfile $PIDFILE --make-pidfile --oknodo --exec $DAEMON -- -c $CONFFILE
    echo $! > $PIDFILE
    # ensure the daemon has been started
    sleep 1
    pidofproc -p $PIDFILE $DAEMON >/dev/null
}

d_stop() {
    pkill -TERM -P `cat $PIDFILE`
    sleep 1
    if [ -f $PIDFILE ] && ! ps h `cat $PIDFILE` > /dev/null
    then
        # Stale PID file (owserver was successfilly stoped),
        #remove it
        rm -f $PIDFILE
    fi
}

d_status() {
    pidofproc -p $PIDFILE $DAEMON > /dev/null
}

case "$1" in
    start)
        log_daemon_msg "Starting $DESC" "$NAME"


etc...


This just in! I just tried to stop/start the service again and I can't stop the service... I get:

Code:
root@arm:/home/ubuntu# service elsinore stop
 * Stopping Elsinore Brewery Controller elsinore                                                                                                                                         pkill: option requires an argument -- 'P'

Usage:
 pkill [options] <pattern>

Options:
 -<sig>, --signal <sig>    signal to send (either number or name)
 -e, --echo                display what is killed
 -c, --count               count of matching processes
 -f, --full                use full process name to match
 -g, --pgroup <id,...>     match listed process group IDs
 -G, --group <gid,...>     match real group IDs
 -n, --newest              select most recently started
 -o, --oldest              select least recently started
 -P, --parent <ppid,...>   match only child processes of the given parent
 -s, --session <sid,...>   match session IDs
 -t, --terminal <tty,...>  match by controlling terminal
 -u, --euid <id,...>       match by effective IDs
 -U, --uid <id,...>        match by real IDs
 -x, --exact               match exactly with the command name
 -F, --pidfile <file>      read PIDs from file
 -L, --logpidfile          fail if PID file is not locked
 --ns <pid>                match the processes that belong to the same
                           namespace as <pid>
 --nslist <ns,...>         list which namespaces will be considered for
                           the --ns option.
                           Available namespaces: ipc, mnt, net, pid, user, uts

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pgrep(1).
                                                                                                                                                                                  [ OK ]
root@arm:/home/ubuntu#


huh! so, it looks as though after a reboot, I can only stop/start the elsinore service once before those processes can't be killed.

I was able to kill them manually with:

kill 1936
kill 1944

Then I restarted elsinore with

service elsinore start

verified it started by looking at ps list, but still no webui. Then killed the ps's again (manually), started elsinore manually, webui was back.

messaging from manual launch:

Code:
root@arm:/home/ubuntu/SB_Elsinore_Server# ./launch.sh
Starting Elsinore as root
Mar 29, 2015 3:19:46 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl readConfig
INFO: CFG IS NULL
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl enableRecorder
INFO: Enabling the recorder
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl parseXMLSections
INFO: Checking section switches
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl parseXMLSections
INFO: Checking section phSensors
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl parseXMLSections
INFO: Checking section general
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl parseXMLSections
INFO: Checking section device
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing XML Device: White_black_tip
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Not enough volume data points, 0 found
Mar 29, 2015 3:19:47 PM com.sb.elsinore.Temp <init>
INFO: Adding28-0000068da70a
Mar 29, 2015 3:19:47 PM com.sb.elsinore.Temp <init>
INFO: 28-0000068da70a added.
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl startDevice
INFO: Adding White_black_tip GPIO is (GPIO1_12)
Mar 29, 2015 3:19:47 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is: -999
Mar 29, 2015 3:19:47 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is now: -999
Mar 29, 2015 3:19:47 PM com.sb.elsinore.LaunchControl startDevice
INFO: Adding PID with GPIO: GPIO1_12
Mar 29, 2015 3:19:47 PM com.sb.elsinore.PID detectGPIO
INFO: Matches: 3
Mar 29, 2015 3:19:47 PM com.sb.elsinore.PID detectGPIO
INFO: Matched GPIO pinout for Beagleboard: GPIO1_12. OS: null
Mar 29, 2015 3:19:47 PM com.sb.elsinore.PID run
INFO: Running White_black_tip PID.
Looking for: ti_am335x-bone
Looking for: ti_am335x-bone
Mar 29, 2015 3:19:48 PM com.sb.elsinore.PID updateValues
INFO: 0: 0: 0
Mar 29, 2015 3:19:48 PM com.sb.elsinore.PID updateValues
INFO: 0: 0: 0
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl savePID
INFO: Saving the information for White_black_tip
Mar 29, 2015 3:19:48 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0
Mar 29, 2015 3:19:48 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl savePID
INFO: Using base node device with ID White_black_tip
Mar 29, 2015 3:19:48 PM com.sb.elsinore.PID run
INFO: off: White_black_tip status: 0E-52 duty cycle: 0
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of heat
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on device
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of cycle_time
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on heat
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of proportional
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on heat
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of integral
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on heat
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of derivative
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on heat
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of gpio
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on heat
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of invert
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on heat
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on device
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of cycle_time
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of delay
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of proportional
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of integral
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of derivative
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of gpio
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: Creating element of invert
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl addNewElement
INFO: on cool
Mar 29, 2015 3:19:48 PM com.sb.elsinore.LaunchControl <init>
INFO: CONFIG READ COMPLETED***********
Mar 29, 2015 3:19:48 PM com.sb.elsinore.BrewServer <init>
INFO: Launching on port 8080
Mar 29, 2015 3:19:48 PM com.sb.elsinore.BrewServer <init>
INFO: Enabled logging at level:WARNING

I'm not sure what other info to supply. Any ideas on why the manual launch works, but not the service method?

thanks in advance -
 
Doug,

This is an awesome build and I am a big fan of the support you have been getting from the community. I am playing with a raspberry pi and looking to do some brewery controls with it. I want to run 2 elements, 2 pumps, and 7 or 8 2-way valves. I only see one pwm on the rasPI how/where do you wire others so you get it to work as a PWM?

I see how I can add the valves (which are on/off) like I add pumps, but can we add logic or dependencies so if pump 1 is on then valve 3 is off unless pump 2 is also on?
another thing I have been thinking about is how to define stages in the brewday process with multiple conditions like
"preparing for mash": turn on BK element to heat strike water turn on hlt element
"mash in": open valve 1 and 2, close 3 and turn on pump 2 turn off bk element turn
"step mash": close valve 2 and 5, open valve 3, turn off pump 2 and turn on pump 1

Is it possible to define these steps with all their dependencies and then just go through the list as a single button for each step?

is that clear as mud?

Also, I am tempted to use float switches but instead of just having them not allow the heating element to get juice I would like it to alert the rasPi. Does that sound plausible in the framework you have built so far?

Thanks for your time, and let me know your thoughts.

-Timur
 
I'm not sure what other info to supply. Any ideas on why the manual launch works, but not the service method?

thanks in advance -

Want to try the elsinore.debian service script? I think some users have reported it working on ubuntu. I tried to put checks in it that would give you more information when something didn't start/stop properly.
 
Want to try the elsinore.debian service script? I think some users have reported it working on ubuntu. I tried to put checks in it that would give you more information when something didn't start/stop properly.

sure, thanks jangevaa - also, I'll answer my own question about changes to the elsinore.ubuntu script - I'll get to that tonight sometime and post the results.

Anyone else having the same problem? (service seeming to run, but not giving web-ui wherein manual launch everything is working well, including web-ui?)
 
sure, thanks jangevaa - also, I'll answer my own question about changes to the elsinore.ubuntu script - I'll get to that tonight sometime and post the results.



Anyone else having the same problem? (service seeming to run, but not giving web-ui wherein manual launch everything is working well, including web-ui?)


I also have that exact problem with the Debian Elsinore service script. Haven't been able to figure out why yet.
 
I also have that exact problem with the Debian Elsinore service script. Haven't been able to figure out why yet.

ah! I'm not the only one... okay!

Doug, I know you've launched your baby and don't necessarily want to field all the questions (completely understandable), but I'm wondering if you have any expert guidance for us in this instance, if it's quick and painless to write here.

On the aside, you mentioned you won't be monitoring this thread, so I'm wondering if there's another forum or thread in which you'll be more active and wanting/fielding questions. Please let us know. I'm a linux noob, so for setup and trouble-shooting I'm pretty-much relegated to following pat instructions, even if I don't understand what I'm doing. Playing the pity card there, yes; essentially it's difficult for me to self-answer all the questions which arise when troubleshooting an issue, given my limitations with linux.

Would love to have this thing running via the service, starting auto at boot, etc.... then again, I'm pretty happy having it run any which way. It's really great now that I know how to get the output GPIOs going, to control devices. Thanks for putting this together.
 
Something is blocking Elsinore from starting up, I have no idea what though, I can't see any exceptions. Check the output of dmesg and/or /var/log/message content to see if the OS is killing it.

I'm unable to do anything on Elsinore right now since I'm in the middle of renovations.
 
I understand that elsinore can use several ds18b20's and it averages the temperature from them to compute the duty cycle. Does anyone use more then one thermometer? Probable yes :). Are there any images that show where they were placed or does someone have some recommendations on where to place more then one?
 
huh... I haven't seen that, but then I'm just getting back into getting my controller set-up and might be behind the times... but I thought each DS18B20 sensor has its own channel in elsinore. So, no averaging, just controls individual to each sensor channel.

However, you might be able to do something creative with your hardware and the use of elsinore triggers to accomplish some kind of multi-sensor logic on a volume you want to control.
 
With all the activity that this thread gets, does anyone else think it would make sense to create a seperate (free) forum just for SB Elsinore?

Sections for hardware, software, photos, diagrams, etc. Sort of expand Doug's github site and the info that jangevaa has on his informative blog.

quick google search shows some are available for free:
http://www.forumotion.com/

-Dan
 
With all the activity that this thread gets, does anyone else think it would make sense to create a seperate (free) forum just for SB Elsinore?

Sections for hardware, software, photos, diagrams, etc. Sort of expand Doug's github site and the info that jangevaa has on his informative blog.

quick google search shows some are available for free:
http://www.forumotion.com/

-Dan

I don't think a separate website is really necessary at this point... a subreddit perhaps would be a good balance?
 
I understand that elsinore can use several ds18b20's and it averages the temperature from them to compute the duty cycle. Does anyone use more then one thermometer? Probable yes :). Are there any images that show where they were placed or does someone have some recommendations on where to place more then one?

You can put multiple probes on a vessel sure... especially since they are so cheap... but PIDs with SB elsinore are set up to each work with a single probe.
 
You can put multiple probes on a vessel sure... especially since they are so cheap... but PIDs with SB elsinore are set up to each work with a single probe.

I was reading the source just because I want to know how it works and it seems the code can handle multiple temperature devices.

In the PID loop:
Code:
while (running) {
tempList.add(fTemp.getTemp());
BigDecimal tempAvg = calcAverage();

this.calculatedDuty = calculate(tempAvg, true);
}
The code can support it. It seems interesting to maybe have a probe at the bottom and a probe at the top so the average temperature is somewhere between the two.
 
Network controlled is much cheaper (e.g. a panel with Doug's software, SB Elsinore can be built for around $4-500, the electric brewery panel costs $2-3k in many cases.

Thanks for the detailed response. Cost and comfort level with panel wiring or automation using Pi/Arduino/BB are non-issues. An ElectricBrewery knockoff can be made for <$1k (yes you won't get a shiny powder-coated panel :) ). Stability of an ElectricBrewery panel will always be higher, but the flexibility as you pointed out is much less (and requires much more work to do so). Logging / data geeking is a huge plus with software controlled. It seems like both get the job done, they just do it in slightly different ways.

The automation aspects of Elsinore are starting to make it more attractive to me, even having started down the design road of the EB panel already. Once I figure out how to make a brew space in my unfinished basement, SW controlled will likely be the route I take.
 
I was reading the source just because I want to know how it works and it seems the code can handle multiple temperature devices.

In the PID loop:
Code:
while (running) {
tempList.add(fTemp.getTemp());
BigDecimal tempAvg = calcAverage();

this.calculatedDuty = calculate(tempAvg, true);
}
The code can support it. It seems interesting to maybe have a probe at the bottom and a probe at the top so the average temperature is somewhere between the two.

I think tempList contains the 5 previous measurements from a single probe, which is then averaged for use for the PID calculation. If you know what you're doing I'm sure it wouldn't be terribly difficult for you to code something that'd allow probe-averaging. The easiest way to do this may be with OWFS... which already allows for simulated/fake devices. You could add code that perhaps simulates a device based on averaging of other devices.

But I'm not sure it's a great use of your time. For one, why not just put the probe in the middle of the vessel? And for two, the proper way to leverage multiple sensors is with a multiple input PID... which would be a very advanced feature to code, and to utilize I suspect. I don't know of any homebrewers using multiple input PIDs. It's difficult enough for most people to properly place temperature probes and tune single input PIDs.

edit: If you want to look into these sorts of PIDs more, search for MISO (multiple input single output) PIDs or MIMO (multiple input multiple output) PIDs.
 
Last edited:
Thanks for the detailed response. Cost and comfort level with panel wiring or automation using Pi/Arduino/BB are non-issues. An ElectricBrewery knockoff can be made for <$1k (yes you won't get a shiny powder-coated panel :) ). Stability of an ElectricBrewery panel will always be higher, but the flexibility as you pointed out is much less (and requires much more work to do so). Logging / data geeking is a huge plus with software controlled. It seems like both get the job done, they just do it in slightly different ways.

The automation aspects of Elsinore are starting to make it more attractive to me, even having started down the design road of the EB panel already. Once I figure out how to make a brew space in my unfinished basement, SW controlled will likely be the route I take.

If you already had an EB controlled brewery I don't think it would take much to play around with having it controlled by a SB elsinore controlled one (e.g. bypassing the hardware PIDs and purchasing a BBB or RP)... The only thing is that that EB systems utilize RTDs, typically PT100s, and SB elsinore utilizes DS18B20 temp sensors.

The cheaper option would be to start with an SB elsinore system, and if you didn't like it, swap out your BBB or RP and the DS18B20 probes for hardware PIDs and RTDs. You would lose <$100 if you changed your mind in this scenario, assuming you had no other use for the hardware you swapped out (really, you could maybe go on to use it for a fermentation chamber and/or keg fridge control). Those are my thoughts!

I'm interested in seeing some <$1000 EB style builds... I should search harder. Don't want to be misinforming on the cost comparison. It's accurate for a comparison of ready-built systems I think (hosehead vs. EB), but maybe not for DIY. In the future I plan on doing a detailed cost break down of my control panel which may help some trying to make a decision.
 
I'm interested in seeing some <$1000 EB style builds... I should search harder. Don't want to be misinforming on the cost comparison. It's accurate for a comparison of ready-built systems I think (hosehead vs. EB), but maybe not for DIY. In the future I plan on doing a detailed cost break down of my control panel which may help some trying to make a decision.

I agree, and great info. I think we can combine the best of both worlds, have the software/automation of Elsinore, combined with a physical switch or two (think big red off button, manual override for pumps etc), maybe an LCD or two for local status without having to have your phone/tablet out.

http://www.instructables.com/id/Electric-Brewery-Control-Panel-on-the-Cheap/ ~$250 for an EB-style panel. nowhere near as fancy but it does the job. of course you could add/remove/upgrade components to create anything in between.
 
Related side question: What are people using, Pi or BB? I've got a bunch of Pi's, but this would be a great excuse to pickup a BB to play with. From the install notes for each, it doesn't appear to have any large advantages/disadvantages for a normal system, just a couple settings to change.
 
I picked up a bbb just prior to the new quad-core pis coming out. My system was running on a pi and still is as I haven't had the time to figure out why I couldn't get my bbb online. My understanding is that the BBB was superior to the early versions of the pi but that the be quad-core rpis are the way to go. The BBB does have more gpio pins and ADCs so it's a bit more flexible in that respect but since SB Elsinore just uses 1wire and basic gpio, a pi is all you need.
 
With all the activity that this thread gets, does anyone else think it would make sense to create a seperate (free) forum just for SB Elsinore?

Sections for hardware, software, photos, diagrams, etc. Sort of expand Doug's github site and the info that jangevaa has on his informative blog.

quick google search shows some are available for free:
http://www.forumotion.com/

-Dan

I think a separate site might be overkill, but I've thought for awhile that it makes sense to create a separate thread for Elsinore hardware implementations vs. talking about the software itself. Even if there's not much more software development, I think the subject of "how people are using Elsinore" should have a separate thread. Just my 2 cents.
 
So:

RTDs: I want to support RTD, but I need to get a reliable method to read them, there are one wire RTD convertors which I would feel most comfortable with.

There's a sub reddit http://www.reddit.com/r/StrangeBrew/ which I tried to use a while back, I think I posted about it on here, but it wasn't picked up, I've requested control from the admins, and then I'll get some moderators setup and work on some CSS for it.

Feature requests: I would love to do more, but it's hard when I have a lot going on and I do not get *anything* (aside from experience) for working on Elsinore. Hosehead does not pay me a dime.
 
ah! I'm not the only one... okay!

Doug, I know you've launched your baby and don't necessarily want to field all the questions (completely understandable), but I'm wondering if you have any expert guidance for us in this instance, if it's quick and painless to write here.

On the aside, you mentioned you won't be monitoring this thread, so I'm wondering if there's another forum or thread in which you'll be more active and wanting/fielding questions. Please let us know. I'm a linux noob, so for setup and trouble-shooting I'm pretty-much relegated to following pat instructions, even if I don't understand what I'm doing. Playing the pity card there, yes; essentially it's difficult for me to self-answer all the questions which arise when troubleshooting an issue, given my limitations with linux.

Would love to have this thing running via the service, starting auto at boot, etc.... then again, I'm pretty happy having it run any which way. It's really great now that I know how to get the output GPIOs going, to control devices. Thanks for putting this together.

Did you figure anything out to get the elsinore.debian script running? I haven't been able to get it going on my RPi, and I'd really like to. Just can't figure out what might be wrong. The only changes I made to the supplied debian script is to change the path to 'launch.sh' and to comment out the BBB code in the start code block.

I'd love to hear if anyone else had issues and fixed it. My issues sounds the same as yours where I have no problem starting Elsinore manually, but when I start the script, it looks like it worked saying that its loading the cfg file and launching on port 8088. When I attempt to go to the controller on port 8088, it hasn't launched.
 
Thought I could make it through without help but.

Got SB running on BBB yesterday with two one wire sensors. Today I decided to add 2 more to display my fermentor temperatures. If I run the bbb_setup file they are listed by ID #, so i know they are properly connected.

Upon launching SB and viewing in my browser, all that appear are the original 2. What obvious step have I over looked or misunderstood?

My main concern is with tying the brewing process with monitoring the fermentation chamber conical temperatures. This will be a part time brewery at first and having this info in SB would alert the brewer that there is a problem that needs attention fast. Do-able?

Thanks
 
Thought I could make it through without help but.

Got SB running on BBB yesterday with two one wire sensors. Today I decided to add 2 more to display my fermentor temperatures. If I run the bbb_setup file they are listed by ID #, so i know they are properly connected.

Upon launching SB and viewing in my browser, all that appear are the original 2. What obvious step have I over looked or misunderstood?

My main concern is with tying the brewing process with monitoring the fermentation chamber conical temperatures. This will be a part time brewery at first and having this info in SB would alert the brewer that there is a problem that needs attention fast. Do-able?

Thanks

I believe if you are adding probes to an existing configuration you will need to be in "edit" view and then name/unhide the sensors for them to appear.
 
anyone else having an issue with switches saving after doing the update? everything else is running like gangbusters, but I have to re-add my pumps each time if I reboot. This was not the case prior to the update.
 
Is there something I need to do to get the Graph option to show up? I've even tried clicking on the temperature with no luck.
 
For those of you that are building your own Elsinore box's, can you post what enclosure you went with? Im looking through Amazon and Ebay trying to figure out exactly what i need without getting something that is way overkill and wasting money. The standard Kal standard 16x16x8 seems like huge overkill considering there are no PID's or switches, just a few SSR's and a RPI...

Also I look at the pictures of Doug's box post fire incident and see two SSR's, then i look at Java's and i see 4, and i look at the initial thread's Circuit and it shows 3...so that's a bit confusing

We hear alot about the software, but not many people posting about their actual builds or final product which would be a great help to the rest of us trying to get idea's! If running the BrewPi DIY thread taught me anything is that people come up with some crazy ass ways to create enclosures with connecctors that i would have never thought of.
 
I believe if you are adding probes to an existing configuration you will need to be in "edit" view and then name/unhide the sensors for them to appear.

Appreciate the response, I assumed this as well but when I click "LOCK" it will change to "EDIT" but for no more than a second or two then the screen refreshes and it's Locked again.

Can I disable the LOCK in a file to configure or do I have another issue?

Thanks,
 
Appreciate the response, I assumed this as well but when I click "LOCK" it will change to "EDIT" but for no more than a second or two then the screen refreshes and it's Locked again.



Can I disable the LOCK in a file to configure or do I have another issue?



Thanks,


Which browser are you using? I found Chrome to work better than Firefox and Safari.
 
Which browser are you using? I found Chrome to work better than Firefox and Safari.

I am using Firefox, but I have safari on an iPad so I'll give it a try.

Just tried Safari and the same refresh issue with the edit button.

I did delete the elsinore.cfg and it displayed 4 temp sensors when I re launched it in Firefox. Just Can't edit.
 
Appreciate the response, I assumed this as well but when I click "LOCK" it will change to "EDIT" but for no more than a second or two then the screen refreshes and it's Locked again.

Can I disable the LOCK in a file to configure or do I have another issue?

Thanks,

Are you running the most recent version of SB Elsinore?
 
Is there something I need to do to get the Graph option to show up? I've even tried clicking on the temperature with no luck.

Make sure you are running the latest version of SB elsinore, and that the recorder is enabled. You can enable the recorder in edit mode.
 
For those of you that are building your own Elsinore box's, can you post what enclosure you went with? Im looking through Amazon and Ebay trying to figure out exactly what i need without getting something that is way overkill and wasting money. The standard Kal standard 16x16x8 seems like huge overkill considering there are no PID's or switches, just a few SSR's and a RPI...

Also I look at the pictures of Doug's box post fire incident and see two SSR's, then i look at Java's and i see 4, and i look at the initial thread's Circuit and it shows 3...so that's a bit confusing

We hear alot about the software, but not many people posting about their actual builds or final product which would be a great help to the rest of us trying to get idea's! If running the BrewPi DIY thread taught me anything is that people come up with some crazy ass ways to create enclosures with connecctors that i would have never thought of.

I use a panel similar to those used with the electric brewery type builds. I got mine for free though.

For a fully fleshed out build I would suggest a large relay for master power, two 30A SSRs for elements (boil kettle/mash regulation), and probably a 4 or 8 channel relay (10A) module for pumps and future expansion (e.g. using the control panel to also control a fermentation chamber, or for lights or buzzers). I use a 8 port patch panel to network my beaglebone black and to connect with up to 7 temperature probes. l6-30R receptacles for element power cords, standard outlets for pumps.

While the actual electronics may not take up a lot of space, for ease of wiring and space to mount receptacles, something a bit larger is nicer. For a cheap steel enclosure try a steel cash box.
 
Make sure you are running the latest version of SB elsinore, and that the recorder is enabled. You can enable the recorder in edit mode.

Seems to be under control for the time being. Give me editing a file over a GUI. I was just concerned that the GUI issue was symptomatic of a greater problem. Deleting the elsinore.cfg seemed to address the problem.

Now the fun starts, figuring out to interface this with my as of now, eBrewery clone controller. That I just finished upgrading before deciding on the BBB approach.

Thanks for the help.

OBTW, the Elsinore software was downloaded and reinstalled last Tuesday - so it was current.
 
I messed with the init script a lot today. (I'm using rasbian) Since launch.sh doesn't really fork itself and run in the background well, the only way I could get the script to work was to remove the --background option. It doesn't let you run sudo service stop/restart or anything, but it does run at startup. With launch.sh in its current form, the start-stop-daemon does but like out with the --background option. I'm away from my notes at the moment, but I have it starting on boot and that's it. Tomorrow is brew day so I won't be messing with it. I would love to see this running as a service though.

Today was my first time in awhile with the new interface. It really works well Doug. Can't wait to run it again tomorrow!
 
Back
Top