i configured rest sensors that query the tado api v2. the mobile/1.9 api does not seem to support zones. this still doesn’t solve the problem of displaying the set and the actual temperatur together, put i lets home assistant gather all tado data from all zones — and lets me push and view them in grafana.
(replace HOME_ID, USERNAME and PASSWORD with your own values and query all avalailable zones.)
sensor:
- platform: rest
resource: https://my.tado.com/api/v2/homes/HOME_ID/zones/1/state?username=USERNAME&password=PASSWORD
value_template: '{{ value_json.sensorDataPoints.humidity.percentage }}'
unit_of_measurement: °C
name: 'tado zone 1 humidity'
- platform: rest
resource: https://my.tado.com/api/v2/homes/HOME_ID/zones/1/state?username=USERNAME&password=PASSWORD
value_template: '{{ value_json.sensorDataPoints.insideTemperature.celsius }}'
unit_of_measurement: °C
name: 'tado zone 1 temperature'
- platform: rest
resource: https://my.tado.com/api/v2/homes/HOME_ID/zones/1/state?username=USERNAME&password=PASSWORD
value_template: '{{ value_json.setting.temperature.celsius }}'
unit_of_measurement: °C
name: 'tado zone 1 set temperature'
- platform: rest
resource: https://my.tado.com/api/v2/homes/HOME_ID/zones/1/state?username=USERNAME&password=PASSWORD
value_template: '{{ value_json.activityDataPoints.heatingPower.percentage }}'
unit_of_measurement: '%'
name: 'tado zone 1 heating power'
i particularly like the heatingPower.percentage which lets me observe how the thermostats request heating power from the boiler.
btw., there is a way to also set the temperature manually, like stephen c phillips pointed out here. it actually works, if you send a PUT request to
https://my.tado.com/api/v2/homes/HOME/zones/1/overlay?username=USERNAME&password=PASSWORD
with a payload like
{setting: {type: "HEATING", power: "ON", temperature: {celsius: 22}}, termination: {type: "MANUAL"}}
even if the tado api is not official or public yet, with this data it should actually be possible to build a custum component, possibly by fiddling with the generic thermostat component.