There is an interesting and confusing interaction between climate.set_preset_mode and climate.set_hvac_mode using the Tado integration with v3 internet bridge.
Just recently switched from Netatmo thermostat and valves to Tado thermostat and valves (mainly because Tado supports different modulating protocols, i.e. ebus, opentherm, etc) and had to reconfigure HA to operate my heating.
So when you change the temperature of one of the valves manually with for example:
The hvac-mode is changed from auto to heat. In order to have the valve go back to Resume Schedule (which is the term that the Tado app uses), you have to do this:
service: climate.set_hvac_mode
target:
entity_id: climate.bedroom
data:
hvac_mode: auto
Interestingly the climate.set_preset_mode will only have effect on the valves/thermostats that are currently running in hvac_mode: auto. So any valve that is currently running in hvac_mode: heat will not switch to the set climate.set_preset_mode. This is crucial to know in order to set the home/away preset mode.
So you first have to make sure that all entities are running in hvac_mode: auto before you set preset_mode: away. If you don’t then the entities running in hvac_mode: heat will remain in this mode even when the rest switches to preset_mode: away. Your valve will remain on all the time, even when you have left the house.
For climate.set_preset_mode no target is needed.
You actually have to set a target otherwise it won’t work.
Just some help for others struggling with how Tado and HA interact:
Thanks a lot for this! Working with Tado Bridge v2 too. Somewhow it didn’t work the first time reading other posts/documentation, so using your post it worked.
This is much better than what I was doing: setting a temperature and a huge timer to simulate Tado’s option “until user cancels” that I was using also in IFTTT. I didn’t find this option in HA.
EDITED: I misunderstood the post, which kind of solved another issue of mine: when changing preset_mode in HA, it changes in the app but not in HA itself (weirdly) unless certain other actions are made (eg. changing hvac_mode or temperature), which forces a bi-directional sync with Tado that only preset_mode doesn’t. I now understood the difference when re-visiting the topic.
Additional note I ran into: make sure that each time slot in the schedule has Geofencing toggled on, otherwise the Preset mode (Home/Away) won’t do anything to the temp/schedule. And of course have the right temp for Away mode (2nd tab in Scheduling).
Do these changes from home to away get displayed in HA for you? If i change it via the service call it gets changed in the tado app but home assistant is always at “home”. The displayed temperature isn’t changing either.
Note that changing preset_mode from HA will send the info to Tado, but won’t update the HA device nor sync back with Tado, until the next sync (5-10 minutes). Unless you set hvac_mode or change the temp after, which does force a bi-directional sync.
In any case to answer you: changing from home to away in HA is changing the mode in Tado (as you can see in the app), which is the important part. However, HA is not syncing back from Tado for a few minutes (nor even updating the mode based on the instruction it just send to Tado…), which is only a “visual” thing in HA.