So, I've been working on this for a month or so, initially the hardware used a program that steve71 made on HBT, but I found it was extremely limited (1 output, a specific controller input, and some other annoyances). The next iteration needed to be rebased, and now I've made significant improvements
First things first: Github Repo for the code - Elsinore Server
Elsinore Android App
I will add be updating frequently as I find improvements/bugs, this is an Alpha for all intents and puposes
So the raspberry pi is a tiny (credit card size, almost), cheap ($35) PC with GPIO, 1Wire, PWM, and more on it, but it has the advantage of being able to run full linux in a low power environment via an SD card.
The basic setup is:
Raspberry Pi with Debian installed and 1wire modules, connected to 1wire DS18B20 probes, and SSR outputs.
The inputs are the 1wire probes, which are accurate enough for this kind of work, they can be chained on one bus which helps to reduce footprint.
The SSRs control the -120v and +120v (or just one if you want to save a bit of cash) to the elements.
It is designed to throw JSON style data out constantly (using the /getstatus URL):
In this example the HLT is setup as a PID (there's a GPIO pin setup in the config file, and a temperature probe setup), the Kettle is setup with a probe and no GPIO, so it's only reading the temperature.
Here is an example of the Android I have made, and uploaded, (ignore the names of the devices, I've been playing)
The settings allow you to specify the server name and port, as well as the refresh time.