🔥 Advanced Heating Control

Many thanks for your help! At first in the automation it shows an error when I choose the .5 temperature. After a reset it was working correct m.

The second one is a bit strange, I use the Honeywell Evohome and that system changes the preset to temporary and it shows the schedule of my Evohome in stead off the schedule from HomeAssistant I setup as you mentioned.

This is a problem of my Evohome I guess, so putting the preset on Permanent will make sure that I only follow the HA schedule.

I will try the add on you suggested, tomorrow when I have some time! Thanks

1 Like

If you want you can test the blueprint with temperature calibration. It isn’t merged in the main branch.
You need a number entity which is part of the device id of the trv. The entity id must contain ‘calibration’. It’s the case if you are using z2m for example. So you just need to define an external sensor and every 10 minutes the trv will be calibrated.

1 Like

Good day. I really appreciate your work and admire you. I set everything up according to your description. I have only one problem so far. My heads (TS0601_thermostat) are always set to the desired temperature, but the

system mode->heat 

I would need to change it to

system mode->auto 

… is it possible to modify it somehow? It really looks very usable and is close to perfect for me.

Hey, changed mode to auto instead of heat. Just refresh your blueprint. :wink:

//EDIT: I dont know if auto is the right mode. When set my thermostats to auto they regulate themselfes to 20 degrees. I think the auto mode activates the inbuild scheduler of the TRVs. Correct me if I am wrong.

Snímka obrazovky 2023-01-17 o 18.47.27apparently you were right about the automatic mode. So I deleted it to be sure and set everything anew and it still opens the heads to the maximum even when the desired temperature is set. Is it possible that the headers do not support it?

I’ve read something about this. It’s a bug in the firmware of the ts0601 trvs but maybe there is a solution for you:

Further more the some trvs dont regulate the valves in small steps. Some of these just open up to 100% and close to 0%. So for some devices there is just on and off. I think my hama trvs regulate like this.

Could you please provide an example? I don’t quite understand what I should set up in Z2M. Thank you! This blueprint is amazing!

1 Like

It depends on your trv. If it supports calibration e.g. z2m provides an calibration entity. In its id calibration is set per default.
If its the case you can simply provide an external temperature sensor.

1 Like

UPDATE: You can now add an external sensor. If your TRVs supports calibration and there is a calibration entity with calibration or offset in its id you are free to add an external sensor. Now the TRVs get calibrated every 10 minutes. It doesn’t matter which zigbee integration you prefer.


First off, thank you for building this blueprint, it’s exactly what’s needed to control TRVs in my house.

Can I request ‘If-then’ style functionality for selecting across multiple Schedulers? The use case is to have user-defined criteria to select between a ‘regular’ schedule for the TRV and another schedule e.g. when the kids are at home for school holidays and room occupancy is different.

Separately, I don’t think my TRVs support calibration based on the entities I can see below.

Is there a way to update the blueprint to calibrate TRVs like mine to external temperature sensors? I guess that for now I could use your blueprint in conjunction with this blueprint to achieve the same outcome? Blueprint to set external sensor temperature to Aqara E1 thermostat · GitHub

1 Like

Hi Rahul,

yes the aqara e1 has no calibration support yet. Maybe there will be a custom quirk in future. Have an eye on that repo.

Ofcourse you can simply use an additional blueprint for that purpose. Just be sure that temperature and mode will not be set by it and leave the external sensor empty since your trv gets support for calibration.

For your first problem: You want to add a 2nd scheduler for holidays and you need an input (boolean) to switch between the holiday and the regular scheduler. Is that correct?

Yes, in my case since I have only two variants: ‘regular’ and ‘school holidays’ an input boolean would work great.

1 Like

Hey, guys!
panhans, thank you for this amazing blueprint!

On my end, when the automation is enabled, the aqara e1 is set to hvac_mode: ‘off’, disregarding all values in the “Comfort temp” and “Scheduler” helpers.

If you have faced similar issues, can you please share how to overcome them or maybe ideas on how to debug?

1 Like

Did you specify an input boolean for winter mode? It has to be enabled otherwise the trvs will always be set to off.

Actually the only setting I did not try. Thank you for your prompt response :slightly_smiling_face:

1 Like

Indeed that should be optional. Will be fixed in the next release.

Here is a beta branch of the blueprint with holiday capability. Feel free to test it and give feedback.

1 Like


  • 2nd holiday scheduler and input boolean to switch between regular and holiday scheduler
  • presence sensor: You can define a time window before your scheduler turns off next time. If that sensor turns off the trv will be set to your minimum temperature

In my case I defined a binary sensor based on the states off my lights. If I turn off the lights two hours before the scheduler turns off the trv will be set to minimum. Thats the case if I want to go to bed earlier.

1 Like

Thank you for this blueprint which will help me with my heating system.
I don’t have much experience, I’m trying to learn as much as I can.
I have a question, at the moment I have a relay switch that allows me to turn my boiler on or off and TRVs in some rooms. Where should I set my relay swich so that my boiler turns on when the comfort temperature is not reached ?

Hey, sadly this is not part of this blueprint. Since every trv works different. Most tuya TRVs for example has an +/- 1.5°C window around the target temperature. It means if you targeting 20°C some TRVs close the valves at 18.5°C.

Some trvs provide the attribute of the valve position. (0-100%) If this is your case you can use it for an automation to toggle your boiler switch. Otherwise you have to use an external sensor or the current_temperature of your TRVs.

You can start with this for a new automation:

  1. Create an new automation, press the upper right button and enable yaml mode. Then copy paste this:
description: ""
mode: single
  - platform: state
      - sensor.livingroom_temperature
  - platform: state
      - sensor.bathroom_temperature
condition: []
  - if:
      - condition: numeric_state
        entity_id: sensor.bathroom_temperature
        below: input_number.bathroom_comfort_temperature
      - condition: numeric_state
        entity_id: sensor.livingroom_temperature
        below: input_number.livingroom_comfort_temperature
      - service: switch.turn_on
        data: {}
          entity_id: switch.boiler
      - service: switch.turn_off
        data: {}
          entity_id: switch.boiler

Now you can switch back to UI-Mode. Try to understand the automation and just add/edit your entities. Hope it helps.