For a more fine control you can use
switch:
- platform: template
switches:
toon:
value_template: "{{ is_state_attr('climate.toon', 'hvac_action', 'heating') }}"
turn_on:
- service: climate.set_temperature
target:
entity_id: climate.toon
data:
temperature: {{ state_attr('climate.toon', 'temperature') |float + 3.5 }}
hvac_mode: heat
turn_off:
- service: climate.set_temperature
target:
entity_id: climate.toon
data:
temperature: 0
hvac_mode: heat
This way your generic thermostat can control the toon thermostat temperature.
The way Taras suggested is more or less on or off. With the above you can control the set temperature with the generic thermostat.
If you demand 30 degrees from a heater and you only want 20 degrees chances are that it will overshoot its target. All that heat that is “wasted”.
I have seen people here making very advanced templates where you turn down the heat as you get closer to target.
I believe mine is set to 3.5 above the generic thermostat and it keeps the heat quite well.
It should turn on below 21 and turn off at 21.5 while we are home (that is why it drops below sometimes)
The spike is me putting my hand on the radiator to make it switch off, I just wanted to see if the battery was OK in the TRV