Raspberry Pi StrangeBrew Elsinore Basic Setup

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.

cank

Supporting Member
HBT Supporter
Joined
Nov 17, 2012
Messages
523
Reaction score
36
Location
Jonesboro
Raspberry Pi StrangeBrew Elsinore Basic Setup

I'm no expert but I got this working for the most part. I have not tried to brew with it yet but I know others have. Here is how I set it up for the Raspberry Pi:

Download and install latest NOOBS

http://www.raspberrypi.org/downloads
*EDIT* Install Raspbian Operating system and set it up based on your location.

Set up your DS18 probes

https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/temperature/

Then run this code in the LXTerminal to automatically load the One-Wire modules on start up

Open /etc/modules to edit
Code:
sudo nano /etc/modules

Add these lines to the bottom of the file /etc/modules
Code:
w1-gpio
w1-therm

Then reboot
Code:
sudo reboot

Download the SB_Elsinore_Server from git
Code:
git clone https://github.com/DougEdey/SB_Elsinore_Server.git ~/BrewServer

Switch directories
Code:
cd ~/BrewServer

Run Elsinore
Code:
sudo java -jar Elsinore.jar

It will run some lines of code then show a list of your sensors and ask you to:
Code:
Select the input, enter "r" to refresh, or use "pump <name> <gpio>" to add a pump
Type "volume" to start volume calibration
Type "timer <name>" to add a timer
**EDIT** If you get an error at this point saying it can't see your sensor check out this post.

It might ask you about switching to OWFS. Say No.

**EDIT** See this post to make sure you use the correct GPIO pins for output and you don't choose one that is in the default HIGH state when the Pi boots up!!!

At this point enter the number of the sensor you want to set up and hit enter. (I only had one so I entered "1" and hit enter.
It will ask you to name it. (I named mine "HLT")
Then it ask you what GPIO output the SSR is hooked up to so it knows which pin to turn on and off based on the Temperature reading or your sensor.
I used "GPIO27" which is pin 13
If you just want a temperature reading, say for mash tun or cooled wort, leave it blank and hit enter.
I then typed
Code:
timer Mash
timer Boil
pump Pump1 GPIO22

type:
Code:
quit

It will tell you:
Code:
Updating config file, please check it in elsinore.cfg.new
Config file updated. Please copy it from [COLOR="Red"]rpibrew.cfg.new to rpibrew.cfg[/COLOR] to use the data
You may need to do this as root
Saving HLT with probe 28-00000XXXXXX
Creating element of general
Creating on configDoc base

Highlighted part is old. It should have created a file called "elsinore.cfg.new" and another version called "elsinore.cfg". If it didn't create this last file, type this:
Code:
cp elsinore.cfg.new elsinore.cfg
*EDIT* Doug has fixed the naming issue.

Then run:
Code:
sudo java -jar Elsinore.jar

and in a web browser go to the Raspberri Pi IP address
192.168.1.XX:8080/controller

Stops the application
Code:
Ctrl-C


The last photo is of a breadboard that I have leds hooked to my gpio output pins for the pump(green led) and the HLT ssr(white led) when I turn the pump on the green light comes on, when I send a command for the HLT it turns the white led on based on duty cycle.
Pretty sweet!!!

Hope this helps some people and takes some of the pressure of Doug.

Not sure if I can help any more than this, but if you have trouble, I can try.

When I get a control panel built I will post some pics...

ElsinoreSetup1.jpg


ElsinoreSetup2.jpg


Elsinore3.jpg


IMG_4392[1].jpg
 
Do you run raspbian out of the noobs choices?


Yes. Follow the Raspberry Pi guides to get it set up for your keyboard, HDMI, expand file partition to fill entire sd card, location and all that jazz. I think on the RaspberryPints setup page they walk you through some of this.

Oh btw, I have this working along with Raspberry Pints too on the same sd card and have not had any conflicts yet.
 
I have a pi I messed with for Plex streaming stuff. Do you have an equipment list to get it setup for temp reading / pump / heat toggles? I guess basically what else do I need beyond the pi? I have a basic SSR/PID controller I use for E-BIAB but I like the automation idea of this.
 
Hello friends,

I followed your instructions here but my rasp keeps saying me: Could not find any one wire devices, please check you have the correct modules setup. I don't know what im doing wrong, cause i went to /etc/modules, put those two files at the end, reboot, and simply doesn't recognise my ds18. Strange, because when i do the tutorial indicated (Camb. Uni), works great, but when I back to cd &#732;/BrewServer, and do sudo java etc., simply says that it can't recognise my ds18. Can someone help me here? By the way, I'm really new with this, so sorry for my "unknowledge" about everything, rasp related. :) and thanks in advance for any ideas!

Edit: I've just seen a message saying: "java.net.ConnectException: Connection refused", could be here the problem?
 
I have a pi I messed with for Plex streaming stuff. Do you have an equipment list to get it setup for temp reading / pump / heat toggles? I guess basically what else do I need beyond the pi? I have a basic SSR/PID controller I use for E-BIAB but I like the automation idea of this.

I think just SSR and DS18 temperature sensors. You need a resistor for the DS18 Sensors, but as far as switches, the Pi can serve that function. Maybe some opto-isolated relays. I have a couple 4 channel relays that I plan to use for pumps and valves. I'll have to do some research to see if they could handle the elements tho.

Here is another sight that I've been watching but he hasn't updated in a while. He has a parts list. :D
 
Hello friends,

I followed your instructions here but my rasp keeps saying me: Could not find any one wire devices, please check you have the correct modules setup. I don't know what im doing wrong, cause i went to /etc/modules, put those two files at the end, reboot, and simply doesn't recognise my ds18. Strange, because when i do the tutorial indicated (Camb. Uni), works great, but when I back to cd &#732;/BrewServer, and do sudo java etc., simply says that it can't recognise my ds18. Can someone help me here? By the way, I'm really new with this, so sorry for my "unknowledge" about everything, rasp related. :) and thanks in advance for any ideas!

Edit: I've just seen a message saying: "java.net.ConnectException: Connection refused", could be here the problem?

I Don't think its java. for some reason BrewServer is not seeing your sensor.

I had trouble with this too and couldn't figure out why.

write down your DS18 sensor id.
Code:
cd /sys/bus/w1/devices/
ls
change back to BrewServer Folder:
Code:
cd ~BrewServer
Then create a new config file: I don't know if you have to be sudo user or not?
Code:
sudo nano
and copy the example config file from the github README:
Code:
[general]
scale = F
#cosm = COSM API KEY
#cosm_feed = YOUR COSM FEED

[kettle]
set_point = 168.0
duty_cycle = 100.0
cycle_time = 2.0
k_param = 41.0
i_param = 169.0
d_param = 4.0
probe = 28-0000032c449f
gpio = GPIO2_1


[mlt]
set_point = 0.0
duty_cycle = 0.0
cycle_time = 2.0
k_param = 44.0
i_param = 165.0
d_param = 4.0
probe = 28-0000032c506e
gpio = 

[pumps]
pump_a = GPIO0_8
pump_foo = GPIO0_9

change the DS18 ID number and which GPIO pin you want it to control. Delete things you don't need.

Ctrl-o to write out and name it elsinore.cfg

Then try running it again:
Code:
sudo java -jar Elsinore.jar
 
Thank you very much, Cank, i've done as you said and worked great! I was able to access my ds18, to configure it as explained on this tutorial. But, now i'm having problems accessing the web interface. I used sudo ifconfig to check my IP, but when i use the number that was provided, the page doesn't load. Could you help me here too? Maybe I'm not doing some procedure correctly. Let's see, I did sudo java, then simply minimize the LXterm and opened a web (midori) and tried access. I didn't feel confident I was doing right here. Didn't understand the use of Control+C too, I mean, after or before open the web page?. Sorry for my shallow domain on this... and thank you again for any ideas!
 
No problem. I'm learning as I go too.
Control-c stops the program that's running. In this case, the BrewServer. Not sure if that works for all Linux programs or python?

As far as the web... Someone correct me if I'm wrong, I had to, for another tutorial, set up my router to allow port forwarding on port 8080 for the IP address of my pi. I think I used tcp/IP connection. I also set a IP reservation for my pi so nothing else that got connected would take that IP if the pi wasn't turned on.
 
Oh, and if you hit Cntrl-c, then tried to access the web page that would be the problem, as you just stopped the program. Run
Code:
sudo java -jar Elsinore.jar
again then test the web page.

Did you enter the YourIP:8080/controller

Test it again before you mess with your router. I wouldn't want to mess more up for you.
 
Great, Cank!! It's working now! Thank you very much, for this tutorial, and for your personal effort helping me. I'll try to understand everything now ... Cheers!! :mug:
 
Oh, yes, sorry... I think my rasp SSH was disabled. Then, when you suggested the TC/IP adjustments, I remembered that. I really don't know if was that, but, when I enabled SSH, reload the sudo java and went to the web page, everything loaded. Do you think was that? Anyways, without all info on this thread, your kind support, I would be still trying to figure out how to install and run on my rasp this wonderful piece of work. Now, I'll will try to make all customisations to what I think will be my ideal brewing setup, like, include other ds18's for MLT, SSR's for heating elements, and pumps. If you don't mind, I'll keep both eyes here, and counting on your precise support. I'm really sorry I can't help in anything, due to my complete absence of knowledge on this area. I think i wish so much to have my brewing process automated that this passion helps me to go ahead. And the help of people like you, and a lot of other nice people that is always improving not just themselves but, sharing their progress with everyone here, is what makes all diference here. Thank you again!
At least I would like to apologize for my poor english, I'm not a native english speaker.
 
Cool. Thanks for the kind words. I know it has probably been crazy for Doug because of the RaspberryPints release and people have seen what the pi can do and want more. But there is a learning curve for someone that has never used Linux, myself included. I hope this helps relive some of the pressure off of Doug and he is able to keep making improvements(although he is not using a Pi anymore) and all of us that are jumping on the Pi wagon can benefit from his hard work.

I have been slack in setting up my Pi Brewery but writing this thread and helping you out has motivated me. I have some of those dual output SSRs coming but I'm still trying to find out what size enclosure I'll need.

I have some SS tubing to make some temp probes and the compression fittings to mount them.

Oh yeah, I can feel a build coming on...
 
Very cool project! I picked up my first pi two weeks ago. I picked up another one last week. Looks like I will be buying a third this week!
 
I am jumping on this band wagon too, I know the Linux side pretty well but the programming and electrical side is my weakness. I have a laundry room to brewery conversion in progress and all the honeydoooooo's are getting in the way.
 
Awesome guys. Keep us updated.
And hurry up and get those honey-do's done!

I got my dual SSRs in today!

WARNING***
One thing I noticed today when I turned my pi on the LED, that tells me the HLT element is on, was lit until I ran Elsinore. I need to see if I can change the default state of the GPIO pins. This would be bad if it turned the element on when you are not expecting it.

I'll update when I have a solution.
 
I've just made the first test showed here by Cank, with success. I still need to build some of the elements like, the heating elements, the probes and all tubing connections. Still have some road to travel... but the first step was really solid!! I'll keep tracking of my progress here. Cheers!:mug:
 
.....

WARNING***
One thing I noticed today when I turned my pi on the LED, that tells me the HLT element is on, was lit until I ran Elsinore. I need to see if I can change the default state of the GPIO pins. This would be bad if it turned the element on when you are not expecting it.

I'll update when I have a solution.

Everyone needs to be aware of this.
I think it will be ok for now if you have another means of de-energizing the heating element (contactor that will open both hots).
 
Anyone up for a laugh?

Well, those in the US, make sure you have your keyboard setup as "us" instead of "gb".

I thought I was pressing the ~, when in reality I was inserting some symbol that looked like it, so when I ran through the setup it would seem fine, except there would just be the white screen with no info on the webpage, and a bunch of java errors.

I banged my head for 24 hours, did some wiring on the panel, then decided to go all in and came across something that I tried and when I hit the # symbol something else came up.........that's when it hit me that some of the files might be looking for the ~, perseverance and hard work over smarts has always been a motto of mine.

I went into /etc/default/keyboard and changed it, rebooted, ran through CANK's instructions and it worked.

Thank You!:rockin:
 
Are you guys planning on transitioning to a more permanent perfboard setup with wire terminals? I'm in the process of it now. Soldering 30awg write onto .1" spaced pins is quite frustrating. Especially when my first time using a soldering iron was a few weeks ago &#9786;

Sent from my Nexus 7 using Home Brew mobile app
 
Anyone up for a laugh?

Well, those in the US, make sure you have your keyboard setup as "us" instead of "gb".

I went into /etc/default/keyboard and changed it, rebooted, ran through CANK's instructions and it worked.

Thank You!:rockin:


Yep, I've been there. You can also access that with:

sudo raspi-config

Glad you got it working. Let us know how it goes.
 
Are you guys planning on transitioning to a more permanent perfboard setup with wire terminals? I'm in the process of it now. Soldering 30awg write onto .1" spaced pins is quite frustrating. Especially when my first time using a soldering iron was a few weeks ago &#9786;

Sent from my Nexus 7 using Home Brew mobile app

Yes, I plan to make a CB with either screw terminations or terminal blocks once it is finalized. Not sure it ever will be, but....

I saw this, and can't seem to find it again right now, somewhere in the UK
It would be great for the one wire sensors

***EDIT*** Or something like this?
http://www.thebox.myzen.co.uk/Raspberry/Breakout.html

or this?
http://www.winfordeng.com/products/brk2x13.php

soldering-guide-revC-31.jpg
 
Awesome guys. Keep us updated.
And hurry up and get those honey-do's done!

I got my dual SSRs in today!

WARNING***
One thing I noticed today when I turned my pi on the LED, that tells me the HLT element is on, was lit until I ran Elsinore. I need to see if I can change the default state of the GPIO pins. This would be bad if it turned the element on when you are not expecting it.

I'll update when I have a solution.

Do you think this is because the output to the SSR is on the TX (transmit) pin?
 
Doing some more research and testing, I found out some of the GPIO's default state is High, or On. Here is a link showing the revision 1 and 2 boards default state. Unless you got in early buying a Pi you will have a rev 2. The way to check is to see if it has mounting holes, if it does, it's a rev 2. That's what I have and I found two pins that were actually ON at boot.

One was GPIO14 and the other was another the extra 3.3v power on pin 9. As to the others that were listed as HIGH, they didn't light my LED but I wouldn't risk it.

To be safe use only the green GPIO pins 4,27,22,23,24,25. Looks like GPIO can be used for PWM. I'm going to look into that.

raspberry-pi-rev2-gpio-pinout.jpg
 
Yes, I plan to make a CB with either screw terminations or terminal blocks once it is finalized. Not sure it ever will be, but....

I saw this, and can't seem to find it again right now, somewhere in the UK
It would be great for the one wire sensors

***EDIT*** Or something like this?
http://www.thebox.myzen.co.uk/Raspberry/Breakout.html

or this?
http://www.winfordeng.com/products/brk2x13.php

Yea that's exactly what I'm doing. I bought some screw terminals off eBay I'm going to solder in.

Sent from my Nexus 7 using Home Brew mobile app
 
Doing some more research and testing, I found out some of the GPIO's default state is High, or On. Here is a link showing the revision 1 and 2 boards default state. Unless you got in early buying a Pi you will have a rev 2. The way to check is to see if it has mounting holes, if it does, it's a rev 2. That's what I have and I found two pins that were actually ON at boot.

One was GPIO14 and the other was another the extra 3.3v power on pin 9. As to the others that were listed as HIGH, they didn't light my LED but I wouldn't risk it.

To be safe use only the green GPIO pins 4,27,22,23,24,25. Looks like GPIO can be used for PWM. I'm going to look into that.

I thought they'd fixed this :(

To be honest, my setup (1) Doesn't get plugged in to 240V unless the element is submerged and (2) Has a Kill switch for the SSR 5V cables which prevents them from turning on until its flipped.
 
Anyone have an idea why after a reboot the cfg file would add in a reference to OWFS?

I get a bunch of java errors after I start it on a reboot. If I ctrl+c, and cp elsinore.cfg.new elsinore.cfg then re-start it, works fine. Until the next reboot.
 
Hmm. Have you compared the contents of the config file before reboot and after to see if anything is different?

When you first went throughout the setup did it ask you about OWFS?
 
I haven't compared them before and after.
I did answer "N" when it asks about owfs.

Sent from my SCH-I545 using Home Brew mobile app
 
I did notice that the cfg file has a period instead of a dash between the 28-00000xxxxxx vs 28.00000xxxxx, I think that was after the reboot

Sent from my SCH-I545 using Home Brew mobile app
 
Hmm. Have you compared the contents of the config file before reboot and after to see if anything is different?

When you first went throughout the setup did it ask you about OWFS?

Here is my elsinore.cfg after I rebooted, I had it running before the reboot.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<elsinore>
<device id="HLT">
<probe>28-0000031249b3</probe>
<duty_cycle>75.0</duty_cycle>
<cycle_time>2.0</cycle_time>
<set_point>175.0</set_point>
<proportional>0.0</proportional>
<integral>0.0</integral>
<derivative>0.0</derivative>
<gpio>GPIO23</gpio>
</device>
<device id="BK">
<probe>28-000003125512</probe>
<duty_cycle>0.0</duty_cycle>
<cycle_time>0.0</cycle_time>
<set_point>175.0</set_point>
<proportional>0.0</proportional>
<integral>0.0</integral>
<derivative>0.0</derivative>
<gpio>GPIO24</gpio>
</device>
<pumps>
<water>GPIO8</water>
<wort>GPIO7</wort>
</pumps>
<timers>
<timer id="mash"/>
<timer id="boil"/>
</timers>
<general>
<owfs_server>localhost</owfs_server>
<owfs_port>4304</owfs_port>
</general>
</elsinore>

Then run Elsinore BrewServer, and I get all these errors.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 18 18:16:36 2014 from 192.168.1.10
root@raspberrypi:~# sudo nano ~/BrewServer/elsinore.cfg
root@raspberrypi:~# cd ~/BrewServer
root@raspberrypi:~/BrewServer# sudo java -jar Elsinore.jar
Mar 19, 2014 7:28:41 AM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
CFG IS NULL
Mar 19, 2014 7:28:43 AM com.sb.elsinore.LaunchControl parseGeneral
INFO: Setup OWFS at localhost:4304
Connecting to localhost:4304
No definitions file found, assuming direct mapping
GPIO is already exported, continuing
No definitions file found, assuming direct mapping
GPIO is already exported, continuing
Checking section device
Mar 19, 2014 7:28:43 AM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing XML Device: HLT
Not enough volume data points, 0 found
Mar 19, 2014 7:28:43 AM com.sb.elsinore.Temp <init>
INFO: Adding28.0000031249b3
Mar 19, 2014 7:28:43 AM com.sb.elsinore.Temp <init>
INFO: Using OWFS for 28.0000031249b3/temperature
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.tryToSocketConnectionAndStreamsInitialization(OwfsConnectionImpl.java:79)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.connect(OwfsConnectionImpl.java:70)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.establishConnectionIfNeeded(OwfsConnectionImpl.java:113)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.sendRequest(OwfsConnectionImpl.java:204)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.exists(OwfsConnectionImpl.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.owfs.jowfsclient.internal.OwfsConnectionThreadSafeProxy$OwfsInvocationHandler.invoke(OwfsConnectionThreadSafeProxy.java:40)
at com.sun.proxy.$Proxy0.exists(Unknown Source)
at com.sb.elsinore.LaunchControl.readOWFSPath(LaunchControl.java:1361)
at com.sb.elsinore.Temp.<init>(Temp.java:55)
at com.sb.elsinore.LaunchControl.startDevice(LaunchControl.java:687)
at com.sb.elsinore.LaunchControl.parseDevice(LaunchControl.java:2163)
at com.sb.elsinore.LaunchControl.parseXMLSections(LaunchControl.java:1908)
at com.sb.elsinore.LaunchControl.readConfig(LaunchControl.java:436)
at com.sb.elsinore.LaunchControl.<init>(LaunchControl.java:211)
at com.sb.elsinore.LaunchControl.main(LaunchControl.java:167)
Mar 19, 2014 7:28:43 AM com.sb.elsinore.Temp <init>
INFO: 28.0000031249b3 added.
Mar 19, 2014 7:28:43 AM com.sb.elsinore.LaunchControl startDevice
INFO: Adding HLT GPIO is (GPIO23)
Mar 19, 2014 7:28:44 AM com.sb.elsinore.LaunchControl startDevice
INFO: Adding PID with GPIO: GPIO23
Mar 19, 2014 7:28:44 AM com.sb.elsinore.Temp updateTempFromOWFS
SEVERE: Couldn't read 28.0000031249b3
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.tryToSocketConnectionAndStreamsInitialization(OwfsConnectionImpl.java:79)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.connect(OwfsConnectionImpl.java:70)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.establishConnectionIfNeeded(OwfsConnectionImpl.java:113)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.sendRequest(OwfsConnectionImpl.java:204)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.exists(OwfsConnectionImpl.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.owfs.jowfsclient.internal.OwfsConnectionThreadSafeProxy$OwfsInvocationHandler.invoke(OwfsConnectionThreadSafeProxy.java:40)
at com.sun.proxy.$Proxy0.exists(Unknown Source)
at com.sb.elsinore.LaunchControl.readOWFSPath(LaunchControl.java:1361)
at com.sb.elsinore.Temp.updateTempFromOWFS(Temp.java:312)
at com.sb.elsinore.Temp.updateTemp(Temp.java:284)
at com.sb.elsinore.Temp.run(Temp.java:131)
at java.lang.Thread.run(Thread.java:724)

Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID detectGPIO
INFO: Matches: 3
Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID detectGPIO
INFO: Matched GPIO pinout for Beagleboard: GPIO23. OS: null
Checking section device
Mar 19, 2014 7:28:44 AM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing XML Device: BK
Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID run
INFO: Running HLT PID.
Not enough volume data points, 0 found
Mar 19, 2014 7:28:44 AM com.sb.elsinore.Temp <init>
INFO: Adding28.000003125512
No definitions file found, assuming direct mapping
Mar 19, 2014 7:28:44 AM com.sb.elsinore.Temp <init>
INFO: Using OWFS for 28.000003125512/temperature
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl run
INFO: Starting the (gpio23) heating output: 23
Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID run
INFO: off: HLT status: 0.0 duty cycle: 0.0
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.tryToSocketConnectionAndStreamsInitialization(OwfsConnectionImpl.java:79)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.connect(OwfsConnectionImpl.java:70)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.establishConnectionIfNeeded(OwfsConnectionImpl.java:113)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.sendRequest(OwfsConnectionImpl.java:204)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.exists(OwfsConnectionImpl.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.owfs.jowfsclient.internal.OwfsConnectionThreadSafeProxy$OwfsInvocationHandler.invoke(OwfsConnectionThreadSafeProxy.java:40)
at com.sun.proxy.$Proxy0.exists(Unknown Source)
at com.sb.elsinore.LaunchControl.readOWFSPath(LaunchControl.java:1361)
at com.sb.elsinore.Temp.<init>(Temp.java:55)
at com.sb.elsinore.LaunchControl.startDevice(LaunchControl.java:687)
at com.sb.elsinore.LaunchControl.parseDevice(LaunchControl.java:2163)
at com.sb.elsinore.LaunchControl.parseXMLSections(LaunchControl.java:1908)
at com.sb.elsinore.LaunchControl.readConfig(LaunchControl.java:436)
at com.sb.elsinore.LaunchControl.<init>(LaunchControl.java:211)
at com.sb.elsinore.LaunchControl.main(LaunchControl.java:167)
No definitions file found, assuming direct mapping
No definitions file found, assuming direct mapping
Mar 19, 2014 7:28:44 AM com.sb.elsinore.Temp <init>
INFO: 28.000003125512 added.
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl run
INFO: Started the heating output: 23
Mar 19, 2014 7:28:44 AM com.sb.elsinore.LaunchControl startDevice
INFO: Adding BK GPIO is (GPIO24)
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Mar 19, 2014 7:28:44 AM com.sb.elsinore.LaunchControl startDevice
INFO: Adding PID with GPIO: GPIO24
Mar 19, 2014 7:28:44 AM com.sb.elsinore.Temp updateTempFromOWFS
SEVERE: Couldn't read 28.000003125512
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.tryToSocketConnectionAndStreamsInitialization(OwfsConnectionImpl.java:79)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.connect(OwfsConnectionImpl.java:70)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.establishConnectionIfNeeded(OwfsConnectionImpl.java:113)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.sendRequest(OwfsConnectionImpl.java:204)
at org.owfs.jowfsclient.internal.OwfsConnectionImpl.exists(OwfsConnectionImpl.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.owfs.jowfsclient.internal.OwfsConnectionThreadSafeProxy$OwfsInvocationHandler.invoke(OwfsConnectionThreadSafeProxy.java:40)
at com.sun.proxy.$Proxy0.exists(Unknown Source)
at com.sb.elsinore.LaunchControl.readOWFSPath(LaunchControl.java:1361)
at com.sb.elsinore.Temp.updateTempFromOWFS(Temp.java:312)
at com.sb.elsinore.Temp.updateTemp(Temp.java:284)
at com.sb.elsinore.Temp.run(Temp.java:131)
at java.lang.Thread.run(Thread.java:724)

Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID detectGPIO
INFO: Matches: 3
Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID detectGPIO
INFO: Matched GPIO pinout for Beagleboard: GPIO24. OS: null
Checking section pumps
Checking section timers
Checking section general
Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID run
INFO: Running BK PID.
Mar 19, 2014 7:28:44 AM com.sb.elsinore.LaunchControl <init>
INFO: CONFIG READ COMPLETED***********
No definitions file found, assuming direct mapping
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl run
INFO: Starting the (gpio24) heating output: 24
Mar 19, 2014 7:28:44 AM com.sb.elsinore.PID run
INFO: off: BK status: 0.0 duty cycle: 0.0
Mar 19, 2014 7:28:44 AM com.sb.elsinore.BrewServer <init>
INFO: Launching on port 8080
No definitions file found, assuming direct mapping
No definitions file found, assuming direct mapping
Mar 19, 2014 7:28:44 AM com.sb.elsinore.BrewServer <init>
INFO: Debug System property: null
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl run
INFO: Started the heating output: 24
Mar 19, 2014 7:28:44 AM com.sb.elsinore.BrewServer <init>
INFO: Debug System property: null
Mar 19, 2014 7:28:44 AM com.sb.elsinore.OutputControl run
INFO: Started the heating output: 24
Server started, kill to stop.
 
I looked at the elsinore.cfg with the program running (after cp .new) and it looks the same. When I shut it down it looks like it is writing to that file and adding the OWFS reference.
Here is what it shows in the terminal after I ctrl+C
^CSaving PID HLT
Saving the information for HLT
Using base node device with ID HLT
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 general
Creating on configDoc base
Creating element of owfs_server
on general
Creating element of owfs_port
on general

Saving PID BK
Saving the information for BK
Using base node device with ID BK
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
Saving HLT with probe 28-0000031249b3
Saving BK with probe 28-000003125512
Wakeup in HLTSaving the information for HLT
Using base node device with ID HLT
java.lang.NullPointerExceptionSaving the information for BK

at com.sb.elsinore.OutputControl.allOff(OutputControl.java:198)
at com.sb.elsinore.OutputControl.run(OutputControl.java:65)
at java.lang.Thread.run(Thread.java:724)
Using base node device with ID BK
 
I've pushed some updates to see if I have fixed the issue. I've not had time to recreate the bug yet however.

Bugs like this need to be reported in the main thread or via github though
 
Back
Top