PiStat - Smart Central Heating

About This Project

I wanted a way to turn my heating and water on or off, from anywhere. I started this project after seeing some tutorials on simulating the ‘advance’ button being pressed on the heating control panel. I wired a RPi Zero up to the PCB of the panel, so that I can use input GPIO to read if the LEDs are on and output GPIO to short out the ‘advance’ button with a transistor, which behaves as though the button has been pressed.

Originally I achieved this by running scripts on the Pi Zero from buttons on a PHP web page, hosted on the Pi using Apache. This worked fine but I found it difficult to add security to the web page when accessing from outside my home network. With Cayenne this was a piece of cake!!

I’ve got a second Pi Zero that I’m using as a remote thermostat. I can move around the house and use it to moderate the temperature of a specific room by controlling if the heating is on or off.

What’s Connected

WiFi RPi Zero connected to home heating control panel.
Generic actuators-button as digital output to change GPIO State
Generic sensors as digital inputs to read the GPIO State
(Hardware, sensors, actuators, device model, WiFi, etc.)

2nd WiFi RPi Zero with DS18B20

Triggers & Alerts

I have a trigger that detects if the button has been pressed. The button is then turned off, so that the GPIO goes High (providing current to the transistor so it bypasses the advance button on the PCB) and then Low again (so the button is ready to be pressed once again).


No scheduling yet but I am going to use this to determine when the heating and hot water come on/off

Dashboard Screenshots

Photos of the Project


Cool project. It’s always fun to integrate with existing hardware!

Very cool!

Thanks both!

The next step is to increase the number of temp sensors throughout the house and eventually I’d like to swap some of my radiator valves for RF versions, bit too pricey for those yet though!

I’m not sure of the best way to achieve the next steps. Could anyone tell me if it’s possible to have lots of arduino’s with 433MHz tx providing info to a single arduino with rx (that’s connected to the local network) and then pull this info into Cayenne? It seems as if MQTT is the way forward but I don’t really understand this method and I’m not sure if this will only work over an internet connection.

Any pointers would be greately appreciated, I can’t believe I’ve got this far! :grinning:

1 Like