External integration - tado°

Your tado thermostats and heads (V3+, V3, V2) and tado X rooms in Gladys, without third-party cloud: the integration speaks directly to the tado API with the official « device code » connection (no password stored, you approve access on the tado page).

What it brings: one device per heating zone (setpoint, off/manual/programming mode, heating on and heating power, temperature, humidity, open window detected, low battery), hot water and air conditioning zones, and one device per home (automatic/home/absent presence, outdoor weather). Optionally, one presence sensor per geolocated phone.

Scenes: « presence changed », « open window », « heating started/stopped », « low battery » triggers; « set a temperature » (until the next block, for a duration, or until modification), « return to programming », « set presence », « read a zone » actions for your conditions.

Dashboard: « Home » (presence, outdoor, all zones, Home/Absent/Auto buttons) and « Zone » (temperature, humidity, setpoint, heating gauge, +/− 0.5 °C, programming, off) widgets.

Limits: built blind, without hardware; tado X (API hops) is the least secure. The session expires after 30 days without use (you need to link the account). Reading every 2 minutes by default, to stay under tado quotas. Not yet: tado X hot water, Energy IQ, air comfort.
If you have a tado, I’m looking for testers.

Thanks for this integration!

I have a Tado X wireless thermostat.

I was able to configure my account (it is indeed in the « connected » state and the test works) but this message appears:

tado° is unreachable: devices[0].features[1].supported_options: « [0].label » must be a string, « [1].label » must be a string, « [2].label » must be a string. New attempt at the next refresh.

But no device is discovered during the scan.

Here is what the log says

[2026-10-27T16:00:50.609Z] [INFO] [tado] tado account linked
[2026-10-27T16:00:50.916Z] [WARN] [tado] tado unreachable: devices[0].features[1].supported_options: "[0].label" must be a string, "[1].label" must be a string, "[2].label" must be a string
[2026-10-27T16:01:27.923Z] [WARN] [tado] Publishing the devices failed: devices[0].features[1].supported_options: "[0].label" must be a string, "[1].label" must be a string, "[2].label" must be a string
[2026-10-27T16:01:34.490Z] [WARN] [tado] tado unreachable: devices[0].features[1].supported_options: "[0].label" must be a string, "[1].label" must be a string, "[2].label" must be a string
[2026-10-27T16:02:51.305Z] [WARN] [tado] tado unreachable: devices[0].features[1].supported_options: "[0].label" must be a string, "[1].label" must be a string, "[2].label" must be a string
[2026-10-27T16:03:01.758Z] [WARN] [tado] tado unreachable: devices[0].features[1].supported_options: "[0].label" must be a string, "[1].label" must be a string, "[2].label" must be a string
[2026-10-27T16:04:51.638Z] [WARN] [tado] tado unreachable: devices[0].features[1].supported_options: "[0].label" must be a string, "[1].label" must be a string, "[2].label" must be a string
[2026-10-27T16:05:13.850Z] [WARN] [tado] tado unreachable: devices[0].features[1].supported_options: "[0].label" must be a string, "[1].label" must be a string, "[2].label" must be a string

Thanks @Damien for the feedback and the log, that was exactly what was needed!

It’s fixed in v0.1.3: Release v0.1.3 · LM1LC3N7/gladys-tado · GitHub

The issue came from the labels of the selection lists (presence, thermostat mode, hot water, air conditioning): the integration was sending them in both French and English, and Gladys only accepts plain text. It therefore rejected the entire list of devices, hence « tado° is unreachable » and an empty discovery. The labels are now plain text (in English), and a test now checks the options with Gladys’s own rules.

To get it: update the integration from the catalog (or reinstall it from GitHub), then restart the scan in the Discovery tab. Your account remains connected, no need to reconnect it.

By the way, the hot water setpoint no longer exceeds 65 °C, even when it is taken from tado or from your programming.

I don’t have a tado X on hand: let me know if your rooms appear correctly and if the setpoint and modes respond, that’s the least tested part.