StrangeBrew Elsinore - Raspberry Pi based brewery controller

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.
OK, but I need to work out what went wrong in the translation...

This is what I'm getting on startup:


INFO: Parsing XML Device: herms
Not enough volume data points, 0 found
Jan 22, 2014 5:59:50 PM com.sb.elsinore.Temp <init>
INFO: Adding28-000002aaceb1
Jan 22, 2014 5:59:50 PM com.sb.elsinore.Temp <init>
INFO: Using OWFS for 28.000002aaceb1/temperature
Jan 22, 2014 5:59:50 PM com.sb.elsinore.Temp <init>
SEVERE: This is not a temperature probe 28.000002aaceb1
Jan 22, 2014 5:59:50 PM com.sb.elsinore.Temp <init>
INFO: 28.000002aaceb1 added.
Jan 22, 2014 5:59:50 PM com.sb.elsinore.LaunchControl startDevice
INFO: Adding herms GPIO is (GPIO10)
Jan 22, 2014 5:59:50 PM com.sb.elsinore.LaunchControl startDevice
INFO: Adding PID with GPIO: GPIO10
Jan 22, 2014 5:59:50 PM com.sb.elsinore.Temp updateTempFromOWFS
SEVERE: Couldn't find the probe 28.000002aaceb1 for herms
Jan 22, 2014 5:59:50 PM com.sb.elsinore.PID detectGPIO
INFO: Matches: 3
Jan 22, 2014 5:59:50 PM com.sb.elsinore.PID detectGPIO
INFO: Matched GPIO pinout for Beagleboard: GPIO10. OS: null
 
OK, fixed some bad logic for reading the OWFS configuration from the XML and saving it.

Try pulling and re-running, you will need to delete the existing XML version of the config file or edit out the owfs lines

<owfs_server>localhost</owfs_server>
<owfs_port>4304</owfs_port>
 
Please keep your original configuration files or be prepared to run the setup again, I'm moving to a XML Schema later this week which requires a couple of changes (primarily to the Timers sections)
 
I've moved the XML Changes to a custom branch so when I'm ready fore them to be tested more widely it won't affect everyone until it's completely tested.
 
I've moved the XML Changes to a custom branch so when I'm ready fore them to be tested more widely it won't affect everyone until it's completely tested.

OK kept my org config and updated with Git pull and all seems back to normal. How can I test with the custom branch XML.
 
I'll put up instructions when I've performed more indepth testing.

There's a but that it can't create the config in the XML mode yet
 
I fixed a lot of stuff tonight, if you want to TEST the XML branch, you need to do the following

Code:
git pull
git checkout xml_branch

I will have to state the following:

1) I have not tested the creation of a new config file (my controller is currently in my living room because I'm trying to get my touchscreen working with the BBB)
2) As a result of (1), if you see an error please try to help me out, either raise a bug on github or post here with as much information as you can, logs, error messages, config files, etc... If you don't give me as much information as possible, I'll be frustrated trying to fix it!
 
1) I have not tested the creation of a new config file (my controller is currently in my living room because I'm trying to get my touchscreen working with the BBB)
2) As a result of (1), if you see an error please try to help me out, either raise a bug on github or post here with as much information as you can, logs, error messages, config files, etc... If you don't give me as much information as possible, I'll be frustrated trying to fix it!

I'll give it some testing today Doug. I'll post back what I find out.

Thanks brewer44
 
Doug, I switched branches and tried to do a git pull but got this:

2014-01-25_0715.png
 
I think I got the xml_branch to pull with the line of:

git branch --set-upstream xml_branch origin/xml_branch
Branch xml_branch set up to track remote branch xml_branch from origin.
root@raspberrypi:/usr/local/src/SB_Elsinore_Server# git pull
Updating 8f9f189..6bfc2cf
Fast-forward
Elsinore.jar | Bin 2371845 -> 2378795 bytes
README.md | 2 +
pom.xml | 1 +
src/com/sb/elsinore/LaunchControl.java | 1296 ++++++++++++++++++++++++--------
src/com/sb/elsinore/PID.java | 10 +-
src/com/sb/elsinore/Temp.java | 12 +-
6 files changed, 991 insertions(+), 330 deletions(-)

Then started the server and it wanted to start the config over so I did and got this when naming my kettle.

2014-01-25_0804.png
 
Yup, that is all fixed now, sorry I didn't post earlier because I spent the day fixing and updating that branch significantly.

Run another pull and you should be fine to go. I tested it today both from new and old configurations/

You can now add timers during setup (timer <name>) and the system temperature during setup (add <system/> under the <general> section).

The readme has been updated to reflect everything.

I'm going to record a runthrough on youtube for setting up everything, and then everyone can hear my horrific voice.
 
Doug, I changed to the xml branch and did the git pull and everything pulled. I ran the server and it started the setup but after I setup the first probe with the Kettle it exited the setup and didn't allow me to proceed to the next probe.

2014-01-26_0953.png
 
Doug, I did setup the owfs and I have a mount point /mnt/1wire The probes are there but server can't read the 28.000***/temperature

I'll do another pull and test.

OWFS probes are in the format 28.*0000, and it uses capitals for the letters.

Normal one wire uses a different format.

If you have the OWFS Http Server setup you should be able to visit it (ip:2121 by default) and view the probes.

Then check what server it uses (top left of the screen)

owfshttp.png
 
This is what I'm getting with my OWFS on port 2121

If you setup with OWFS on (by pressing "y" when prompted) there's no way you got those address in your output. If you edited the configuration file to enable OWFS then the address it's looking for are wrong.
 
If you setup with OWFS on (by pressing "y" when prompted) there's no way you got those address in your output. If you edited the configuration file to enable OWFS then the address it's looking for are wrong.

I see now that the Address for the OWFS are different them the old 1wire with the 28-XXXX then the 28.XXXX

So I will change the addresses in the config file to match the addresses on the OWFS directory.
 
I think I'm going to try not using the owfs for now. Do I just remove it from the general section of the config and change the probe addresses back to the w1

2014-01-26_1637.png
 
Doug, I ran the server with the --config switch and everything worked the first time, but when I stopped the server and it rewrote the config to XML it removed my Pumps. I took out the owfs in the general section too.
 
The code will now automatically convert the address from OWFS to W1 and W1 to OWFS where appropriate.

And I've just pushed the fix for the concurrentmodificationexception,
 
Doug, I changed my naming of the pumps so they didn't have 2 words. I changed "HERM Pump" to pump1 and "MLT Pump" to pump2 and it saved the config to xml.
 
Doug, I changed my naming of the pumps so they did have 2 words. I changed HERM Pump to pump1 and MLT Pump to pump2 and it saved the config to xml.

I've modified the code to handle spaces in the pump names. If you set the node name to

<MLT_Pump>GPIOX</MLT_Pump>

With underscores instead of spaces, you'll be fine. It'll convert the spaces and underscores automatically, it's just not handled by the Setup code at this point.
 
I've modified the code to handle spaces in the pump names. If you set the node name to

<MLT_Pump>GPIOX</MLT_Pump>

With underscores instead of spaces, you'll be fine. It'll convert the spaces and underscores automatically, it's just not handled by the Setup code at this point.

OK, Now I changed the one pump to MLT_Pump and left the other alone, but get 4 pumps on the webpage:

2014-01-26_2040.png
 
The duplicate pumps are now fixed. I've fixed some bugs in the Timer code so hopefully it'll fix your issue, but the box will go gray for a second or two whilst it waits for the server to respond.

See if there's any error messages from Elsinore on the server if it happens again.
 
Doug, Do you know why I keep getting these errors when shutdown the server:

Yes, it's because some of the threads aren't responding to the interrupt until after some code has run which turns off the controls.

I've pushed a new change which should fix it, but it's a race condition which makes it a bit painful to reliably recreate
 
This is what happens when I start the timers and refresh the web browser. They still are grayed out. Sometimes the bottom timer will work, but then this happens. I did not get any errors on the server.

2014-01-26_2216.jpg
 
This is what happens when I start the timers and refresh the web browser. They still are grayed out. Sometimes the bottom timer will work, but then this happens. I did not get any errors on the server.
Check the browser JavaScript console, that looks like the JavaScript is not running
 
Tried again to recreate, no luck. The "12 4" on the dials means it's either not getting the status (but still getting the HTML) or there's some bad JSON or Javascript running causing the issue.

If you can get it to happen again, can you copy and paste the output of the

<ip>:<port>/getstatus

Page?
 
Tried again to recreate, no luck. The "12 4" on the dials means it's either not getting the status (but still getting the HTML) or there's some bad JSON or Javascript running causing the issue.

If you can get it to happen again, can you copy and paste the output of the

<ip>:<port>/getstatus

Page?

{"brewday":{"mash":{"start":"2014-01-28 09:37:18 -0500","end":"2014-01-28 09:37:17 -0500"}},"HERMS":{"elapsed":1390919852300,"scale":"F","cycle":0.0,"d":0.0,"duty":100.0,"status":"off","p":40.0,"temp":66.0866,"gpio":"GPIO10","setpoint":175.0,"mode":"off","i":0.0},"Kettle":{"elapsed":1390919852218,"scale":"F","temp":65.86160000000001},"pumps":{"MLT pump":false,"HERMS pump":false},"MLT":{"elapsed":1390919850505,"scale":"F","cycle":0.0,"d":0.0,"duty":100.0,"status":"off","p":40.0,"temp":66.0866,"gpio":"GPIO11","setpoint":175.0,"mode":"off","i":0.0},"Fermentation Temp Outside":{"elapsed":1390919852111,"scale":"F","temp":65.41159999999999},"Fermentation Water Temp":{"elapsed":1390919851915,"scale":"F","temp":66.98660000000001}}


I reset the MASH timer and the temps all come back. Timer still grayed out. Here is the GetStatus after reset:

{"brewday":{"mash":{},"boil":{}},"HERMS":{"elapsed":1390920002845,"scale":"F","cycle":0.0,"d":0.0,"duty":100.0,"status":"off","p":40.0,"temp":66.2,"gpio":"GPIO10","setpoint":175.0,"mode":"off","i":0.0},"Kettle":{"elapsed":1390920001906,"scale":"F","temp":65.86160000000001},"pumps":{"MLT pump":false,"HERMS pump":false},"MLT":{"elapsed":1390920002671,"scale":"F","cycle":0.0,"d":0.0,"duty":100.0,"status":"off","p":40.0,"temp":66.0866,"gpio":"GPIO11","setpoint":175.0,"mode":"off","i":0.0},"Fermentation Temp Outside":{"elapsed":1390920002818,"scale":"F","temp":65.30000000000001},"Fermentation Water Temp":{"elapsed":1390920001662,"scale":"F","temp":67.1}}

2014-01-28_0944.png
 
Can you confirm that you've got the current version of the pidFunctions.js file.

The important bit is on lines 19-23 where it checks the brewday information.

https://github.com/DougEdey/SB_Elsinore_Server/blob/xml_branch/templates/static/pidFunctions.js

Also, in chrome or firefox, please check the javascript console (in chrome it's under the menu -> Tools -> Javascript console) for any errors.

Here is what I get for Javascript:

XMLHttpRequest cannot load http://54.225.157.207/api/ping?form...ntroller&v=1&jsonp=vglnk_jsonp_13909288645915. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.0.63:3131' is therefore not allowed access. controller:1
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
 
So you appear to have an odd setup, I'm not sure where the 54.225.157.207 IP is coming from, not do I know what that API/ping is for.
 
So you appear to have an odd setup, I'm not sure where the 54.225.157.207 IP is coming from, not do I know what that API/ping is for.

Ok, I cleared out my cache and reset the browsers. I just get this now.

event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
 
Back
Top