A comprehensive Tado integration with actionable insights, smart API management, comfort analytics, and environment monitoring.
Made with โค๏ธ by Joe Yiu (@hiall-fyi)
Quick Start โข Features โข Configuration โข Troubleshooting โข Discussions
Tado CE was created in response to Tado's 2025 API rate limits (100-20,000 calls/day depending on plan). The official Home Assistant integration doesn't show your actual API usage, leaving users unaware until they get blocked.
What started as an API management solution has grown into a full smart climate platform โ actionable insights that tell you what's wrong and what to do about it, thermal analytics that learn how your rooms heat, preheat advisors that prevent temperature drops before they happen, mold risk monitoring, multi-home support, and enhanced controls the official integration doesn't offer.
Prerequisites: Home Assistant 2024.1+ and a Tado account with V2/V3/V3+ devices.
- Click the button above (or add
https://github.com/hiall-fyi/tado_ceas a custom repository in HACS) - Install "Tado CE" from HACS
- Restart Home Assistant
Manual Installation
cp -r tado_ce /config/custom_components/- Go to Settings > Devices & Services > Add Integration
- Search for Tado CE and click Submit
- Click the authorization link shown, or visit the URL displayed and enter the code
- Authorize in your browser, then click Submit
- If you have multiple homes, select which one to use
That's it! No SSH required.
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
Click the gear icon on the integration card to customize features, polling schedule, and Smart Comfort settings.
Full climate, AC, and hot water control with timer support, geofencing, presence detection, weather data, and more.
Tado CE Exclusive:
Tado CE provides comprehensive smart climate control with:
- Multi-Home Support โ Multiple Tado accounts/homes in a single HA instance with full data isolation
- Actionable Insights โ Per-zone and home-wide intelligent recommendations with priority escalation, correlation/deduplication, history tracking, health score, and 21+ insight types across 7 categories
- API Management โ Real-time rate limit tracking, reset time detection, call history, test mode, sync monitoring
- Smart Polling โ Adaptive real-time polling based on remaining API quota, custom intervals, monitoring sensors
- Environment Monitoring โ Mold risk assessment, comfort level tracking, condensation risk (AC)
- Smart Comfort โ Historical patterns, preheat advisor with cooling rate prediction, schedule sensors, AI recommendations
- Thermal Analytics โ Heating rate analysis, preheat estimates, thermal inertia, confidence scoring
- Enhanced Controls โ Smart boost, hot water timer (min 1 min), immediate refresh, temperature offset
- Per-Zone Configuration โ Individual overlay modes, temperature limits, UFH settings per zone
- Zone Features Toggles โ Control which entity types are created for a minimal or full setup
- Multi-Language โ Config flow and options UI in 7 languages (English, German, Spanish, French, Italian, Dutch, Portuguese)
- Optional Features โ Schedule calendar, boiler flow temperature, device tracking, home state sync
See FEATURES_GUIDE.md for detailed documentation, configuration instructions, and usage scenarios for all features.
Access via Settings > Devices & Services > Tado CE > gear icon.
Tado CE offers extensive configuration options for:
- Features - Enable/disable optional sensors and analytics (Weather, Mobile Tracking, Smart Comfort, Schedule Calendar)
- Polling Schedule - Customize day/night polling intervals and refresh delays
- Smart Comfort - Configure outdoor temperature source, comfort mode, and history retention
- Experimental - Hot water timer duration, test mode for API limit simulation
See FEATURES_GUIDE.md for detailed configuration guides and usage scenarios based on your setup (low quota, high quota, mixed zones, OpenTherm boiler, etc.).
Note: Changes take effect immediately without restart.
Quick overview of entities created by Tado CE (75 entity types โ see ENTITIES.md for full reference):
- Hub: API usage/reset/sync sensors, weather sensors, home insights, presence mode, overlay mode, resume all button
- Per Zone: Climate control, temperature/humidity, heating power, overlay status, battery, connection
- Environment: Mold risk, comfort level, surface temperature, dew point, condensation risk (AC)
- Actionable Insights: Per-zone insights + home-wide aggregation with correlation, history tracking, priority escalation, and health score
- Smart Comfort: Heating/cooling rates, time-to-target, preheat advisor (with cooling rate prediction), schedule sensors (opt-in)
- Thermal Analytics: Thermal inertia, heating rate, preheat time, confidence scoring (heating zones)
- Hot Water: Water heater with AUTO/HEAT/OFF modes, timer buttons (min 1 min)
- Per-Zone Config: Overlay mode, temperature limits, UFH buffer, window type, surface temp offset per zone
- Switches: Child lock, early start per zone
- Zone Features Toggles: Control which entity types are created for a minimal or full setup
| Service | Description |
|---|---|
set_climate_timer |
Set heating/cooling with timer (min 1 min), until next schedule (overlay: next_time_block), or indefinitely (overlay: manual). time_period optional when overlay specified |
set_water_heater_timer |
Turn on hot water with timer (min 1 min) |
resume_schedule |
Delete overlay, return to schedule |
set_climate_temperature_offset |
Calibrate device temperature (-10 to +10ยฐC) |
get_temperature_offset |
Fetch current offset (Tado CE exclusive) |
identify_device |
Flash device LED |
set_away_configuration |
Configure away temperature |
add_meter_reading |
Add Energy IQ reading (supports historical dates) |
All services available in Developer Tools > Services with full parameter documentation.
v2.0.0: Adaptive Smart Polling with Quota Reserve Protection - real-time interval calculation based on remaining API quota.
- Real-time Adaptive: Calculates interval before each sync based on remaining quota, distributes remaining calls over remaining time, self-healing for any usage pattern
- Universal: Works for ANY quota tier (100, 1000, 20000) - no hardcoded tiers or special cases
- Simple & Predictable: Easy to understand, transparent through debug logging
| Quota | Typical Interval | Daily Utilization |
|---|---|---|
| 100 | ~16 min | ~90 calls (90%) |
| 1000 | ~8 min | ~180 calls |
| 20000 | 5 min (minimum) | Prevents excessive polling |
Self-healing: If you make manual API calls, it automatically slows down. End of day uses remaining quota efficiently.
- Minimum interval: 5 min (prevents excessive polling even with high quotas)
- Maximum interval: 120 min (ensures reasonable update frequency)
- Safety buffer: 10% reserve for manual operations
- Low quota protection: Automatically slows down when quota is low
- Quota Reserve Protection: Pauses polling when quota critically low (โค5% or โค5 calls), reserves quota for manual operations (set temperature, etc.), automatically resumes after API reset
- Weather sensors: Automatically accounts for extra API call
- Mobile device tracking: Automatically adjusts for additional calls
- Smart Comfort: No impact (local computation only)
Override adaptive polling with fixed intervals in Settings > Devices & Services > Tado CE > Configure > Polling Schedule:
- Custom Day Interval (7am-11pm default)
- Custom Night Interval (11pm-7am default)
New sensors let you monitor polling behavior:
sensor.tado_ce_polling_interval- Current interval with sourcesensor.tado_ce_next_sync- Next sync time with countdownsensor.tado_ce_call_history- API call statistics
| Device | Type | Support |
|---|---|---|
| Smart Thermostat V2 | HEATING | Full (community verified) |
| Smart Thermostat V3/V3+ | HEATING | Full |
| Smart Radiator Thermostat (SRT/VA02) | HEATING | Full |
| Smart AC Control V3/V3+ | AIR_CONDITIONING | Full |
| Wireless Temperature Sensor | HEATING | Full |
| Internet Bridge V3 | Infrastructure | N/A |
| Tado X Series | Matter/Thread | Not Supported |
Tado X devices use Matter over Thread - use the Home Assistant Matter integration instead.
| Limitation | Description |
|---|---|
| Cloud-Only | All control goes through Tado's cloud servers |
| No GPS | Device trackers only show home/not_home status |
| Rotating Tokens | If token expires, re-authentication required |
| No Schedule Management | Use Tado app for schedule changes |
| No Historical Data | Would consume too many API calls |
- Go to Settings > Devices & Services > Tado CE
- Click the three-dot menu (โฎ) and select Delete
- Restart Home Assistant
- If installed via HACS: open HACS > Integrations, find Tado CE, click the three-dot menu and Remove
- If installed manually: delete the
custom_components/tado_ce/folder - Restart Home Assistant again
โ ๏ธ Options not saving (v1.9.0+)
If clicking "Submit" in Configure doesn't show "Successfully saved", the Outdoor Temperature Entity field may be empty.
This is a Home Assistant Core limitation (Issue #154795) - EntitySelector cannot handle empty values.
Workaround:
- Go to Settings โ Devices & Services โ Tado CE โ Configure
- Expand Smart Comfort Settings
- Set Outdoor Temperature Entity to any weather entity (e.g.,
weather.home) - Click Submit
If you don't want weather compensation, set "Smart Comfort Mode" to "None".
Token refresh failed / Re-authentication required
- Go to Settings > Devices & Services > Tado CE
- Click Configure or look for re-authentication prompt
- Follow the device authorization flow (link + code)
No device tracker entities
Device trackers only appear for mobile devices with geo tracking enabled in the Tado app.
Enable debug logging
Add to configuration.yaml:
logger:
default: info
logs:
custom_components.tado_ce: debugRestart Home Assistant and check Settings > System > Logs.
For other issues, check logs at Settings > System > Logs (filter by "tado_ce") or open an issue on GitHub.
| Document | Description |
|---|---|
| FEATURES_GUIDE.md | Complete guide to all features, sensors, configuration, and usage scenarios |
| ENTITIES.md | Complete list of all sensors, switches, and controls |
| API_REFERENCE.md | API call types, optimization tips, troubleshooting |
| ROADMAP.md | Planned features, ideas, and known limitations |
| CREDITS.md | Community contributors and supporters |
| CHANGELOG.md | Version history and release notes |
GNU Affero General Public License v3.0 (AGPL-3.0)
Free to use, modify, and distribute. Modifications must be open source under AGPL-3.0 with attribution.
Original Author: Joe Yiu (@hiall-fyi)
See LICENSE for full details.
Contributions welcome!
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Disclaimer
This project is not affiliated with, endorsed by, or connected to tado GmbH or Home Assistant. tado and the tado logo are registered trademarks of tado GmbH. Home Assistant is a trademark of Nabu Casa, Inc.
This integration is provided "as is" without warranty. Use at your own risk.