Great news for all of you waiting for Tado X support - I’ve built a custom HACS integration that works with Tado X devices using the official Tado API.
No more Matter/Thread headaches!
The integration connects directly to Tado’s cloud API (same as their app), bypassing all the Matter limitations.
Features:
Entity
What you get
Climate
Temperature control, HVAC modes (Heat/Off/Auto), Presets (Schedule/Boost)
Sensors
Temperature, Humidity, Heating power, Battery status
Binary Sensors
Window open detection, Heating active, Manual control, Connectivity, Low battery
Supported devices:
Radiator Valve X (VA04)
Temperature Sensor X (SU04)
Thermostat X (TR04)
Bridge X (IB02)
Install via HACS:
Add https://github.com/exabird/ha-tado-x as a custom repository in HACS, then search for “Tado X” and download.
That sounds really interesting and many thanks for working on this. I’m currently using the custom integration that @dmho has posted via this thread. Can you comment on what advantages/disadvantages this new implementation has? Does it support water heating?
Would you need to remove the @dmho custom integration first? Also, would it be possible to transition devices or would it be necessary to start again from scratch?
How does your custom integration handle the API limit?
Is there a difference between free users and paying users?
Unfortunately, tado has implemented limits for API usage.
I’ve built a custom HACS integration that works perfectly with Tado X devices: ha-tado-x
Why this integration? No Matter hassles - uses Tado’s official API directly All features working: climate control, presets (Schedule/Boost/Home/Away/Auto), sensors API usage monitoring (critical for free tier: 100 requests/day) Temperature offset calibration Energy IQ meter reading upload
Super simple installation:
Add custom repository in HACS: https://github.com/exabird/ha-tado-x
Hi @exabird,
For those of us currently using the @dmho integration, can someone let us know the best way of transitioning? Delete the old first?
Many thanks,
Robin
The API rate limit is probably the biggest pro for exabird’s version. In a few months we’ll start to see it if you don’t have a subscription. Especially if you have several devices.
That’s an amazing work!. I’ve been briefly checking working in parallel with the old integration (that never worked fine for me tbh).
So far, all features work, except the “reconfiguration” button in HA, that throw a 500 error. Can’t clarify yet if it related with my system or not, since I have tado devices exposed with the old integration manually patched, matter and now yours.
What is clear now, thanks to the limit usage control is that the old integration is merciless with the amount of request. My current setup has 11 devices plus some automations that runs under certain conditions. and the old integration used 700 request in around a couple of hours. Luckily my current limit is 5k (nor sure why).
This is just a quick impresion of the module, but sounds promising and I’m planning to test completely this upcoming week.
P.S: none integrations that I saw so far expose the current configured offset in a valve, I guess the public API doesn’t return the information?.
JDaniel @jusseppe88 Thank you both for the feedback!
### 1. ✅ 500 Error on Reconfiguration - FIXED in v1.6.4
This was caused by Home Assistant's `OptionsFlow` API changes. The fix is available in **v1.6.4**.
### 2. ✨ NEW: Temperature Offset Sensor - Added in v1.6.5
@JDaniel Great observation about the offset! I just released **v1.6.5** which now exposes the configured temperature offset as a readable sensor for each valve and thermostat.
The API *does* return `temperatureOffset` - I was already fetching it but not exposing it as a sensor. Now you can:
- See the current offset value for each device
- Create automations based on offset values
- Verify your calibrations
### 3. 📊 API Efficiency
You're right that the old integration is resource-heavy. The ha-tado-x integration is designed with API quota in mind:
- Configurable polling interval (30s with Auto-Assist, 45min without)
- Optional feature toggles to reduce API calls
- Real-time quota monitoring sensors
### How to Update
**Via HACS:**
1. HACS → Integrations → Tado X
2. ⋮ menu → **Redownload** → Select **v1.6.5**
3. Restart Home Assistant
Looking forward to your comprehensive testing results! 🙏
I wanted to add that, after some testing I’ve migrated all my automations to exabird integration with a very positive result. Including automations to control open windows (with my own sensors) and offset calculation with external thermomether. I’m still having 5000 request as api limit which allow me to have a good pooling cadence, but really eager to see the matter integration in the roadmap become real and get rid of tado cloud servers as much as possible.
Sorry if this is a dumb question but is the Tado X bridge necessary with the integration? I don’t have one currently, I added several thermostats and temp sensors to the Tado app without choosing a border router during the setup process. I then installed the integration with home assistant and all the devices were discovered and seemingly controllable… I’m not actually sure how they’re connected at the moment. Home assistant shows 0 matter connected devices.
If you see them in the app, then you must already have some kind of Thread Border Router in your network (Google Nest, Apple HomePod, etc), which means you don’t need another one (like the Tado X Bridge).
And if you see the devices in the app, the extension from exabird will definitely work, because it uses the same APIs as the app. But keep in mind that the update interval is limited if you don’t have a tado subscription (aka AI Assist).
You must have a threat border router in your tado app. If the question is, if this integration has the same bug than the other one that doesn’t work without using specifically the tado bridge, the answer is no, it should work as expected with any router.
I used to have the ‘old’ custom integration with the Node-RED tado client (for setting the presence) and now I can just use yours; automatically updating using HACS!