Loading repository data…
Loading repository data…
hiall-fyi / repository
Community-maintained Tado integration for Home Assistant — local HomeKit control, multi-home, smart valve compensation, quota-aware polling
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
The Tado HA community's wish list, shipped. Local HomeKit control, multi-home, smart valve compensation, weather compensation, and a polling system that respects Tado's API quota.
Quick Start • Features • Configuration • FAQ • Discussions
Tado CE is an alternative Home Assistant integration for Tado, built around requests the official integration hasn't picked up. Almost every feature here started as a GitHub issue or a Discussions thread — users with low API quotas asking for HomeKit local reads, OpenTherm boiler owners asking for flow-temperature modulation, multi-home accounts asking for proper isolation, radiator-TRV owners asking for external-sensor compensation. The 4.0 release is the first stable cut that pulls all of those together.
Developed independently of Tado. Targets Tado V2, V3, and V3+ hardware.
Three situations where it's worth considering:
If none of those apply, the official Tado integration is fine — Tado CE isn't positioned as a replacement for healthy installs, but as the option when a specific need arises.
| Feature | Official Tado | Tado CE |
|---|---|---|
| Climate, AC, hot water control | ✅ | ✅ |
| Presence / geofencing | ✅ | ✅ |
| Weather data | ✅ | ✅ |
| HomeKit local control (LAN, quota-free) | ❌ | ✅ |
| Multi-home support | ❌ | ✅ |
| Smart Valve Control (Offset Sync / Valve Target) | ❌ | ✅ |
| Weather Compensation (OpenTherm flow temp) | ❌ | ✅ |
| Actionable Insights | ❌ | ✅ |
| Thermal analytics / preheat advisor | ❌ | ✅ |
| Mould-risk monitoring | ❌ | ✅ |
| Schedule calendar entity | ❌ | ✅ |
| Adaptive polling (API-quota aware) | ❌ | ✅ |
| Hot water timer (down to 1 minute) | ❌ | ✅ |
| Tado X series (Matter / Thread) | ✅ | ❌ |
Tado X is intentionally out of scope — those devices are Matter-over-Thread and handled best by Home Assistant's native Matter integration. A short migration note is in the FAQ.
Heads up for v3.x users. A future v5.0.0 will drop the in-place migration code that upgrades v3.x option keys, entity IDs, and storage layouts. If you're on v3.5.3 or earlier, upgrade to any v4.x release first (your settings carry over automatically), then upgrade to v5.0.0 when it lands. Running v3.x to v5.0.0 in one jump won't be supported. No timeline for v5.0.0 yet, so there's no rush.
Tado CE is in the HACS default store, so no custom-repository setup is needed.
The button above takes you straight to the Tado CE page in HACS.
Copy the custom_components/tado_ce/ directory from this repository into your Home Assistant config/custom_components/ directory and restart Home Assistant.
No SSH, no manual token extraction, no YAML.
Check Settings → System → Logs for:
Tado CE: Integration loading...
Tado CE: Polling interval set to 30m (day)
Tado CE full sync SUCCESS
Tado CE: Integration loaded successfully
If you have an Internet Bridge V3 or V3+, pair it directly with Tado CE:
Tado CE drives the pairing itself, so don't add the bridge through Home Assistant's standard HomeKit Device integration first. The Tado bridge only allows one HomeKit controller at a time, and a pre-existing pairing will block Tado CE. If you've already paired the bridge with Apple Home or HomeKit Device, unpair there before enabling local control here.
Temperature and humidity entities will then show data_source: homekit when values arrive locally. See FEATURES_GUIDE.md for details.
Open the gear icon on the Tado CE integration card. Settings take effect immediately — no restart needed. Start with General Settings to enable the features you want; Advanced Settings only exposes tuning parameters for features you've enabled.
Full Home Assistant climate.*, water_heater.*, sensor.*, and binary_sensor.* entity coverage for every Tado zone and device type. Preset modes (Home / Away), timer overlays (manual / next-time-block / timer), and geofencing are mapped onto Home Assistant-native controls — no custom cards required.
With an Internet Bridge V3+ paired, Tado CE uses HomeKit for temperature reads, humidity reads, target-temperature writes, and HVAC-mode writes on heating zones. Updates arrive in around 2 seconds over your LAN; cloud-only mode is bound by your polling interval, typically 5–30 minutes. The cloud API is used for features HomeKit doesn't expose (schedules, geofencing, the Tado app's calibration engine) and for everything Smart AC Control V3+ does — those units are standalone WiFi accessories with their own HomeKit pairing, separate from the bridge, and Tado CE doesn't currently handle that pairing flow.
When the bridge is unreachable — including at HA startup — everything falls back to cloud automatically and local control resumes as soon as the bridge is reachable again, with no reload needed. If the bridge is factory-reset (which issues a new HomeKit identity), Tado CE raises a Home Assistant Repairs notification and stops retrying until you re-pair from Settings → Tado CE → Configure. A data_source attribute on each temperature sensor reports whether the current value came from HomeKit or cloud, and the HomeKit Connected sensor tracks how many API calls local control has saved you.
For rooms where the TRV reading differs from the actual room temperature (common with radiator TRVs — draughts, cold external walls, sensor placement), Tado CE can use an external temperature sensor to correct Tado's algorithm. Two modes:
Both modes yield to manual changes (Tado app, physical TRV dial), resume on the next schedule block, and prefer HomeKit for the write when available (zero API cost).
For homes with an OpenTherm-compatible boiler, Tado CE can adjust the boiler's flow temperature based on outdoor temperature. Presets for radiators (aggressive / balanced / gentle) and underfloor heating are included; custom slopes are supported. Boiler flow temperature is read directly from the bridge every 60 seconds — independent of your cloud polling interval, since the bridge API doesn't count against your Tado quota.
The whole point of the polling system is to spend as few of your daily Tado API calls as possible without you noticing any loss of freshness. It is not built to use up your quota; it is built to leave as much of it as it can for the things that actually matter, like setting a temperature or running an automation. Tado started limiting most households to 100 API calls a day in 2025, so every call the integration doesn't make is one you keep.
Tado's per-home quota