• Olimex and Supla

    Keri Szafir07/31/2023 at 19:57 0 comments

    Building the project, I focused on readily available solutions rather than re-inventing the wheel. That's why I chose an ESP8266 evaluation board named "Olimex ESP8266-EVB" being basically a base for "ESP8266EX" module. The eval board features a relay and a button, plus some connectors. Connecting it with a contactor controlling the 3-phase electricity to the heater was a breeze.

    In the same vein, I went for already existing software, customizing it if needed. One noteworthy home automation system is Supla; it's very simple to configure and use, pretty popular among Polish makers. Supla can be used with a cloud-based or on-premise server; I went for the latter as I'm distrustful of any home automation or smart devices where you're not in control of the infrastructure required to use the device. Plus I definitely don't want to be locked out in case of network connectivity outage. So, keeping things local, the Keritech way.

    After hooking things up and testing them, the project has been running everyday for 2.5 years until some LAN communication problems broke the connection between the module and server; that was the point where I decided to get rid of Supla and write my own firmware. Before it happened, I kept the local Supla instance as a possible future general home automation system, but didn't pursue the project further due to the cost of the control modules (e.g. smart switches, power monitor etc.). So, my instance controlled the heater and nothing but that; at some point I was considering Domoticz but ditched the effort. I was also thinking about Home Assistant, but never tried it.

    Now, I wrote completely new firmware for the ESP8266; its core feature is a NTP client for synchronizing the local time, and some pretty crude timer control routine meant for use with local split tariff off-peak hours. I also included MQTT, being interested in it in a broader context as a machine-to-machine communication of choice. Bidirectional communication was desired: querying the heater for status (including current water temperature) and remotely controlling it. After a week of development, the firmware was tested, working and ready.

    And here's some overview of the heater control hardware:

    Hope you like it :)