Skip to content

hiall-fyi/tado_ce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

196 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Tado CE - Custom Integration for Home Assistant

Home Assistant Python Tado HACS

Version License Maintained Tests Coverage

GitHub stars GitHub forks GitHub issues GitHub Release Date

Buy Me A Coffee

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


Why Tado CE?

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.


Quick Start

Prerequisites: Home Assistant 2024.1+ and a Tado account with V2/V3/V3+ devices.

1. Install via HACS

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  1. Click the button above (or add https://github.com/hiall-fyi/tado_ce as a custom repository in HACS)
  2. Install "Tado CE" from HACS
  3. Restart Home Assistant
Manual Installation
cp -r tado_ce /config/custom_components/

2. Add Integration & Authenticate

  1. Go to Settings > Devices & Services > Add Integration
  2. Search for Tado CE and click Submit
  3. Click the authorization link shown, or visit the URL displayed and enter the code
  4. Authorize in your browser, then click Submit
  5. If you have multiple homes, select which one to use

That's it! No SSH required.

3. Verify Success

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

4. Configure Options

Click the gear icon on the integration card to customize features, polling schedule, and Smart Comfort settings.


Features

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.


Configuration Options

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.


Entities

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

Services

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.


Smart Polling

v2.0.0: Adaptive Smart Polling with Quota Reserve Protection - real-time interval calculation based on remaining API quota.

The Design Philosophy

  • 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

What This Means For You

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.

Safety Mechanisms

  • 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

Optional Features Impact

  • Weather sensors: Automatically accounts for extra API call
  • Mobile device tracking: Automatically adjusts for additional calls
  • Smart Comfort: No impact (local computation only)

Custom Intervals

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)

Monitoring

New sensors let you monitor polling behavior:

  • sensor.tado_ce_polling_interval - Current interval with source
  • sensor.tado_ce_next_sync - Next sync time with countdown
  • sensor.tado_ce_call_history - API call statistics

Supported Devices

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.


Limitations

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

Uninstall

  1. Go to Settings > Devices & Services > Tado CE
  2. Click the three-dot menu (โ‹ฎ) and select Delete
  3. Restart Home Assistant
  4. If installed via HACS: open HACS > Integrations, find Tado CE, click the three-dot menu and Remove
  5. If installed manually: delete the custom_components/tado_ce/ folder
  6. Restart Home Assistant again

Troubleshooting

โš ๏ธ 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:

  1. Go to Settings โ†’ Devices & Services โ†’ Tado CE โ†’ Configure
  2. Expand Smart Comfort Settings
  3. Set Outdoor Temperature Entity to any weather entity (e.g., weather.home)
  4. Click Submit

If you don't want weather compensation, set "Smart Comfort Mode" to "None".

Token refresh failed / Re-authentication required
  1. Go to Settings > Devices & Services > Tado CE
  2. Click Configure or look for re-authentication prompt
  3. 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: debug

Restart 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.


Documentation

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

External Resources


License

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.


Contributing

Contributions welcome!

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Star History Chart


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.