One part of this project that I think might be fairly widely applicable is the zero-overhead way that I am generating a graphical web interface. 

C-code on the ESP32 procedurally generates SVG files with embedded hyperlinks. These can be displayed by (almost) any web browser. But the ESP32 doesn't need any special GUI libraries to do this, keeping the code size down. 

Because of this the graphical building layout is easy to modify too, as each room is just a short string of SVG (this can be seen in the setup screen shown) 

By holding down the boot button during startup the system will boot in AP mode to emable the Wifi credentials to be set up. But typically it acts as a device on the network.  As an aid to access from outside the local network it will send the current external IP address by email to a designated address. An email is also sent in the case that a fault is detected,eg a sensor fault or a valve stuck open or closed. 

The various pumps and the boiler are controlled by generic relay boards, and connected via Neutrik PowerCON connectors. 

To connect the zone valves I am using Neutrik SpeakCON connctors as these have 4 poles, allowing me to both power the valves and detect the open/closed postion. This is achieved with an off-the-shelf mains-voltage IO board. 

In an attempt to increase the reliability of the DS18B20 sensors a one-wire bridge is included, powered by a separate 5V power supply.