Heating, underfloor, with PID controller, Home Assistant and Waveshare ESP32 relay board
In previous posts, I’ve been testing and figuring out how to manage my old
control system for our underfloor heating. Now, it was time for something
more bold, and since I’m increasingly impressed with Home Assistant(HA) and
its software capabilities, that’s exactly what I did.
Industrial-style ESP32 boards are becoming increasingly popular for Home
Assistant and automation projects, especially when they include Ethernet,
isolated inputs and relay outputs on a single PCB. The
Waveshare ESP32-S3-ETH-8DI-8RO(W8) is one such board: it’s compact, well-equipped and clearly designed
for serious control applications, rather than just hobbyist breadboards.
In this post, I’ll share my experience setting up this board using
ESPHome, pointing out the
main configuration points, common mistakes and practical lessons I’ve
learned along the way.
Introduction
Introduction
Hardware
Since my underfloor heating systems have 7 zones I have picked the
mentioned W8 which have 8 relays. The last eighth relay will handle the
circulation pump. Relay output is chosen since the actuators for the valves
are using 24 VAC.
It is also important to mention that W8 have a native
Home Assistant integration
I will need 7 thermometers, one for each zone, and are for the moment doing tests with
RuuviTag, a little
expensive, and
Zonoff SNZB-02D, just 0.2 C resolution.
Software
As said the base is HA with ESPHome, installed as an "Add on", and
the HASmartThermostat, installed via "HACS".
ESPHome(EH)
EH was new for me so we take it from the beginning......and yes there are other ways to compile and upload to an ESP32 device ! 😉
The first thing is to create a file, on your PC, named "W8-eth.yaml" and paste in the content from the EH site
config for W8. Don't change anything !!
If you check the configuration you will find references to several "!secret" values. When ESPHome parses the config file it always attempts to
load the file "/homeassistant/esphome/secrets.yaml"
# ESPHome API encryption key (32-byte Base64)
api_encryption_key: "3HbA4aOAE06+l1/EJR2w8wbZ11EtC4="
# OTA update password
ota_password: "xyz"
api_encryption_key: "3HbA4aOAE06+l1/EJR2w8wbZ11EtC4="
# OTA update password
ota_password: "xyz"
The key can be
retrieved from here and the password can be anything of your choice.
Then "ESPHome Builder => + NEW DEVICE => Continue". Drag the "W8-eth.yaml" to the opened popup. "Install => Manual download", the
compilation is starting and you can follow the progress.
After the compilation is finished "What version do you want to download => Factory format" and the file will be saved in "Download". Go to https://web.esphome.io/ and click on "Connect" and you will probably see something like "USB JTAG/serial debug unit". Choose it "Connect => Install => Choose file(the .bin file) => Install". After the install "RESET DEVICE" and the W8 will boot up.
Go to "Settings => Integrations > ESPHome => Add device". Enter the IP adress or hostname and the W8 will be added with 27 entities. Check the function activating a relay.
Remarks
Compile error
If you have updated EH or getting a compile error always use the "Clear all" button in the upper right. This is effectively resetting the build environment for everything and ensures a fresh complete rebuild from scratch.
Browser
ESPHome Web requires a browser that supports WebSerial. Please use Google Chrome or Microsoft Edge.
Smart Thermostat
.
.
.
To be continued !

Comments
Post a Comment
Feel free to leave a comment ! ... but due to a lot of spam comments I have to moderate them. Will reply ASAP !