Home Automation blog

Skip to Content

Arduino hot water controller

Posted by Chris

Date posted:

Inspired by SuperHouseTv's video:

I was able to find a new controller on eBay which I now keep as a backup. Allowing me to hack the original controller. My controller is a newer model: difference being it's smaller and the power wires were soldered in.

I unsoldered the original power wires, replaced them with a cat5 cable to provide 8 wires to the PCB. Two being the replaced power wires, two for on/off, two for up, two for down. With a cat5 plug terminating the other end of cable.

Using a cat5 wall socket I've got the the original power wires patched (using 2 pins) which returns to the hot water system. Plus the another cat5 cable patched (using 6 pins) which runs to my server rack where the Arduino is.

Diagram of hot water controller wired to Arduino

In Node-RED

I've setup a HomeKit Thermostat accessory to control the temperature. I did have to update the HAP-NodeJS config files to allow the temperature values to range between 0ºC and 50ºC. Originally capped at 38ºC.

MQTT nodes are pictured below as purple. The Arduino is sent the following:

  • Sends 0 or 1 to activate the POWER button.
  • Sends + to activate the UP button.
  • Sends - to activate the DOWN button.

The delay node receives the updated current temperature which is passed on and received as input to the "Shower In" function node, which updates the status for the HomeKit Thermostat node. The process is repeated unitl current temperature is equal to target temperature.

node-red flow of hot water controller


View similar posts categorised as: Arduino Node RED HomeKit