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.
Hi Doug, Thanks for the quick reply! I went through it again and realized that I didn't properly save the module. Works great now. Thanks for all your hard work!
 
Just pushed a new version which has a new controller interface (well, a new backend, but it looks the same). The reason is that it'll make it much easier to maintain in the long run since it's written in rendersnake and not just a bunch of strings.
 
Just pushed a new version which has a new controller interface (well, a new backend, but it looks the same). The reason is that it'll make it much easier to maintain in the long run since it's written in rendersnake and not just a bunch of strings.

For some reason, since I've updated my system only measures in increments of 10 degrees... I just did a complete reinstall of Elsinore and have the same issue.
 
For some reason, since I've updated my system only measures in increments of 10 degrees... I just did a complete reinstall of Elsinore and have the same issue.

Sorry this was because of an older commit, I've reverted it now. Do an update an it should be fine now.
 
Sorry, I normally test changes with a brew but my green bin was broken by the garbage guys and my landlord hasn't gotten it replaced yet so I'm in dire need of a brew day.

Btw, I'm still waiting on the pH meter to arrive, when it does I'll confirm the code works and enable pH meters. Though I'm thinking a "Measure pH" button would be more relevant, but it'll continuously sample so you can move it between vessels/things you want to measure and from a graph note the values you want.

It'll have a different graph where you can mouse over a point to show the data there.
 
Has the set up changed since I last checked out the software (I've been working on other aspects of my brewery the last couple weeks)? This errors now

e.g.
root@beaglebone:~/strangebrew# java -jar Elsinore.jar —port 8088 -Dgpio_definitions=extras/beaglebone.json
Nov 15, 2014 7:25:49 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Error when parsing the command line
org.apache.commons.cli.UnrecognizedOptionException: Unrecognized option: -Dgpio_definitions=extras/beaglebone.json
at org.apache.commons.cli.Parser.processOption(Parser.java:363)
at org.apache.commons.cli.Parser.parse(Parser.java:199)
at org.apache.commons.cli.Parser.parse(Parser.java:85)
at com.sb.elsinore.LaunchControl.main(LaunchControl.java:262)
 
-D options go before -jar. The launch.sh script has options that do the conversion
 
Has the set up changed since I last checked out the software (I've been working on other aspects of my brewery the last couple weeks)? This errors now

e.g.
root@beaglebone:~/strangebrew# java -jar Elsinore.jar —port 8088 -Dgpio_definitions=extras/beaglebone.json
Nov 15, 2014 7:25:49 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Error when parsing the command line
org.apache.commons.cli.UnrecognizedOptionException: Unrecognized option: -Dgpio_definitions=extras/beaglebone.json
at org.apache.commons.cli.Parser.processOption(Parser.java:363)
at org.apache.commons.cli.Parser.parse(Parser.java:199)
at org.apache.commons.cli.Parser.parse(Parser.java:85)
at com.sb.elsinore.LaunchControl.main(LaunchControl.java:262)

I've now actually fixed it so you don't need to specify the gpio_definitions (well, I'd actually badly documented it, it should've been gpio_definition anyway). But for future proofing (other systems that have use Linux Kernel 3.8+ that I am not aware of).

I updated jGPIO to support a file called extras/gpio_definitions_lookup.xml. This contains a simple XML content that tells jGPIO where to find the definitions file (from the root of where the jGPIO/Elsinore jar files are).

So for the BeagleBone Black, I am 99% certain (though it's hard to be 100% in this day and age) that lshw will show me a capability of "ti_am335x-bone". So there's a line that maps this capability to the file "extras/beaglebone.json"

jGPIO will run
Code:
lshw -c bus -xml

And parse each capability looking for something it finds, if there's nothing that it matches, it'll move on.

I've not tested on the RPi since my RPi isn't set up at the moment, but when the RPi moves to Linux Kernel 3.8 this'll be easy to add an extra line in to identify the new file.

And on that. I think I'm done for the night!
 
A huge push tonight.
A bug fix for the status recorder not enabling/disabling correctly on startup.

And the graphing library has been updated, to C3JS so you can now hover over a point on the graph and see all the value at that point.
Then on the main graph page you can now zoom by using the scroll wheel.
And it renders things nicely.
 
I use wifi, but there's probably an issue with the wifi driver and Java itself, Elsinore doesn't do anything specifically with the network (aside from serving up a port), you'll be better off looking on the RaspberryPi forums for help with the lockup. I had a RTL8188CU based card that caused me massive network issues (I changed it and it's been fine ever since)

Hey Doug - I've just got my parts in for this (using the latest RPi A+) and can't wait to install it into my control panel!! Unfortunately I have a RTL8188CU based usb wifi dongle. What chipset did you change your wifi card too? as I don't want to experience the same issues...

Cheers!
 
Last edited:
Doug

Got a few questions.

Is Elsinore able to run on the new RPi A+ or B+? Was wanting a separate controller for my fermenters.

How do i update new versions without reflashing my SD card if there is a way?
I dont have a huge repertoire when it comes to the programming.

Hows the PH monitoring going and what probe can be used with this function.

Thanks a Ton. Cant wait to have everything up and running.

Chris
 
Hey DougEdey - I've just got my parts in for this (using the latest RPi A+) and can't wait to install it into my control panel!! Unfortunately I have a RTL8188CU based usb wifi dongle. What chipset did you change your wifi card too? as I don't want to experience the same issues...

Cheers!

I have an realtek based 8188EU chipset now, but I think I had a faulty USB dongle previously since it overheated a LOT.
 
Is Elsinore able to run on the new RPi A+ or B+?

I am not aware of any reason why it wouldn't.

How do i update new versions without reflashing my SD card if there is a way?
I dont have a huge repertoire when it comes to the programming.

Edit Mode -> Check for Updates -> Update

Hows the PH monitoring going and what probe can be used with this function.

I'm still waiting on a probe to arrive then I'll document it.

Thanks a Ton. Cant wait to have everything up and running.

Chris

Not a problem.
 
The raspberry pi version b+ should be identical as far as the software and interfacing goes. The b+ has 40 gpio pins vice the 26 off the b model but the first 26 pins are backwards compatible.
 
So i was able to set up my DS18b20 probe and can read it manually via the command line, but i cannot get the Elsinore software to run properly. here is what my web interface looks like in Chrome and IE and the code that i see on the RasbPi.

root@raspberrypi:/home/pi# cd ¬/BrewServer
root@raspberrypi:/home/pi/¬/BrewServer# sudo java -jar Elsinore.jar
Nov 21, 2014 11:21:06 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
CFG IS NULL
Enabling the recorder
Checking section pumps
Checking section general
Checking for 28-0000065c21ea
Nov 21, 2014 11:21:08 PM com.sb.elsinore.Temp <init>
INFO: Adding28-0000065c21ea
Nov 21, 2014 11:21:08 PM com.sb.elsinore.Temp <init>
INFO: 28-0000065c21ea added.
Nov 21, 2014 11:21:08 PM com.sb.elsinore.Temp setScale
WARNING: Cut off is: -999
Nov 21, 2014 11:21:08 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-0000065c21ea 70.475
Please go to the Web UI to the web UI http://raspberrypi:8080/controller
Nov 21, 2014 11:21:10 PM com.sb.elsinore.LaunchControl <init>
INFO: Starting Status Recorder
Nov 21, 2014 11:21:10 PM com.sb.elsinore.LaunchControl <init>
INFO: CONFIG READ COMPLETED***********
Nov 21, 2014 11:21:10 PM com.sb.elsinore.BrewServer <init>
INFO: Launching on port 8080
Nov 21, 2014 11:21:10 PM com.sb.elsinore.BrewServer <init>
INFO: Enabled logging at level:WARNING
Language: en_GB
Server started, kill to stop.

Warning: NLS unused message: CHANGE_SCALE in: com.sb.elsinore.nls.messages
Warning: NLS unused message: DUTY in: com.sb.elsinore.nls.messages
Warning: NLS unused message: CALIBRATION in: com.sb.elsinore.nls.messages
Warning: NLS unused message: HIDE in: com.sb.elsinore.nls.messages
Warning: NLS unused message: SHOW in: com.sb.elsinore.nls.messages
Unidentified URL: /templates/static/moment.js
Unidentified URL: /templates/static/jquery.fs.stepper.js
Unidentified URL: /templates/static/bootstrap-3.0.0/css/bootstrap.min.css
Unidentified URL: /templates/static/elsinore.css
Unidentified URL: /templates/static/css/c3.css
Unidentified URL: /templates/static/jquery.js
Unidentified URL: /templates/static/segment-display.js
Unidentified URL: /templates/static/pidFunctions.js
Unidentified URL: /templates/static/bootstrap-3.0.0/js/bootstrap.min.js
Unidentified URL: /templates/static/tinytimer.min.js
Unidentified URL: /templates/static/justgage.js
Unidentified URL: /templates/static/raphael.js
Unidentified URL: /templates/static/file/jquery.ui.widget.js
Unidentified URL: /templates/static/file/jquery.iframe-transport.js
Unidentified URL: /templates/static/js/c3.js
Unidentified URL: /templates/static/file/jquery.fileupload.js
Unidentified URL: /templates/static/js/d3.js
Unidentified URL: /templates/static/jquery.i18n.properties.js
^A^CProbe: 28-0000065c21ea is not setup, not saving
Probe: 28-0000065c21ea is not setup, not saving

thanks,

SBE_ss.jpg
 
This is now added to the "Edit" mode of the web UI, double clicking the "Change Scale" when you're in edit mode, will switch from F to C or C to F, and save it.



This is added to launch.sh, using "-i" will invert the outputs.

Just run:

git pull

To update.

Does this invert all of the pins or can you invert only selected pins? I plan to use the SainSmart relay to run my pumps, and SSRs to run the elements and would only want to invert the GPIOs for the pump relays.

Thanks! Loving this software and how easy it is to set up!!

Keep up the great work!!
 
Does this invert all of the pins or can you invert only selected pins? I plan to use the SainSmart relay to run my pumps, and SSRs to run the elements and would only want to invert the GPIOs for the pump relays.

It currently inverts all the outputs at once. I'll be adding a tickbox to invert individual outputs this weekend, I'm working on BrewShop at the moment to add in BeerXML support (and reading in files)
 
It currently inverts all the outputs at once. I'll be adding a tickbox to invert individual outputs this weekend, I'm working on BrewShop at the moment to add in BeerXML support (and reading in files)


Nice. Do you have a place for donations or anything like that?

May I ask hat is BrewShop?

Thanks again.
 
Hi Doug...got it up and running on the Rpi A+ but encountered this error when I tried to set up the PID. When I hit send it locked up... any idea?

pi@elsinorepi ~/BrewServer $ sudo java -jar Elsinore.jar*
Nov 22, 2014 5:40:47 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
CFG IS NULL
Checking section pumps
Checking section general
Checking section device
Nov 22, 2014 5:40:50 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing XML Device: HLT
Not enough volume data points, 0 found
Nov 22, 2014 5:40:50 PM com.sb.elsinore.LaunchControl startDevice
INFO: No Probe specified for HLT
Couldn't execute lshw to identify board
java.io.IOException: Cannot run program "lshw": error=2, No such file or directory
*** at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
*** at java.lang.Runtime.exec(Runtime.java:617)
*** at java.lang.Runtime.exec(Runtime.java:450)
*** at java.lang.Runtime.exec(Runtime.java:347)
*** at jGPIO.DTO.autoDetectSystemFile(DTO.java:158)
*** at jGPIO.DTO.findDetails(DTO.java:327)
*** at jGPIO.GPIO.getPinNumber(GPIO.java:136)
*** at com.sb.elsinore.LaunchControl.parseDevice(LaunchControl.java:2547)
*** at com.sb.elsinore.LaunchControl.parseXMLSections(LaunchControl.java:2323)
*** at com.sb.elsinore.LaunchControl.readConfig(LaunchControl.java:788)
*** at com.sb.elsinore.LaunchControl.(LaunchControl.java:460)
*** at com.sb.elsinore.LaunchControl.main(LaunchControl.java:353)
Caused by: java.io.IOException: error=2, No such file or directory
*** at java.lang.UNIXProcess.forkAndExec(Native Method)
*** at java.lang.UNIXProcess.(UNIXProcess.java:135)
*** at java.lang.ProcessImpl.start(ProcessImpl.java:130)
*** at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
*** ... 11 more
No definitions file found, assuming direct mapping
Exception in thread "main" java.lang.NullPointerException
*** at com.sb.elsinore.LaunchControl.parseDevice(LaunchControl.java:2548)
*** at com.sb.elsinore.LaunchControl.parseXMLSections(LaunchControl.java:2323)
*** at com.sb.elsinore.LaunchControl.readConfig(LaunchControl.java:788)
*** at com.sb.elsinore.LaunchControl.(LaunchControl.java:460)
*** at com.sb.elsinore.LaunchControl.main(LaunchControl.java:353)
 
INFO: No Probe specified for HLT
Couldn't execute lshw to identify board
java.io.IOException: Cannot run program "lshw": error=2, No such file or directory
You need to install lshw I'll update the documentation to list this as a dependancy
 
Thanks Doug fixed!

Now the next issue I'm seeing is that the gpio isn't firing. I've set it up as GPIO27 in edit mode, switched to lock, set it to manual and...nothing. Rechecked the gpio pin on the rpi and its correct. Pulled out the voltage meter and double checked the pins on the pi itself and still nothing. Even changed the gpio to 10 but no difference. Auto and hysteresis produce the same result. I'm so close!!

Any ideas?
 
That doesn't make any sense... which JDK are you using? run: java --version

the regexp that is matching GPIO27 there is matching it as GPIO<x>_<y>

There's no _ in GPIO27 so yeah...
 
Yeah it's confusing me too...thanks for your patience Doug, appreciated :)

Just to clarify...I'm insterting "GPIO27" into the 'Heat GPIO' box as that's the only format it will accept, inserting "GPIO_27" gives the error: "Invalid GPIO pin. Please use GPIO<x> or GPIO<bank>_<offset>"

Here's my java version output:

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode)

If I need to install a different version of java or if I need to try something else please let me know...Cheers!
 
So that message is actually printed from redundant code that validates the GPIO. I've fixed it so it's actually corrected.

When Elsinore is running can you run: ls /sys/class/gpio/

If gpio27 is there, then Elsinore has exported it OK.

cat /sys/class/gpio/gpio27/direction

First, make sure you have no 240v/mains power connected.
When you're running, put it in manual mode and set it to 100%, with a 10s duty cycle.

cat /sys/class/gpio/gpio27/value
 
Thanks Doug. Okay here's what I've got while Elsinore is running:

pi@elsinorepi ~ $ ls /sys/class/gpio/
export gpio27 gpiochip0 unexport

pi@elsinorepi ~ $ cat /sys/class/gpio/gpio27/direction
out

And with said duty cycle set and activated:

pi@elsinorepi ~ $ cat /sys/class/gpio/gpio27/value
0
 
You are hitting the send button once you've selected the mode and set the new values right?
 
Yes I hit send...anything else I should try? A different browser maybe? I'm running firefox v28.0 on linuxmint
 
Back
Top