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.
It is a Honeywell standing pilot valve which takes 24v ac. I have a 3 way switch M-O-A that does what you think it does and when in Auto setting it has the Auber 2362 PID which is set to manual. So it just turns on when it gets below the set point and turn off when it gets to the set point based on the hysteresis band. It uses an internal relay to send voltage to the valve when it needs to fire.

If this is beyond the scope of your project let me know.
 
Ah I see, so that wouldn't be too hard to implement as a separate mode, I'll look into it this week.
 
Everything has been merged into master, and thanks to a lot of basework being done by a contributor (no idea what their handle is on here, but you can look at the git pull requests to see if you know them), graphs are now enabled in the controller UI.

Clicking on a temperature gauge will pop open a new window with the Duty/Temperature history for the output/input.

Of course, this works on phones as well.

Hysteria mode is enabled in the backend, I just need to add a button for it on the Web interface.
 
Hysteria mode is enabled in the hysteria branch run

Code:
git fetch
git checkout hysteria

Then launch Elsinore, there'll be a new button for hysteria mode.

The only thing I haven't tested yet is the minimum time and the off value, but it should be fine based on the logic (unless there's something unbelievably stupid I've missed).

I also am aware that the Duty % bar doesn't show up in Chrome, I have no idea why, there's a bug on the desktop version of Chrome.
 
Weeee, I worked around the Rendering bug in chrome, it's not in the main branch yet, I'll pull it over tomorrow or whenever I get round to testing the Hysteria changes properly.

Also: Coming soon, SCR control-ability... For y'know... Distillation...
 
URGENT! If you've updated since last Friday, please update again! There was a bug that left the outputs inverted 100% of the time.
 
I'm very interested in this software, and and would like to use it with my PT100's rather than digital sensors. I plan to use an ADC (ADS1248 by Texas Instruments) to sample from these sensors at a higher resolutions than BBB's onboard ADC - and should be able to get voltages which can be converted to temperatures using this (voltages communicated to the BBB over SPI, i.e. http://donfuge.wordpress.com/2014/05/04/getting-started-with-the-ads1248-on-the-beaglebone-black/ ).

How difficult would it be to implement a SPI device for the various temperatures?
 
Whilst I don't think it'd be too hard to implement, I don't have any SPI devices, nor the ADS1248 or any PT100 sensors.

if you want to send me a setup I can work on adding it in, but I'm not about to go purchase it directly.
 
Whilst I don't think it'd be too hard to implement, I don't have any SPI devices, nor the ADS1248 or any PT100 sensors.

if you want to send me a setup I can work on adding it in, but I'm not about to go purchase it directly.

I do have programming experience - not with java - but given a suggestion on where to start with the elsinore code I think I could figure it out.
 
I do have programming experience - not with java - but given a suggestion on where to start with the elsinore code I think I could figure it out.

The code is fairly easy to follow, you'll want to look at Temp.java for temperature readings.
 
Love the software... wish i could get it working. i see my probes and i like how it stores the data also. when i use GPIO_17 it will not accept it. i have also tried GPIO17 might have to try another pin.
 
Love the software... wish i could get it working. i see my probes and i like how it stores the data also. when i use GPIO_17 it will not accept it. i have also tried GPIO17 might have to try another pin.

That doesn't make much sense, when you say it's not accepted, do you get an error message? Or does it just not show up when it refreshes?

Are there any error messages on the server?
 
RPI B model

when i put in GPIO_17 it errors out. if i put in GPIO17 it takes it but i never see the SSR turn on when i adjust the cycle or temp. i have also tried GPIO 24

Thanks again
 
Which error does it show? Is it in the browser or in the server console?
 
RPI B model

when i put in GPIO_17 it errors out. if i put in GPIO17 it takes it but i never see the SSR turn on when i adjust the cycle or temp. i have also tried GPIO 24

Thanks again

Mine won't except the GPIO_X format either, just GPIOX (Raspi Rev B). Even after acceptance it does not trip relay nor does the gauge indicate a power level. If I manually override, the gauge indicates but the relay still does not trip so I know the web gauge is working but the GPIO does not seem to be. I will try some further testing with a multimeter to see if there is any output change on the GPIO pin.
 
I pushed a new change last night which should allow the GPIO_X numbering, unfortunately I can't test it on my system because I'm trying to start afresh and it's giving me a lot of grief.
 
i am not seeing any errors on the server. but when i set it to GPIO_17 the web page kicks back an error saying is should be GPIOX. If i set it to either of those the SSR never kicks on. I want to run through all the pins just incase i am not numbering it right.

I am using GPIO 4 and the 3v pins for my 1wire


i have to say it again... i love the graphing on this thing!

Thanks again
Peter
 
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.
 
Back
Top