I’ve been using Home Assistant for a few years and already built plenty of smaller automations like controlling fans and electric heaters based on temperature, reacting to open windows or doors, and adjusting things depending on who’s home. Those have been working great, so now I’d like to take the next step and move my entire heating system to a fully local setup running through Zigbee2MQTT.
What I’d like to build is a system where every room has a smart radiator valve that regulates itself but can also be controlled directly from Home Assistant via Zigbee2MQTT. A wired central thermostat would control the boiler, and Home Assistant would act as the coordinator. When any room drops below its target temperature, HA tells the thermostat to start heating. Once all rooms reach their setpoints, it stops the boiler again.
Everything should continue working even if the internet or Home Assistant goes down. The radiator valves should still regulate locally, and the thermostat should stay manually usable.
I’ve been looking at thermostats like the Avatto ZWT100 and the Emma Wired Pro, and at radiator valves such as the Aqara SRTS-A01 that integrate well through Zigbee2MQTT. My goal is to keep everything completely local without relying on Tuya or any other cloud service.
I’ve read a lot of discussions about TRVs and thermostats separately, but I haven’t found a clear example that shows how to connect everything into one complete local system with both boiler and TRVs working together. I’m getting a bit lost in all the different setups, so I figured I’d just ask directly.
Does this setup make sense? Has anyone built something similar, and if so, which thermostats and TRVs worked best for you in a fully local Zigbee2MQTT environment?
Thanks for any advice or experience you can share.
Michael
I’d probably build it with ESP-Home.
But where are you running the MQTT coordinator from? HA?
Is there a need for it to keep running when your WiFi router goes down?
I think I might not have explained my main goal clearly.
I’m less focused on which devices or protocol (Zigbee, ESPHome, etc.) and more on whether the overall logic would work properly inside Home Assistant.
In other words, can HA reliably manage this kind of setup where:
• each TRV controls its own radiator locally, and can be controlled via HA
• HA collects their temperature/setpoint info,
• and then tells a central thermostat or relay to start/stop the boiler depending on room demand.
Zigbee2MQTT would just be my preferred communication layer because it’s local and robust, but I’m not tied to it, if ESPHome fits the same logic better, that’s fine too.
So the question is really about whether this control flow makes sense in HA and whether anyone has made this kind of “TRVs + central boiler coordination” work reliably.
One important requirement for me is graceful fallback. If Home Assistant goes down, I still need basic heating to work in a sane way:
• I need to be able to walk up to a TRV and turn it up or down by hand so that radiator heats or closes.
• I need to be able to walk up to the wall thermostat and turn it up so the boiler turns on, or turn it down/off so the boiler stops.
I’m fine with losing the “smart coordination between rooms” if HA is offline. I just don’t want the whole house to go cold. because the automation layer crashed, or because Wi-Fi dropped.
So without HA/zigbee/wifi is must work like a normal not smart system. But as far as I can see, that’s not the biggest challenge. All devices seem to be able to be operated manually locally.
If I am not mistaken, OpenTherm is a thing in the Netherlands. So you should be aiming for a heating system supporting OpenTherm. The. You can use Smart Autotune Thermostat in Home Assistant. There is a long thread about that here on the forum as well.
I use a Hive Thermostat and TRV’s which are integrated to HA using Zigbee2Mqtt - note: I do not use the Hive App and am not using a Hive Hub.
If HA goes down, I place the thermostat in a convenient location which will turn on / off the boiler based on the temperature in that location. If you use the coldest room, then heat will be provide to the system and you can use the TRV’s to close a radiator.
When HA is running I use automations to set the Hive Thermostat to high / low values to trigger the boiler to provide heat - effectively making the thermostat and on/off switch for the boiler.
It depends on how you want to manage the boiler.
If you choose to set a smart relay (dry contact boiler scenario, very common in the EU) in parallel with the boiler/central thermostat you’ll be able to start heating from either one.
HA up:
I don’t have TRV so not an expert here but you should be able to centrally detect and set individual temps.
Then it’s simple, you create a simple automation that has all the thermostat as input in an OR scenario and the smart relay as output.
Once a single room requires heat the boiler start.
If HA goes down the cerntral/boiler thermostat kicks up, you just have to set its set point half a degree lower than the ideal so the central thermostat enter the game only as a failsafe.
In this case you’ll lose the possibility of starting heating on a zone/room different from the one containing the boiler thermostat
Do you mean that I should connect a separate relay “next to” the thermostat?
Wouldn’t it be possible to control the central heating with a “smart” thermostat connected to HA via Zigbee?
The boiler I want to control is an NxT HRC 24/CW4 and supports OpenTherm.
With a smart thermostat I think you’ll be forced to act on the room setpoint (increasing it) to force the start of the boiler if a room different from the one where it is placed requires heating.
I’d chose to leave a dumb thermostat as it is and set a smart relay in parallel so you’ll be safe even from botched firmware upgrade on the smart thermostat (your error or worse the smart thermostat producer error).
I’d go for the smart thermostat only If you’ll need to start/set the boiler while away and you haven’t in place any way to reach your HA from outside (VPN vs HA Cloud).
Sorry I just read that your boiler supports OT. With a smart thermostat that supports OT (if your "dumb thermostat did not do it already) you’ll be able to regulate the boiler power in relation with the room temperature difference from the setpoint (mor power with colder room, less power with warmer one).
Take a look at OT integration here on the forum, there are solution for it.