Best Thermostat (TRV) for Advanced Heating Control blueprint

I’ve been using Homematic and Homematic IP for several years, and recently I started looking into even smarter heating automation. It didn’t take long until I found and started using the 🔥 Advanced Heating Control blueprint by panhans.

After trying out some edge cases, I realized that my thermostat may be lacking a few features, mainly:

  • not automatically resending a failed command (which is somewhat masked by AHC simply running again after some time — but it still leads to longer heating/cooling times)
  • commands failing quite often because the device is offline/unreachable, due to:
    • too many commands being sent
    • the “duty cycle” maximum being reached (a legal requirement for devices operating in the 868 MHz range)
    • poor reception / too much interference
  • not accepting an external sensor, other than by hard-linking another sensor from the same ecosystem (which then overwrites the internal sensor)
  • not allowing the valve opening to be set directly
  • producing strange results when using AHC’s generic calibration (this one might be user error)
  • the ability to sync back physical/manual changes while using calibration

I thought a device that more closely matches the development environment might be the best bet, so I asked the creator himself:

…so I bought a “Sonoff TRVZB”. In general, I’m really happy with the number of features and the build quality I get for a very low price. However, I’m missing some features I’m used to:

  • seeing the actual valve opening
  • reaction speed (3-15s instead of consistently 1-2s on homematic)
  • other minor (less important) things:
    • direct linking of sensors (I’m not actually using it, but it feels smart)
    • boost mode (setting the valve to 100% for e.g. 30 minutes via a physical button)

Which leads me to the big question:

Which TRV might be the optimum specifically for using a blueprint like 🔥 Advanced Heating Control ?
(In other words: which TRV gives you the most control via an open system like Home Assistant while still having reasonable build quality?)

For anyone who’s interested, here’s a visual comparison of the entities provided by a Homematic HM-CC-RT-DN and a Sonoff TRVZB:


(a HmIP-eTRV-2 exposes the same entities as the HM-CC-RT-DN)

The actual valve opening is the “Ventilöffnung” Entity in your screenshot. The Sonoff is stupid. With AHC you can configure the PID / Valve Opening dynamically. In your case it’s 100% open. Without any logic it only switches between 0% and 100%.

Maybe this is zigbee related or an internal debounce feature? For me those timings are negligible for this purpose. But this is your preference. :wink:

This is done via calibration using the external sensor in AHC. Since yes, the thermostat is feature rich but stupid. :wink: Maybe we will get this with a future firmware update.

Just can be triggered in home assistant. Or simulated in AHC with force max temperature feature. But not possible by pressing the wheel of the thermostat. A seperate cheap zigbee button could be a workaround.
Depending the PID settings in AHC it’s always fully open if the difference between target and room temperature is large enough.

Maybe eve is something you’re looking for?

The actual valve opening is the “Ventilöffnung” Entity in your screenshot. The Sonoff is stupid.

For my configuration both Ventilöffnung… (german for valve opening) are staying at 100. One is called “valve opening angle”:

and the other one “valve closing angle”:

If this is the actual opening of these should have changed at some point, since heating is taking place in the moment (and 10 hours ago it was not).

My best guess was that these entities are the minimum and maximum valve opening. But still, both values staying at 100 doesn’t make sense. Maybe I got it wrong?

With AHC you can configure the PID / Valve Opening dynamically. In your case it’s 100% open. Without any logic it only switches between 0% and 100%.

Right! This is additional configuration done in the “Dynamic Valve Positioning” section, right? Since it did not work with old thermostat I haven’t enabled that. Gonna try later.

Maybe this is zigbee related or an internal debounce feature? For me those timings are negligible for this purpose. But this is your preference. :wink:

In normal operation it is negligible. But for testing out stuff, fast reaction is really nice :slight_smile:

This is done via calibration using the external sensor in AHC. Since yes, the thermostat is feature rich but stupid. :wink: Maybe we will get this with a future firmware update.

Just can be triggered in home assistant. Or simulated in AHC with force max temperature feature. But not possible by pressing the wheel of the thermostat. A seperate cheap zigbee button could be a workaround.

No deal killer for me either, just wanted to point out, that the Homematic way seems nicer from a user perspective.

In the end these are just actuators. But with so many to choose by, some actual insights of using these in real life could help someone else choosing the right one.

Maybe eve is something you’re looking for?

I’d be open to try. Why do you think Eve is a good choice?

I own some Eve matter plugs and a water guard. With them it was a little annoying that they needed to be installed as a homekit device. But maybe that has changed since Matter is the new standard and also it was just annoying in the first hour. So yeah, I’d be open to test.

Happy owner of TRVZB’s (4)

seeing the actual valve opening

Do you actually mean visible on the device itself?
In HA, I can see if - if I want to anyhow - the changes:

reaction speed (3-15s instead of consistently 1-2s on homematic)

Maybe there is something wrong with your setup, reaction speed is not instant but definitely never 15s.
In case you have not thought about it: faster response comes at a cost of battery life and rotation sounds.
On top of that: do you sense the changing temperatures in the room that fast and does it make any sense to be able to open/close them faster?

Your less important things:

  • what do you mean by ‘direct linking’?
  • boost mode can be achieved with HA and probably even much more flexible then any other built-in solution

If the thermostat heats, means the target temperature is greater than the local one. The valve opening is set to this value. Vice versa if the target is reached the valve closing value is set.

In your case:

Target: 20°
Local: 19°
HVAC-State: Heat
Valve Position: 100%

Target: 20°
Local: 21°
HVAC-State: Idle
Valve Position: 0%

That’s why I’d implemented a logic to slowly close the valve opening value if the target meets the real world temp.
If the PID regulation won’t work for you, just let me know.

From what I’ve read they have an automatic PID regulation ect. But I think this needs a little more investigation. For me the SONOFFs working like a charm for my needs.