Set presence for Tado integration

The Tado integration misses some functionality that Tado API provides, mainly for manually setting the Tado presence mode (to HOME, AWAY or AUTO). I know it is possible since the Tado API client for Node-Red does support it. I would love to migrate these flows from NR to HA, and this is the missing piece.

This is a crucial step in being able to create a guest mode (set HOME when guest mode activates, set to AUTO when guest mode deactivates).

NR client: GitHub - mattdavis90/node-red-contrib-tado-client: Tado web API client node for Node Red

The code for this API call seems very simple, lemme see if I can get this done with my very limited Python skills…

case "setPresence":
                    call(arg("homeId"), arg("presence"));
                    break;

You can toggle home / away modes via a HA service:

service: climate.set_preset_mode
data:
  preset_mode: away
target:
  entity_id:
    - climate.hall_heating

You only need to target this to one entity ID as this is a global setting anyway. We have all rooms with smart heating and although some entities in HA will still show ‘home’ and only some will show ‘away’ correctly (don’t know why) however more importantly Tado will correct show the home / away state in the tado app.

1 Like

This does not work to set it back to AUTO in my experience.

All 3 modes work perfectly for me.

Confirmed that below does not work for my Tado setup (v2):

service: climate.set_preset_mode
data:
  preset_mode: auto
target:
  device_id: xx

That’s because ‘auto’ is not a preset mode it’s a HVAC mode so you might get it to work if you use the right command:

service: climate.set_hvac_mode
target:
  entity_id:
    - climate.hall_heating
data:
  hvac_mode: auto

This also does not work on the climate entity I’m afraid. I think the differences might be because of different generations of Tado products/subscriptions?

That’s a shame, I guess it must be generational as I use the above to set the whole system back to auto when the house becomes occupied.

The following sets me back home and then the app follows the schedules/temperature set in the app

service: climate.set_preset_mode
data:
  preset_mode: home
target:
  entity_id:
    - climate.hall_heating
1 Like

I can set home & away alright, but the auto mode works fine for me in most cases. I only want to switch from auto to home for a guest mode.
I don’t want to be forced away from Tado’s perfectly fine presence detection for the heating. In general it is more reliable than the tracking on my gf’s iphone for example.

Sorry I misunderstood what auto mode was as I only use HA for my presence. Now I understand after setting your presence mode in HA to home/away you want to set it to auto so your presence is decided by the app again. I’ll add a vote to this in case my current presence solution stops working in the future

How would i actually go about just reading the mode. I want to set a flow where the heating comes on if the temperature drops below a certain level. I have got this working but i was thinking of adding a gate to stop the flow if the away mode has been set. Not sure how i can get the away/home mode config though.

Any ideas?

isn’t that just exposed in the sensor.ROOM_tado_mode?

Did anyone manage to get this working with the local homekit integration?
When using the yaml about; I am getting:

> Entity climate.tado_XXX does not support this service.

I Think when paired via HomeKit the information exposed is more limited, so it maybe that this is one of those examples maybe!

For anyone coming here from google: The tado setting is case sensitive, and the correct terms are home and away. AWAY will not work, even though that’s how tado puts it in their own app.

Question : does the above allow to automatically set the away mode on Tado when HA sees no user is at home (basically doing the same without Tado subscription)?

That’s a good question. I specifically bought (in the past) Tado v3 instead of v3+ because geolocation was still part of the free services in Tado v3. I don’t know if the Home Assistant integration differs for v3 and v3+. Following this :slight_smile: