When you get into home automation and want to control your heating intelligently, there's one essential component: temperature sensors. Without them, it's impossible to know if it's 18°C or 22°C in the living room, and therefore impossible to regulate anything. After more than two years tinkering with my heating system using Home Assistant, I'm sharing my experience with two models of Zigbee sensors.
I started with Tuya sensors at around €5 each. And honestly, these little guys ran for over 2 years without a hiccup. Not a single battery change, no connection issues, nothing. They allowed me to control my heating satisfactorily throughout that time.
The only casualty: the one in the shower room, which died after a month. But putting electronics in an environment where humidity regularly exceeds 90% is asking for trouble.
Recently, as part of my project to improve the heating system with the OpenTherm Gateway (that'll be another article), I wanted to test something more "serious". So I ordered SONOFF SNZB-02P sensors at around €12 each.
And there, first disappointment. The default settings send an update every 30 minutes, or when there's a 1°C difference. Let me tell you, for a heating system that needs to react quickly, that's not great. You risk ending up with temperature oscillations worthy of a roller coaster.
Fortunately, you can modify these parameters in Zigbee2MQTT. Here's the configuration I use:

These settings allow sending temperature much more frequently. Obviously, this comes at the expense of battery life, but for a responsive heating system, it's an acceptable trade-off.
However, be careful: changing these parameters doesn't work when the sensor is in deep sleep (which is almost all the time, to save battery). To make it work, I had to:
It's a bit of a cat and mouse game, but once it's done, it's done.
An idea I haven't implemented yet but keeps running through my head: create an automation in Home Assistant that, each time a value is received from the sensor (when we're sure it's not sleeping), checks the season and adapts the reporting parameters accordingly.
The idea would be:
The problem is that configuring these values doesn't seem to be possible directly in Home Assistant for now:

But there's surely a way to do something via MQTT directly or a Z2M service. Worth exploring.
These new SONOFF sensors are very promising after some tweaking. The value for money is good, accuracy seems decent, and once properly configured, they do the job for controlling a heating system.
However, I don't have enough hindsight yet on battery life with my aggressive reporting settings. I'll do an update in a few months to let you know if they hold up.
Hope this helps anyone struggling with the same topic!