• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

NEW StrangeBrew Elsinore Thread

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
When you have it running, run:

ls /sys/class/gpio/gpio17

And report back with what shows up.
 
pi@RPI2 /sys/class/gpio/gpiochip0/subsystem/gpiochip0 $ cd /sys/class/gpio/
pi@RPI2 /sys/class/gpio $ ls -alrth
total 0
-rwxrwx--- 1 root gpio 4.0K Dec 31 1969 unexport
lrwxrwxrwx 1 root gpio 0 Dec 31 1969 gpiochip0 -> ../../devices/virtual/gpio/gpiochip0
-rwxrwx--- 1 root gpio 4.0K Dec 31 1969 export
drwxrwx--- 2 root gpio 0 Dec 31 1969 .
drwxr-xr-x 39 root root 0 Jul 18 21:07 ..
pi@RPI2 /sys/class/gpio $




root@RPI2:/var/www/elsinore# sudo ./launch.sh
Starting Elsinore as root
Jul 21, 2014 2:56:34 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
CFG IS NULL
DOC IS NULL
Checking for 28-000004ce021c
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp <init>
INFO: Adding28-000004ce021c
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp <init>
INFO: 28-000004ce021c added.
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is: -999
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is now: -999
Checking for 28-000005f25918
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp <init>
INFO: Adding28-000005f25918
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp <init>
INFO: 28-000005f25918 added.
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is: -999
Jul 21, 2014 2:56:35 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is now: -999


No config data found as usable. Select a input and name it (i.e. "1 kettle" no quotes) or type "r" to refresh:
1) 28-000004ce021c 74.3
2) 28-000005f25918 74.6366
Please go to the Web UI to the web UI http://RPI2:8080/controller
Jul 21, 2014 2:56:37 PM com.sb.elsinore.LaunchControl <init>
INFO: Starting Status Recorder
Jul 21, 2014 2:56:37 PM com.sb.elsinore.LaunchControl <init>
INFO: CONFIG READ COMPLETED***********
Jul 21, 2014 2:56:37 PM com.sb.elsinore.BrewServer <init>
INFO: Launching on port 8080
Jul 21, 2014 2:56:37 PM com.sb.elsinore.BrewServer <init>
INFO: Debug System property: null
Jul 21, 2014 2:56:37 PM com.sb.elsinore.BrewServer <init>
INFO: Debug System property: null
Server started, kill to stop.

Jul 21, 2014 2:57:14 PM com.sb.elsinore.BrewServer editVessel
WARNING: Updated temp name hlt
Jul 21, 2014 2:57:14 PM com.sb.elsinore.BrewServer editVessel
WARNING: Updated temp name hlt
Jul 21, 2014 2:57:14 PM com.sb.elsinore.PID setAux
WARNING: Could not detect GPIO as valid:
Jul 21, 2014 2:57:14 PM com.sb.elsinore.PID setAux
WARNING: Could not detect GPIO as valid:
Jul 21, 2014 2:57:14 PM com.sb.elsinore.BrewServer editVessel
WARNING: Create PID
Jul 21, 2014 2:57:14 PM com.sb.elsinore.BrewServer editVessel
WARNING: Create PID
 
So that's telling me that it's not receiving the input from the web interface... Which browser are you using?
 
Nevermind I found the bug, I wasn't starting the PID Threads when adding one via the Web UI. All done and working now. Do a `git pull` and it'll work.
 
Fantastic work with this Doug. It was quite straightforward for me to setup after reading all of the instructions. Only minor roadblocks for me were to run the same version of java that Elsinore was compiled with and to change Elsinore's default port as it was already occupied by Apache.

Now for my questions - is the layout supposed to be how it is shown in my image (links to full size), or something rendering wrong? Also when the timers run they currently display NA's.



Thanks Doug, and great work again.

p.s. I just ended up using DS18B20's rather than the higher precision ADC + temp sensors that I mentioned in an earlier post.

edit: Also the temperature text just says temp'F, which I don't think is what is intended

edit2: I also get a lot messages in my console about finding probes and recovering temperatures - does this mean that I have a bad connection somewhere?

e.g.

SEVERE: Couldn't find the probe 28.5DA5AB050000 for Probe 1
Connecting to :4304
Trying to recover Probe 1
May 15, 2014 7:01:27 AM com.sb.elsinore.Temp updateTemp
WARNING: Recovered temperature reading for Probe 1
May 15, 2014 7:01:27 AM com.sb.elsinore.Temp updateTemp
 
still no dice... i am using Chrome... i will try FF now...

root@RPI2:/var/www/Elsinore# ./launch.sh
Starting Elsinore as root
Jul 26, 2014 1:20:25 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
CFG IS NULL
DOC IS NULL
Checking for 28-000004ce021c
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp <init>
INFO: Adding28-000004ce021c
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp <init>
INFO: 28-000004ce021c added.
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is: -999
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is now: -999
Checking for 28-000005f25918
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp <init>
INFO: Adding28-000005f25918
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp <init>
INFO: 28-000005f25918 added.
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is: -999
Jul 26, 2014 1:20:26 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is now: -999


No config data found as usable. Select a input and name it (i.e. "1 kettle" no quotes) or type "r" to refresh:
1) 28-000004ce021c 74.3
2) 28-000005f25918 74.6366
Please go to the Web UI to the web UI http://RPI2:8080/controller
Jul 26, 2014 1:20:28 PM com.sb.elsinore.LaunchControl <init>
INFO: Starting Status Recorder
Jul 26, 2014 1:20:28 PM com.sb.elsinore.LaunchControl <init>
INFO: CONFIG READ COMPLETED***********
Jul 26, 2014 1:20:28 PM com.sb.elsinore.BrewServer <init>
INFO: Launching on port 8080
Jul 26, 2014 1:20:28 PM com.sb.elsinore.BrewServer <init>
INFO: Debug System property: null
Jul 26, 2014 1:20:28 PM com.sb.elsinore.BrewServer <init>
INFO: Debug System property: null
Server started, kill to stop.

Jul 26, 2014 1:21:19 PM com.sb.elsinore.BrewServer editVessel
WARNING: Updated temp name boil
Jul 26, 2014 1:21:19 PM com.sb.elsinore.BrewServer editVessel
WARNING: Updated temp name boil
Jul 26, 2014 1:21:19 PM com.sb.elsinore.PID setAux
WARNING: Could not detect GPIO as valid:
Jul 26, 2014 1:21:19 PM com.sb.elsinore.PID setAux
WARNING: Could not detect GPIO as valid:
Jul 26, 2014 1:21:20 PM com.sb.elsinore.BrewServer editVessel
WARNING: Create PID
Jul 26, 2014 1:21:20 PM com.sb.elsinore.BrewServer editVessel
WARNING: Create PID
No definitions file found, assuming direct mapping
Jul 26, 2014 1:21:20 PM com.sb.elsinore.OutputControl run
WARNING: boil turning off outputs
Jul 26, 2014 1:21:20 PM com.sb.elsinore.OutputControl run
WARNING: boil turning off outputs
Exception in thread "Thread-13" java.lang.IndexOutOfBoundsException: No group 6
at java.util.regex.Matcher.group(Matcher.java:487)
at jGPIO.GPIO.getPinNumber(GPIO.java:146)
at com.sb.elsinore.OutputControl.run(OutputControl.java:116)
at java.lang.Thread.run(Thread.java:724)
Saving the information for boil
Creating new Element
Creating element of device
Creating on configDoc base
Using base node device with ID boil
Creating element of duty_cycle
on device
Creating element of cycle_time
on device
Creating element of set_point
on device
Creating element of proportional
on device
Creating element of integral
on device
Creating element of derivative
on device
Creating element of gpio
on device
Creating element of min
on device
Creating element of max
on device
Creating element of time
on device
Creating element of aux
on device
Creating element of general
Creating on configDoc base
 
Fantastic work with this Doug. It was quite straightforward for me to setup after reading all of the instructions. Only minor roadblocks for me were to run the same version of java that Elsinore was compiled with and to change Elsinore's default port as it was already occupied by Apache.

Now for my questions - is the layout supposed to be how it is shown in my image (links to full size), or something rendering wrong? Also when the timers run they currently display NA's.



Thanks Doug, and great work again.

p.s. I just ended up using DS18B20's rather than the higher precision ADC + temp sensors that I mentioned in an earlier post.

edit: Also the temperature text just says temp'F, which I don't think is what is intended

edit2: I also get a lot messages in my console about finding probes and recovering temperatures - does this mean that I have a bad connection somewhere?

e.g.

SEVERE: Couldn't find the probe 28.5DA5AB050000 for Probe 1
Connecting to :4304
Trying to recover Probe 1
May 15, 2014 7:01:27 AM com.sb.elsinore.Temp updateTemp
WARNING: Recovered temperature reading for Probe 1
May 15, 2014 7:01:27 AM com.sb.elsinore.Temp updateTemp

So the rendering issues are because some Javascript isn't being run, no idea why, could you check the javascript console in your browser to see what it says?

As for the OWFS, if it's continuously doing that (like every 500ms) then there's something weird with the OWFS on your system, it could be a dodgy connection, I'd recommend putting one on at a time to see if it's one causing the issue.
 
still no dice... i am using Chrome... i will try FF now...

Exception in thread "Thread-13" java.lang.IndexOutOfBoundsException: No group 6
at java.util.regex.Matcher.group(Matcher.java:487)
at jGPIO.GPIO.getPinNumber(GPIO.java:146)
at com.sb.elsinore.OutputControl.run(OutputControl.java:116)
at java.lang.Thread.run(Thread.java:724)


Fixed this, new version is pushed.
 
I've added a "check for updates" button, and when there are updates, it'll self update from git and relaunch for you.
 
So the rendering issues are because some Javascript isn't being run, no idea why, could you check the javascript console in your browser to see what it says?

As for the OWFS, if it's continuously doing that (like every 500ms) then there's something weird with the OWFS on your system, it could be a dodgy connection, I'd recommend putting one on at a time to see if it's one causing the issue.

1) Looking at web inspector in safari... I see this.

MKhD47j.png


2) One of those messages comes up every 30 seconds or so. Not necessarily a specific probe. I'm testing using a temporary set up right on my desk so I will go with dodgy connection, and report back in the unlikely case that it continues to exist once my panel is finalized.
 
That doesn't make any sense, it's not like the code is going to be any different on Safari and other browsers (in theory) do you get the rendering issues (-1 on the duty, TempF displayed) on other browsers?

Edit: What're you naming your probe to?

Edit2: Can you go to the getstatus page? i.e. for me brewery:8080/getstatus
 
Stage one of Customization has been added, you can now set a brewery name on the controller.

When you get the current version of code, you'll see a header, double clicking it will allow you to set the brewery name. The link to the Github.io will always be there though.

Edit: oh, and the mouse pointer now changes when you hover over elements you can click on or edit.
 
OK, I think I'm done for the night, fixed a bug where it'd convert the address to OWFS if it couldn't find the probe via the old way.

And the launch.sh now has help/options. Use:
launch.sh ?

To show it (you could always set ports, but I suppose people didn't run with --help so this is slightly easier, I may make it so you MUST specify the port...)
 
I just did a clean install here. Nice touch adding the brewery name customization and the mouse pointer. I have a couple new errors (would you prefer issue reporting on Github?):

I get this message on start up:

Exception in thread "Thread-5" java.lang.NullPointerException
at com.sb.elsinore.StatusRecorder.compare(StatusRecorder.java:258)
at com.sb.elsinore.StatusRecorder.isDifferent(StatusRecorder.java:205)
at com.sb.elsinore.StatusRecorder.run(StatusRecorder.java:78)
at java.lang.Thread.run(Thread.java:745)

And after specifying the GPIO definitions (e.g. java -Dgpio_definitions=extras/beaglebone.json -jar Elsinore.jar), when I go to add a pump or a GPIO for a probe I am told in terminal that:

No definitions file found, assuming direct mapping

Which doesn't work... I try to specify GPIO definitions with ./launch.sh, this happens:

root@beaglebone:~/SB_Elsinore_Server# ./launch.sh -p 8088 -g extras/beaglebone.json
Starting Elsinore as root
May 15, 2014 3:46:03 AM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:514)
at java.util.Properties.setProperty(Properties.java:161)
at java.lang.System.setProperty(System.java:787)
at com.sb.elsinore.LaunchControl.main(LaunchControl.java:254)

Lastly, the timer is still displaying NA's for me.
 
Hi Doug...

Getting out of bounds exception on a raspberry pi latest version... I even posted the issue on the Git site for you with console logs get status capture and config file.
 
I just did a clean install here. Nice touch adding the brewery name customization and the mouse pointer. I have a couple new errors (would you prefer issue reporting on Github?):

I get this message on start up:

Exception in thread "Thread-5" java.lang.NullPointerException
at com.sb.elsinore.StatusRecorder.compare(StatusRecorder.java:258)
at com.sb.elsinore.StatusRecorder.isDifferent(StatusRecorder.java:205)
at com.sb.elsinore.StatusRecorder.run(StatusRecorder.java:78)
at java.lang.Thread.run(Thread.java:745)

This I saw last night as I was going to bed and will investigate tonight

And after specifying the GPIO definitions (e.g. java -Dgpio_definitions=extras/beaglebone.json -jar Elsinore.jar), when I go to add a pump or a GPIO for a probe I am told in terminal that:

No definitions file found, assuming direct mapping

Which doesn't work... I try to specify GPIO definitions with ./launch.sh, this happens:

root@beaglebone:~/SB_Elsinore_Server# ./launch.sh -p 8088 -g extras/beaglebone.json
Starting Elsinore as root
May 15, 2014 3:46:03 AM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:514)
at java.util.Properties.setProperty(Properties.java:161)
at java.lang.System.setProperty(System.java:787)
at com.sb.elsinore.LaunchControl.main(LaunchControl.java:254)

Lastly, the timer is still displaying NA's for me.

This is a bug, I'll investigate it. But also, with the BBB you need to ensure you setup the GPIO: http://dougedey.github.io/2014/03/22/BeagleBoneBlack-Setup/

You'll need to create a custom overlay for your GPIO. extras/w1_setup.sh has a basic GPIO exported.
 
This is a bug, I'll investigate it. But also, with the BBB you need to ensure you setup the GPIO: http://dougedey.github.io/2014/03/22/BeagleBoneBlack-Setup/

You'll need to create a custom overlay for your GPIO. extras/w1_setup.sh has a basic GPIO exported.

I am currently using your precompiled .dtbo file, but will give making a custom one another shot. It was working previously (I was testing with my volt meter off the pins I assigned to 'pumps')

I was also having some problems last night with everything going read only on me (2 or 3 times, requiring reboot), after trying a couple things in the web interface. You can imagine that havoc that causes - temperatures can't log, properties can't be saved, was even having difficulty exiting SB because it wanted to save stuff, but couldn't. I couldn't exactly replicate it last night so I didn't include it in my last post. I'm guessing it's probably due to a filesystem corruption, and not something with the software, but I'll mention it incase it's something you come across yourself.
 
I am currently using your precompiled .dtbo file, but will give making a custom one another shot. It was working previously (I was testing with my volt meter off the pins I assigned to 'pumps')

You'll need to compile a new one, since the default one only exports

Yes it's a pain, but this will happen with RaspberryPi when they upgrade Kernels too, then it'll be hella painful.

I'm going to look into ways to generate the jGPIO and install it, but since removing a shim is unstable to say the least, I don't think I can do it easily

I was also having some problems last night with everything going read only on me (2 or 3 times, requiring reboot), after trying a couple things in the web interface. You can imagine that havoc that causes - temperatures can't log, properties can't be saved, was even having difficulty exiting SB because it wanted to save stuff, but couldn't. I couldn't exactly replicate it last night so I didn't include it in my last post. I'm guessing it's probably due to a filesystem corruption, and not something with the software, but I'll mention it incase it's something you come across yourself.


Odd, I'll try and catch filesystem errors better.
 
Fixes: IndexOutOfBoundsException when using GPIOX numbering, NullPointerException from the StatusRecorder on startup, NullPointerException when using the gpio definitions parameter.

Sorry about that guys, I should've been more careful, and I will be in the future.
 
Enhancement: You can now change a PID back to a temperature probe. It'll delete the settings when you save/shutdown.
 
Much better Doug still one issue on the RaspberryPi. Once the PID hits temp i get the following.

Jul 30, 2014 11:23:22 PM com.sb.elsinore.OutputControl run
WARNING: Could not control the GPIO Pin during loop. Did you start as root?
Jul 30, 2014 11:23:22 PM com.sb.elsinore.OutputControl run
WARNING: Could not control the GPIO Pin during loop. Did you start as root?
java.lang.NullPointerException
at java.math.BigDecimal.multiply(BigDecimal.java:1302)
at com.sb.elsinore.OutputControl.run(OutputControl.java:185)
at java.lang.Thread.run(Thread.java:724)
Jul 30, 2014 11:23:22 PM com.sb.elsinore.OutputControl run
WARNING: Kettle turning off outputs
Jul 30, 2014 11:23:22 PM com.sb.elsinore.OutputControl run

Then I have to shutdown and restart before i can do anything else.

Cant wait to get version 2.0 of the e-brewery running my hiatus of 5 months has been too long.
 
Fixed now, I never overshot on my setup so I didn't see this.

Basically it's trying to activate the cooling output, but I haven't fully enabled this yet.

Btw: Have you had a chance to try Hammond River Brewing yet? Guy from my homebrew club started a nano brewery (commercial) in Quispamsis
 
Yeah had his IPA when he first opened 5 months ago or so. It was not bad considering i am not a huge IPA fan.
 
Trying to figure out what to set my PID values at. I have have 5500 watt element installed in a 50 L pot. I'm doing BIAB and for an average brew heat up 40L of water.

thanks again for everything.
 
Back
Top