Arduino hot water controller
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.
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.
Hardware
- EtherTen (Arduino Uno Compatible with onboard ethernet)
- POE Regulator module for EtherTen
- Prototyping PCB - for soldering the relays in place.
- 5VDC Reed Relay (x3)
- Optional CAT5 cable for wiring.