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.
I am continuing work on it, as stated slightly earlier in the thread, I'm working on making it work with the beagleboard at the same time.
 
Whilst that is possible I do not have the time to maintain a current image and host it. I also don't want people thinking this is easy to use at the moment since its not, there are limitations and bugs still to fix.

Ok ...
I hope that the application is developed and the bugs fixed.
At the moment I still have not found the time to finish the configuration but I wanted to ask you some questions.
It has the function PID?
There is a possibility to plan the steps?
The temperature is only in ° F or ° C in?
Thank you ...
P.S. Just wait to finish and test it if it works I prepare a very compact image of the SD to share.
 
It's all 1's and 0's right? easy peezy haha
Do you plan on continuing development? I just picked up on this and would like to look into it. Also going to be working on a project of this nature for my home. It would be replacing my home thermostat, the plan in early stages are a temperature probe in each room with some way to be able to control the temp in each room individually but still maintain using 1 unit. Now I don't mean I would be able to heat one room and cool another. The thought is to be able to use dampers to close off air flow. Might want to use something like this Wireless Thermocouple and RTD Industrial Probe Assemblies. I could see these used on a brew rig as well. :ban:

You might want to take a look at my project for that as well. One of the folks is using it to control radiant heaters/ air conditioners in each room. :rockin:
 
Ok ...
I hope that the application is developed and the bugs fixed.
At the moment I still have not found the time to finish the configuration but I wanted to ask you some questions.
It has the function PID?
There is a possibility to plan the steps?
The temperature is only in ° F or ° C in?
Thank you ...
P.S. Just wait to finish and test it if it works I prepare a very compact image of the SD to share.

Not sure what you mean by "has the function PID?", the images show that you can input PID values, it's not automatic PID Tuning, it's all manual at this point. That is better then auto-tuning according to the documentation I found.

There will be documentation written for the steps in the GIT repo, it didn't upload the readme when I converted to an Eclipse project.

The temperature can be switched from F to C, please see the example configuration file.
 
My current project is to get it working on beagleboard (shouldn't be too difficult), improve the logging for first failure analysis and to enable the volume measurement. I'm on vacation for a few weeks so don't expect anything.

Then I'll be adding functionality so that people can add their own modules (i.e. RTD temp controls, I2C or analog or PWM output modules) as a drag and drop.
 
My current project is to get it working on beagleboard (shouldn't be too difficult), improve the logging for first failure analysis and to enable the volume measurement. I'm on vacation for a few weeks so don't expect anything.

But the development on Raspberry stops?

Then I'll be adding functionality so that people can add their own modules (i.e. RTD temp controls, I2C or analog or PWM output modules) as a drag and drop.
very interesting...
 
Beagleboard is working, I have updated the Readme Documentation, but if anyone wants to write up a markdown file for installation instructions on RaspberryPi or Beagleboard, I will add them to the repository.

Please note, I HAVE UPDATED THE FORMAT OF GPIO PINS

https://github.com/DougEdey/SB_Elsinore_Server/

Check the readme for more details, but the GPIOs no longer use the WiringPi layout (it was bloody stupid if you ask me) and the text image for setup is updated to reflect this.

GPIOs must now be numbered as GPIO3 (for RPi) or GPIO2_1 (for Beagleboard)
 
Just pushed a new version to github, I've fixed some method names and created a new struct to hold the PID settings. I've also modified some of the value names in the config file (proportional, integral and differential) and the application will now store the settings when you send new settings to the PID.
 
I forgot to add the device tree overlays, they're now updated. I'll be posting pictures for the Beaglebone Black setup I use (with pins in use) so if anyone want to put pictures of their RaspberryPi brew setup feel free and I'll add it to the project.

I'm updating the UI this week to take advantage of Twitter Bootstrap to improve the UI.
 
Just came across this project and thought I would give it a shot and see how it works...

Got a new SD card installed in my pi. Wired temp sensor connected and a relay connected.

I see temp updates but cannot toggle the PID state to be on or off.

Here is a dump from my console

Sep 04, 2013 2:52:41 AM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Sep 04, 2013 2:52:42 AM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing : kettle
Sep 04, 2013 2:52:42 AM com.sb.elsinore.Temp <init>
INFO: /sys/bus/w1/devices/28-000004473de9/w1_slave
Sep 04, 2013 2:52:42 AM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding kettle GPIO is (GPIO11)
Sep 04, 2013 2:52:42 AM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding PID with GPIO: GPIO11
Sep 04, 2013 2:52:42 AM com.sb.elsinore.PID <init>
INFO: Matches: 3
Sep 04, 2013 2:52:42 AM com.sb.elsinore.PID <init>
INFO: Matched GPIO pinout for Beagleboard: GPIO11. OS: null
Sep 04, 2013 2:52:42 AM com.sb.elsinore.Temp <init>
INFO: /sys/class/thermal/thermal_zone0/temp
Sep 04, 2013 2:52:42 AM com.sb.elsinore.PID run
INFO: Running kettle PID.
Sep 04, 2013 2:52:42 AM com.sb.elsinore.LaunchControl readConfig
INFO: Adding system
Exception in thread "Thread-4" java.lang.NumberFormatException: For input string
: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:65)
at java.lang.Integer.parseInt(Integer.java:504)
at java.lang.Integer.parseInt(Integer.java:527)
at framboos.GpioPin.getPinNumber(GpioPin.java:99)
at com.sb.elsinore.OutputControl.run(OutputControl.java:36)
at java.lang.Thread.run(Thread.java:722)
Sep 04, 2013 2:52:42 AM com.sb.elsinore.BrewServer <init>
INFO: System property: null
Sep 04, 2013 2:52:42 AM com.sb.elsinore.BrewServer <init>
INFO: System property: null
Server started, Hit Enter to stop.
 
Exception in thread "Thread-4" java.lang.NumberFormatException: For input string
: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:65)
at java.lang.Integer.parseInt(Integer.java:504)
at java.lang.Integer.parseInt(Integer.java:527)
at framboos.GpioPin.getPinNumber(GpioPin.java:99)
at com.sb.elsinore.OutputControl.run(OutputControl.java:36)
at java.lang.Thread.run(Thread.java:722)
.

this is saying that the value you're setting for the GPIO output is a blank string. I can update the application to detect this, but it appears to be an issue on your end.
 
GPIO is configured in the rpibrew.cfg file. I dont see where i have an empty string.

[general]
scale = F

[kettle]
set_point = 175.0
duty_cycle = 100.0
cycle_time = 2.0
k_param = 41.0
i_param = 169.0
d_param = 4.0
probe = 28-000004473de9
gpio = GPIO11
proportional = 41.0
integral = 169.0
derivative = 4.0
 
Doug,

I've been looking at building an eBIAB build using a beaglebone. (I also chose this over the pi due to the flexibility with the inputs). Just ordered and am awaiting the arrival of my board and components.

I also am a long time Java developer and have looked through your source on GitHub. I'm sure I'll need to customize things because my circuits will be somewhat different (I have a DPDT that will turn the burner circuit ON at the beginning of various phases, and turn it off at the end of those phases in addition to the SSR that will be cycling the element). I also have pumps that will need to be turned on for re-circulation, but not at the same frequency as the burners.

I'm assuming at some point I'll have contributions to make back to your project. Are you looking for help and/or would you like contributions to make it back into the main trunk? What's the best way to contribute?

Thanks

Andy
 
Getting there have made a few configuration changes. I dont get the errors anymore. I can toggle the element manually but the PID control does not work. Here is my config now. Attached is a screen shot

[general]
scale = C

[kettle]
probe = 28-000004473de9
gpio = 11
set_point = 175.0
duty_cycle = 100.0
cycle_time = 2.0
k_param = 41.0
i_param = 169.0
d_param = 4.0
proportional = 4.0
integral = 165.0
derivative = 0.0

Screen.jpg
 
I'm assuming at some point I'll have contributions to make back to your project. Are you looking for help and/or would you like contributions to make it back into the main trunk? What's the best way to contribute?

I'm always accepting of pull requests, so feel free to issue me some of those.:mug:
 
Getting there have made a few configuration changes. I dont get the errors anymore. I can toggle the element manually but the PID control does not work.

I'm confused as to why the PID Control isn't working, according to your screenshot it should be on 100%.

Can you run with -Ddebug=INFO? You should see more output.
 
This is what it gave me. Funny thing is once I click send command on the PID screen the manual screen stops working.

pi@raspberrypi ~/strange/SB_Elsinore_Server $ sudo java -jar Elsinore.jar -Ddebu
g=INFO
Sep 04, 2013 9:23:15 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Sep 04, 2013 9:23:16 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing : kettle
Sep 04, 2013 9:23:16 PM com.sb.elsinore.Temp <init>
INFO: /sys/bus/w1/devices/28-000004473de9/w1_slave
Sep 04, 2013 9:23:16 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding kettle GPIO is (11)
Sep 04, 2013 9:23:16 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding PID with GPIO: 11
Sep 04, 2013 9:23:16 PM com.sb.elsinore.PID <init>
INFO: Matches: 3
Sep 04, 2013 9:23:16 PM com.sb.elsinore.PID <init>
INFO: Matched GPIO pinout for Beagleboard: 11. OS: null
Sep 04, 2013 9:23:16 PM com.sb.elsinore.Temp <init>
INFO: /sys/class/thermal/thermal_zone0/temp
Sep 04, 2013 9:23:16 PM com.sb.elsinore.PID run
INFO: Running kettle PID.
Sep 04, 2013 9:23:16 PM com.sb.elsinore.LaunchControl readConfig
INFO: Adding system
Sep 04, 2013 9:23:16 PM com.sb.elsinore.OutputControl run
INFO: Starting the (11) heating output: 11
Sep 04, 2013 9:23:16 PM com.sb.elsinore.OutputControl run
INFO: Started the heating output: 11
Sep 04, 2013 9:23:16 PM com.sb.elsinore.BrewServer <init>
INFO: System property: null
Sep 04, 2013 9:23:16 PM com.sb.elsinore.BrewServer <init>
INFO: System property: null
Server started, Hit Enter to stop.
 
Sorry the -Ddebug=info needs to go before the -jar and after the java

I'm not sure what you mean by "The manual screen stops working" though, could you elaborate please?
 
OK. if i start the server. Go in and set manual to say 60% everything is fine. Click off then press send command. The element goes off. Go over to pid set temp and hit send command. Nothing happens then go over and try the manual again. It does not turn on.

Here is the captured output
pi@raspberrypi ~/strange/SB_Elsinore_Server $ sudo java -Ddebug=info -jar Elsino
re.jar
Sep 04, 2013 9:34:05 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Sep 04, 2013 9:34:06 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing : kettle
Sep 04, 2013 9:34:06 PM com.sb.elsinore.Temp <init>
INFO: /sys/bus/w1/devices/28-000004473de9/w1_slave
Sep 04, 2013 9:34:06 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding kettle GPIO is (11)
Sep 04, 2013 9:34:06 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding PID with GPIO: 11
Sep 04, 2013 9:34:06 PM com.sb.elsinore.PID <init>
INFO: Matches: 3
Sep 04, 2013 9:34:06 PM com.sb.elsinore.PID <init>
INFO: Matched GPIO pinout for Beagleboard: 11. OS: null
Sep 04, 2013 9:34:06 PM com.sb.elsinore.Temp <init>
INFO: /sys/class/thermal/thermal_zone0/temp
Sep 04, 2013 9:34:06 PM com.sb.elsinore.PID run
INFO: Running kettle PID.
Sep 04, 2013 9:34:06 PM com.sb.elsinore.LaunchControl readConfig
INFO: Adding system
Sep 04, 2013 9:34:06 PM com.sb.elsinore.OutputControl run
INFO: Starting the (11) heating output: 11
Sep 04, 2013 9:34:06 PM com.sb.elsinore.OutputControl run
INFO: Started the heating output: 11
Sep 04, 2013 9:34:06 PM com.sb.elsinore.BrewServer <init>
INFO: System property: info
Sep 04, 2013 9:34:06 PM com.sb.elsinore.BrewServer <init>
INFO: System property: info
Sep 04, 2013 9:34:06 PM com.sb.elsinore.BrewServer <init>
INFO: Enabled logging at an info level
Sep 04, 2013 9:34:06 PM com.sb.elsinore.BrewServer <init>
INFO: Enabled logging at an info level
Sep 04, 2013 9:34:06 PM com.sb.elsinore.BrewServer <init>
INFO: Root directory: /home/pi/strange/SB_Elsinore_Server
Sep 04, 2013 9:34:06 PM com.sb.elsinore.BrewServer <init>
INFO: Root directory: /home/pi/strange/SB_Elsinore_Server
Server started, Hit Enter to stop.

Sep 04, 2013 9:34:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:09 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:09 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:10 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:10 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:13 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:13 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: URL : /updatepid method: POST
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: URL : /updatepid method: POST
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: {cycletime=2, NanoHttpd.QUERY_STRING=form=kettle&mode=auto&setpoint=50&dut
ycycle=100&cycletime=2&p=4&i=165&k=, form=kettle, p=4, dutycycle=100, setpoint=5
0, k=, i=165, mode=auto}
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: {cycletime=2, NanoHttpd.QUERY_STRING=form=kettle&mode=auto&setpoint=50&dut
ycycle=100&cycletime=2&p=4&i=165&k=, form=kettle, p=4, dutycycle=100, setpoint=5
0, k=, i=165, mode=auto}
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Duty cycle: 100.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Duty cycle: 100.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Cycle time: 100.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Cycle time: 100.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Set Point: 50.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Set Point: 50.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: P: 4.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: P: 4.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: I: 165.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: I: 165.0
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Mode: auto
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Mode: auto
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Form: kettle
Sep 04, 2013 9:34:19 PM com.sb.elsinore.BrewServer serve
INFO: Form: kettle
Sep 04, 2013 9:34:20 PM com.sb.elsinore.BrewServer serve
INFO: auto:100.0:2.0:50.0:4.0:165.0:0.0
Sep 04, 2013 9:34:20 PM com.sb.elsinore.BrewServer serve
INFO: auto:100.0:2.0:50.0:4.0:165.0:0.0
Sep 04, 2013 9:34:20 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 9:34:20 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 9:34:20 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 9:34:20 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 9:34:20 PM com.sb.elsinore.LaunchControl savePID
INFO: Saving the information for kettle
Sep 04, 2013 9:34:20 PM com.sb.elsinore.LaunchControl savePID
INFO: Saving the information for kettle
Sep 04, 2013 9:34:20 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:20 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:21 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:21 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:22 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:22 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:24 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:24 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:25 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:25 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:26 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:26 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:27 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:27 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:29 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:29 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:30 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:30 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:31 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:31 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:32 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:32 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:33 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:33 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:34 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 9:34:34 PM com.sb.elsinore.BrewServer serve

INFO: URL : /getstatus method: GET
Server stopped.

Waiting for input...
>^Cpi@raspberrypi ~/strange/SB_Elsinore_Server $
 
OK, so somehow the duty cycle is becoming NaN (I have no idea how) and the system blows up, trying to work this out now.
 
And fixed ( I think) from my testing it now appears to work. There were some synchronization issues and I've added an "actualduty" value to the return JSON so you can maintain a manual setting (say 60%) and flip back to it quickly after using the PID controls.
 
Still did not work. I am going to have a closer look at the Linux itself. Are you using the Raspbian Wheezy? I have the Adafruit Occidentalis installed.
 
I was originally but in theory the code should be the same, I'm using the beaglebone now.

Can you provide the new -Ddebug=info output? It'll help me to see if there's anything I can spot... You should at the very least see the dial output change, so if you set manual and 60%, then try setting auto and see if the dial shifts?
 
Here you go... I started up the server went to Auto hit start duty cycle dial went to -100 and element did not come on. Then could not go over to manual tab and manually turn element on.

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2013.09.04 22:18:48 =~=~=~=~=~=~=~=~=~=~=~=
login as: pi
[email protected]'s password:
Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Type 'startx' to launch a graphical session

Last login: Wed Sep 4 21:34:04 2013 from 192.168.2.22

Please change your password using 'sudo /usr/bin/raspi-config'
]0;pi@raspberrypi: ~pi@raspberrypi ~ $
]0;pi@raspberrypi: ~pi@raspberrypi ~ $
]0;pi@raspberrypi: ~pi@raspberrypi ~ $ cd BrewServer/
]0;pi@raspberrypi: ~/BrewServerpi@raspberrypi ~/BrewServer $ sudo java -Ddebug=INFO Elsinore.jar
Error: Could not find or load main class Elsinore.jar
]0;pi@raspberrypi: ~/BrewServerpi@raspberrypi ~/BrewServer $ ls
bin build.xml extras libs README.md src
build Elsinore.jar img log.txt rpibrew.cfg templates
]0;pi@raspberrypi: ~/BrewServerpi@raspberrypi ~/BrewServer $ lssudo java -Ddebug=INFO Elsinore.jar
Error: Could not find or load main class Elsinore.jar
]0;pi@raspberrypi: ~/BrewServerpi@raspberrypi ~/BrewServer $ sudo java -Ddebug=INFO Elsinore.jar [1@-[1@j[1@a[1@r[1@
Sep 04, 2013 10:20:46 PM com.sb.elsinore.LaunchControl main
INFO: Running Brewery Controller.
Sep 04, 2013 10:20:48 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Parsing : kettle
Sep 04, 2013 10:20:48 PM com.sb.elsinore.Temp <init>
INFO: /sys/bus/w1/devices/28-000004473de9/w1_slave
Sep 04, 2013 10:20:48 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding kettle GPIO is (11)
Sep 04, 2013 10:20:48 PM com.sb.elsinore.LaunchControl parseDevice
INFO: Adding PID with GPIO: 11
Sep 04, 2013 10:20:48 PM com.sb.elsinore.PID <init>
INFO: Matches: 3
Sep 04, 2013 10:20:48 PM com.sb.elsinore.PID <init>
INFO: Matched GPIO pinout for Beagleboard: 11. OS: null
Sep 04, 2013 10:20:48 PM com.sb.elsinore.Temp <init>
INFO: /sys/class/thermal/thermal_zone0/temp
Sep 04, 2013 10:20:48 PM com.sb.elsinore.PID run
INFO: Running kettle PID.
Sep 04, 2013 10:20:48 PM com.sb.elsinore.LaunchControl readConfig
INFO: Adding system
Sep 04, 2013 10:20:48 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:48 PM com.sb.elsinore.BrewServer <init>
INFO: System property: INFO
Sep 04, 2013 10:20:48 PM com.sb.elsinore.OutputControl run
INFO: Starting the (11) heating output: 11
Sep 04, 2013 10:20:48 PM com.sb.elsinore.PID run
INFO: off: kettle status: 0.0 duty cycle: 0.0
Sep 04, 2013 10:20:48 PM com.sb.elsinore.OutputControl run
INFO: Starting the (11) heating output: 11
Sep 04, 2013 10:20:48 PM com.sb.elsinore.PID run
INFO: off: kettle status: 0.0 duty cycle: 0.0
Sep 04, 2013 10:20:48 PM com.sb.elsinore.BrewServer <init>
INFO: System property: INFO
Sep 04, 2013 10:20:48 PM com.sb.elsinore.BrewServer <init>
INFO: Enabled logging at an info level
Sep 04, 2013 10:20:48 PM com.sb.elsinore.BrewServer <init>
INFO: Enabled logging at an info level
Sep 04, 2013 10:20:48 PM com.sb.elsinore.BrewServer <init>
INFO: Root directory: /home/pi/BrewServer
Sep 04, 2013 10:20:48 PM com.sb.elsinore.OutputControl run
INFO: Started the heating output: 11
Sep 04, 2013 10:20:48 PM com.sb.elsinore.BrewServer <init>
INFO: Root directory: /home/pi/BrewServer
Sep 04, 2013 10:20:48 PM com.sb.elsinore.OutputControl run
INFO: Started the heating output: 11
Sep 04, 2013 10:20:48 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:48 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Server started, Hit Enter to stop.

Sep 04, 2013 10:20:49 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:49 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:49 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:49 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:49 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:49 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:49 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:49 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:50 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:50 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:50 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:50 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:50 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:50 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:50 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:50 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:50 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:50 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:51 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:51 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:51 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:51 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:51 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:51 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:51 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:51 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:52 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:52 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:52 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:52 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:53 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:53 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:53 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:53 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:53 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:53 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:53 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:53 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:54 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:54 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:54 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:20:54 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:20:54 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:54 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:54 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:54 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:55 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:55 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:55 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:55 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:20:55 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:55 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:20:55 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:55 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:56 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:56 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:56 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:56 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:56 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:56 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:56 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:56 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:56 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:56 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:57 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:57 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:57 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:57 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:57 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:20:57 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:20:57 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:57 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:58 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:58 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:58 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:58 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:58 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:58 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:58 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:58 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:59 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:59 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:20:59 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:59 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:20:59 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:59 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:20:59 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:20:59 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:00 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:00 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:00 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:00 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:00 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:00 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:00 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:00 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:01 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:01 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:01 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:01 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:01 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:01 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:01 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:01 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:01 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:01 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:02 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:02 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:02 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:02 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:02 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:02 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:02 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:02 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:03 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:03 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:03 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:03 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:03 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:03 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:03 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:03 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:04 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:04 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:04 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:04 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:04 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:04 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:04 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:04 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:05 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:05 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:05 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:05 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:05 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:05 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:06 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:06 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:06 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:06 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:06 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:06 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:07 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:07 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:07 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:07 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:07 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:07 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:07 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:08 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:08 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:08 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:08 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:08 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:08 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:08 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:08 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:09 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:09 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:09 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:09 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:09 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:09 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:09 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:09 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:09 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:09 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:10 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:10 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:10 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:10 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:10 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:10 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:11 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:11 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:11 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:11 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:11 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:11 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:11 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:11 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:11 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:11 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:12 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:12 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:12 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:12 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:12 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:13 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:13 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:13 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:13 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:13 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:13 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:13 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:13 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:14 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:14 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:14 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:14 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:14 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:14 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:14 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:14 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:15 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:15 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:15 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:15 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:15 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:15 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:15 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:15 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:15 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:15 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.86160000000001 duty cycle: 0.0
Sep 04, 2013 10:21:16 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:16 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:16 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:16 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:16 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:16 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.OutputControl run
INFO: Fduty: 0.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: URL : /updatepid method: POST
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: URL : /updatepid method: POST
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: {cycletime=2, NanoHttpd.QUERY_STRING=form=kettle&mode=auto&setpoint=175&dutycycle=100&cycletime=2&p=4&i=165&k=, form=kettle, p=4, dutycycle=100, setpoint=175, k=, i=165, mode=auto}
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: {cycletime=2, NanoHttpd.QUERY_STRING=form=kettle&mode=auto&setpoint=175&dutycycle=100&cycletime=2&p=4&i=165&k=, form=kettle, p=4, dutycycle=100, setpoint=175, k=, i=165, mode=auto}
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Duty cycle: 100.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Duty cycle: 100.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Cycle time: 2.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Cycle time: 2.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Set Point: 175.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Set Point: 175.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: P: 4.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: P: 4.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: I: 165.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: I: 165.0
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Mode: auto
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Mode: auto
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Form: kettle
Sep 04, 2013 10:21:17 PM com.sb.elsinore.BrewServer serve
INFO: Form: kettle
Sep 04, 2013 10:21:18 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.BrewServer serve
INFO: auto:100.0:2.0:175.0:4.0:165.0:0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.BrewServer serve
INFO: auto:100.0:2.0:175.0:4.0:165.0:0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:18 PM com.sb.elsinore.LaunchControl savePID
INFO: Saving the information for kettle
Sep 04, 2013 10:21:18 PM com.sb.elsinore.LaunchControl savePID
INFO: Saving the information for kettle
Sep 04, 2013 10:21:18 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:18 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:18 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:18 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:19 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 30.0 Error: 91.22767999999999 integral: -2736.8304 derivative: 3.0409226666666664
Sep 04, 2013 10:21:19 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 30.0 Error: 91.22767999999999 integral: -2736.8304 derivative: 3.0409226666666664
Sep 04, 2013 10:21:19 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.OutputControl run
INFO: Fduty: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.OutputControl run
INFO: Fduty: -100.0
Sep 04, 2013 10:21:19 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:19 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:20 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.22767999999999 integral: -2828.05808 derivative: 0.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.22767999999999 integral: -2828.05808 derivative: 0.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:20 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:20 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:20 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:20 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:21 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -2919.30808 derivative: 0.022320000000007667
Sep 04, 2013 10:21:21 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -2919.30808 derivative: 0.022320000000007667
Sep 04, 2013 10:21:21 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:21 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:21 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:21 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:21 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:21 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3010.55808 derivative: 0.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3010.55808 derivative: 0.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:22 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:23 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3101.80808 derivative: 0.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3101.80808 derivative: 0.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:23 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:24 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:24 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:24 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:24 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:24 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3193.05808 derivative: 0.0
Sep 04, 2013 10:21:24 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3193.05808 derivative: 0.0
Sep 04, 2013 10:21:24 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:24 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:25 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:25 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:25 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:25 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:25 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:25 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:26 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3284.30808 derivative: 0.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3284.30808 derivative: 0.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:26 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:26 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:26 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:26 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:27 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3375.55808 derivative: 0.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3375.55808 derivative: 0.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:27 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:27 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:28 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3466.80808 derivative: 0.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.PID calcPID_reg4
INFO: DT: 1.0 Error: 91.25 integral: -3466.80808 derivative: 0.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.PID run
INFO: Calculated: -100.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: -100.0 OUT: -100.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:28 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:28 PM com.sb.elsinore.PID run
INFO: auto: kettle status: 83.75 duty cycle: -100.0
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /updatepid method: POST
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: URL : /updatepid method: POST
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: {cycletime=2, NanoHttpd.QUERY_STRING=form=kettle&mode=off&setpoint=175&dutycycle=100&cycletime=2&p=4&i=165&k=, form=kettle, p=4, dutycycle=100, setpoint=175, k=, i=165, mode=off}
Sep 04, 2013 10:21:28 PM com.sb.elsinore.BrewServer serve
INFO: {cycletime=2, NanoHttpd.QUERY_STRING=form=kettle&mode=off&setpoint=175&dutycycle=100&cycletime=2&p=4&i=165&k=, form=kettle, p=4, dutycycle=100, setpoint=175, k=, i=165, mode=off}
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Duty cycle: 100.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Duty cycle: 100.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Cycle time: 2.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Cycle time: 2.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Set Point: 175.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Set Point: 175.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: P: 4.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: P: 4.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: I: 165.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: I: 165.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Mode: off
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Mode: off
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Form: kettle
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: Form: kettle
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: off:100.0:2.0:175.0:4.0:165.0:0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: off:100.0:2.0:175.0:4.0:165.0:0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.PID updateValues
INFO: 4.0: 165.0: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.LaunchControl savePID
INFO: Saving the information for kettle
Sep 04, 2013 10:21:29 PM com.sb.elsinore.LaunchControl savePID
INFO: Saving the information for kettle
Sep 04, 2013 10:21:29 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:29 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:30 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:30 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:30 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:30 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:30 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:30 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:30 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:30 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:31 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:31 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:31 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:31 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:31 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:31 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:32 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:32 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:32 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:32 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:32 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:32 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:32 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:32 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:33 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:33 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:33 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:33 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:33 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:33 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:34 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:34 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:34 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:34 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:34 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:34 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:35 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:35 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:35 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:35 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:35 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:35 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:36 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:36 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:36 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:36 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:36 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:36 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:36 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:36 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:37 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:37 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:37 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:37 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:37 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:37 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:38 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:38 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:38 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:38 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:38 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:38 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:38 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:38 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:39 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:39 PM com.sb.elsinore.OutputControl setDuty
INFO: IN: 0.0 OUT: 0.0
Sep 04, 2013 10:21:39 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
Sep 04, 2013 10:21:39 PM com.sb.elsinore.PID run
INFO: off: kettle status: 83.75 duty cycle: 0.0
^CSep 04, 2013 10:21:39 PM com.sb.elsinore.BrewServer serve
INFO: URL : /getstatus method: GET
Sep 04, 2013 10:21:39 PM com.sb.elsinore.OutputControl shutdown
INFO: Shutting down OC
]0;pi@raspberrypi: ~/BrewServerpi@raspberrypi ~/BrewServer $
 
So it is working, but its trying to cool down the output (-100 = cool 100%, +100 = heat 100%)
 
Hey Doug,

I sent the first pull request! Don't worry it was something very small - just a classpath issue that referenced a fixed path instead of a relative path to the lib folder.

On a recent commit, it looks like you added some code that depends on the class Pump, but it doesn't look like it was added to the repository (Can't build at the moment without it ;)).

Andy
 
The Pump class is added back in, I've been meaning to add in the buttons to enable it, but I want to redo the entire web UI first.
 
Here you go... I started up the server went to Auto hit start duty cycle dial went to -100 and element did not come on. Then could not go over to manual tab and manually turn element on.

So I think the output is right, can you try just doing some basic tuning (the initial setting appear to be bad), so set the integral and differential to 0, but set the proportional to something like 30. This is the amount of time it takes the system to go up by one degree.
 
It looks like we have success. I did rebuild my PI install with the latest Raspbian Wheezy today. So it might have been the OS or the PID setting or a combination of both.

Small scale testing is working great.

Now its time to decide if I want to go 3 vessel like Kal or something like a brutus 20 and to start acquiring the remainder of my required parts to put this together. Its going to be nice brewing in my laundry room or kitchen during the cold months :)

I was looking into that beaglebone black as well. Very impressive device might have to get that as my next toy and dedicate the PI to the brewery.
 
I'm using a two vessel 20 Gallon post boil system, I get 84% efficiency :) Simpler is better
 
That is what i am thinking too. I only brew 5 gallon batches. So my current 9 gallon pot and 5 gallon cooler mash tun is almost perfect for the styles i brew. Could always use a bigger pot and Fermcap helps keep the boil overs under control.

I really like the idea behind this design its simple compact and efficiency is pretty damn close to what i get now about 75%.
 
Mine is easier and has no logic behind it except "Why not?"...

I heat my strike water in my kettle, mix it with my grain, then heat the sparge water (all of it). After 45 mins I start to recirculate all the liquid between both vessels, I do this for 45 minutes, then I move it all to the kettle and boil as usual.
 
I've been following this thread with interest (as I got two RasPi's in the first run) but just started brewing last fall and now it's time for me to start an automated system. I built one small electric panel but now for the automation.

I was wondering about the display. I've seen several cheap android based tablets lately and expect to see more around Thanksgiving. Could I substitute one of these for the touchscreen display if it has a hdmi port or just use it's wifi? Could it be headless and just use my iphone? What are the benefits as you see it?

Also, for a liquid level sensor could this ultrasonic sensor be used if mounted above the HLT or BK? I picked one up and have been playing with it for a parking assist so I don't run into my kegerator with my new Camaro. :rockin:
 
Last edited by a moderator:
Android tablets could be used as a controller, set them up over WiFi to access the WebUI and you can set up SSH to run the actual controller itself (just make sure you use screen so it doesn't die when SSH disconnects). Using them as an actual screen connected directly is difficult (read: impossible) to my knowledge.

I use mine headless at the moment (trying to focus on that first) before I spend time getting the Screen working.

The ultrasonic sensors may be affected by the steam coming off, I've never used them since I felt they'd be a bit annoying. I'm going to be using an aquarium pump and diptubes to get an accurate reading, hence why I moved off the RaspberryPi (I need an analogue input)
 

Latest posts

Back
Top