Remove cloud dependency - local API #29
Replies: 22 comments 17 replies
-
|
Thanks for opening this @chinezbrun! Great topic. I'm definitely interested in local API support, but I'd like to gauge how much demand there is before prioritizing it. What I'm Currently Working On:
About TadoLocal: I've seen the TadoLocal project - it's an interesting approach but still early stage. Adding local API support would be a significant undertaking. I'd Love to Hear From the Community: 👍 If you'd find local API support valuable, please react to this post or comment below! If there's strong interest, I'd be happy to prioritize this over the Yale Smart Alarm project. But if it's just a "nice to have" for most users, I'll keep it on the backlog while focusing on the current roadmap. Questions for those interested:
Looking forward to hearing your thoughts! 🙏 |
Beta Was this translation helpful? Give feedback.
-
|
My 2 cts: I would be very interested to see local API support, as much as possible. This makes the integration rely less on the cloud and also limit API calls to the cloud and keep them available for stuff that's not supported locally. HomeKit supports the local API and I haven't tried TadoLocal yet. Local API support is preferred for me, but that's only because I now have a subscription and have 20k API calls each day. When the subscription ends and I only have 100 API calls, I would pretty much need to use the local API to have any functioning setup. I was already looking into moving away from Tado, and going the DIYless Smart OpenTherm Thermostat 3 + Sonof TRVZB route for complete local control, but the success and development speed of this project made me decide to put that project on the back burner for a while :) |
Beta Was this translation helpful? Give feedback.
-
|
~ 5 eur / month to have 20k calls limit for a premium product ??? |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the interest everyone! Great to see the community thinking about this. I'm slowly getting more interested in the local API concept. Now that v1.5.0 just shipped (async rewrite, 235 tests passing, much more stable foundation), I might spend some time this weekend digging into this and exploring what's feasible. Will report back with findings! |
Beta Was this translation helpful? Give feedback.
-
Current FindingsThe Tado V3/V3+ system uses a dual communication architecture:
Available Local APIs
The GapHomeKit only exposes basic thermostat functions. Advanced features like heating power percentage, battery status, and open window detection are transmitted via the 868MHz radio link between TRVs and the Bridge — this data never reaches the HomeKit interface. PATH to 100% LOCAL PROTOCOLTo achieve full feature parity with Tado Cloud, we need to intercept and decode the 868MHz 6LoWPAN communication between the Bridge and TRVs. This requires specialized RF knowledge and hardware. Looking for experts or community members who can help with:
If you have experience with SDR or 868MHz protocols, contributions are welcome! |
Beta Was this translation helpful? Give feedback.
-
|
I use various templates and groups to use the homekit integration to control tado locally, but read heating power % and control/read other things from the tado cloud (originally the core integration, now tado CE). The local tado used to report less regularly than the cloud, of course the cloud is now typically less frequent due to the API changes, but one key problem for myself and many other local users is that the local signal would randomly drop, with the entity becoming unavailable for minutes to hours at a time. However, controlling that same entity through the cloud would still work, and would normally then lead to the local entity becoming available again. I have found the most common time this has happened is when the temperature from that entity has been flat for a while - I think the local integration may stop reporting if there has been no change to report. But of course cloud (including the auto setting!) can stop working if there are issues with internet connection. This would be my recommendation for incorporating local API into this integration, as well as being able to pull cloud only data like heating power and hot water into the same locally controlled entities. |
Beta Was this translation helpful? Give feedback.
-
|
@wrowlands3's hybrid approach is exactly what I'm thinking for Phase 1. The plan: Phase 1: HomeKit Hybrid (future)
Requirements:
Limitations:
Phase 2: Pure Local (long-term research)
For now, Tado CE will continue improving the cloud integration. Local support is on the roadmap but still some distance away. If you're interested in helping with the research, let me know! 🙏 |
Beta Was this translation helpful? Give feedback.
-
|
I did some analysis and pilot on whether it actually saves API calls, and wanted to share the findings: The Reality of "Cloud-Only" DataThe data we need from cloud with the hybrid model:
All of this comes from a single So even with HomeKit handling local control, you still need to poll Where Hybrid Actually Saves
Savings: Only the write operations (set temp, set mode) - maybe 10-20 calls/day for typical usage. For 100 calls/day Users
Hybrid approach saves the 10%, but you still hit the wall on reads. My Two CentsThe hybrid approach is valuable for reliability (@wrowlands3 fallback strategy is smart!), but won't significantly reduce API consumption for users on the 100 calls/day limit. For true API savings, we'd need to crack the 868MHz local protocol to get heating power % and other "cloud-only" data locally. |
Beta Was this translation helpful? Give feedback.
-
|
There's a repo called tado_hijack by @banter240 that looks like it is very similar to what you want to do - use HomeKit when necessary, the API when not. I haven't downloaded it yet but what is intriguing for me is that it seems to work with rather than instead of Apple Home integration. That would be a game changer. I am sceptical of reverse engineering the local wireless protocol and wonder whether intercepting the cloud calls would be easier but I wish you good luck. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the pointer @thefern69! My preference is to build local support natively into Tado CE rather than depend on external projects. A few reasons:
The goal would be seamless local-first with cloud fallback, all within Tado CE. Still early days on the research side, but that's the direction I'm heading. Appreciate the suggestion though - always good to know what else is out there! |
Beta Was this translation helpful? Give feedback.
-
|
I'm currently trying tado_hijack It’s a mix of cloud features and local HomeKit‑based control. Similar to Tado CE 2.0, it has automatic quota management. I have a daily quota of 5000 API calls, and, with this program, I end the day, with around 100 left. For me, the ideal program would offer full speed for manual actions and confirmations, and a configurable polling system for updates. Still searching :) |
Beta Was this translation helpful? Give feedback.
-
|
@chinezbrun Glad tado_hijack is working for you! 👍 The hybrid local approach is interesting for reliability (fallback when cloud is down), though as I mentioned earlier, it won't dramatically reduce API reads since heating %, battery status etc. still need cloud. Happy heating! |
Beta Was this translation helpful? Give feedback.
-
|
@hiall-fyi TadoLocal also requires pairing with the Tado coordinator, and it doesn’t work when HomeKit is already paired… so testing it takes a bit more effort :) In the meantime, I installed it locally on a Raspberry Pi. It’s not super easy, but if you follow the instructions you can get the server running. When I have the time and the mood, I’ll remove the current HomeKit setup and give TadoLocal a try ;) |
Beta Was this translation helpful? Give feedback.
-
|
I really don’t understand how the program manages both. What I’ve observed is that I have a quota of 5000 API calls, and each day I end up with around 1000 remaining without any interruptions. I haven’t tested low‑quota or other scenarios yet. I was surprised to see that the program handled the quota so well. I need more time to articulate the pros and cons. |
Beta Was this translation helpful? Give feedback.
-
HomeKit Local Control - Proof of Concept Working!Hey everyone! Quick update on the local API research. TL;DR: Successfully reading live data from Tado Bridge via HomeKit - no cloud API needed! What I TestedUsed What Works Locally via HomeKit
Key Findings
What This Means for Tado CEAs I mentioned earlier, hybrid mode won't dramatically reduce API reads (heating %, battery etc. still need cloud). But it does provide:
Next StepsI'm considering adding optional HomeKit hybrid support to Tado CE. The architecture would be:
Still early days - need to think through the config flow, error handling, and edge cases. But proof of concept is solid! Anyone else interested in testing this? Would love to hear from users who've tried tado_hijack or TadoLocal for comparison. |
Beta Was this translation helpful? Give feedback.
-
|
Here's the plan for integrating HomeKit local control into Tado CE. OverviewThe goal is local-first, cloud-fallback - use HomeKit for fast local operations while keeping cloud API for data that's not available locally. PrerequisitesBefore you can use HomeKit Hybrid Mode:
What Works Locally (HomeKit)
What Still Needs Cloud API
Implementation FlowPhase 1: Setup
Phase 2: Runtime
Phase 3: Monitoring
Known Challenges
Benefits
Questions for TestersIf you're interested in testing this when it's ready:
Let me know in the comments if you'd like to be a beta tester! |
Beta Was this translation helpful? Give feedback.
-
|
Hey everyone! Quick update on the HomeKit local control roadmap. Multi-Home First, Then HomeKitAfter deep-diving into the codebase to plan the HomeKit integration, I realized there's a prerequisite that needs to happen first: proper multi-home support (Issue #110). Here's why: The HomeKit integration requires a Data Source Abstraction Layer — a router that sits between entities and data sources (Cloud API, HomeKit, and potentially Local API/Matter in the future). When I started designing this, I found that the same code that needs refactoring for HomeKit ( Right now, The Plan
TimelineMulti-home should land in the next couple of weeks. HomeKit integration is targeting April. The proof of concept is already working (as shared earlier), so the remaining work is mainly architecture and testing. For those waiting on multi-home (#110, #145) — this is coming soon! And it directly enables the HomeKit work. @wrowlands3 I haven't forgotten about your beta testing offer! Will ping you when there's something to test. 🙏 @chinezbrun Thanks for the ongoing feedback on tado_hijack — your real-world experience has been valuable for planning the hybrid approach. |
Beta Was this translation helpful? Give feedback.
-
|
Hi! Thanks for the technical explanations above. Independence and communication speed are important to me, so moving from cloud-based control to a local setup seems like the right direction. A limit of 100 API calls per day is not sufficient in practice—receiving updates only after 2, 5, or 10 minutes (e.g. Heating % or Open Window detection) just to save API calls is not viable. That said, I’m still looking for a more practical understanding of the available alternatives. Below is my current situation:
|
Beta Was this translation helpful? Give feedback.
-
|
Hi, I’ve started using the TadoLocal server together with the Tado_Local Home Assistant integration. Quick update so far:
From what I can see, TadoLocal still appears to interact with the Tado cloud:
I’m trying to understand:
|
Beta Was this translation helpful? Give feedback.
-
|
Few thoughts.
Tados app if linked still spams back to them your data at 1min rate. The public api is alongside their official link. So i guess you'd have to fully delink their devices and only use homekit for privacy reasons. |
Beta Was this translation helpful? Give feedback.
-
|
@hiall-fyi Hoenstly i've not seen unstable nature for a long time. I'll check the sensors but they feel like they have been very reliable for me in the HomeKit. Back on privacy - So i think the only way to go fully local (ie keep your data), is still to remove tado app, and also block any outbound tado. This over 24h is about 1 per minute to hit 1311 I should probablly set up an automation, for the HomeKit ones, and a Count helper that detects and counts if they go unavailable to see if its any kind of problem., |
Beta Was this translation helpful? Give feedback.
-
|
Hiya everyone, wanted to circle back on this one since it's been open for a few months now. When @chinezbrun opened this discussion back in January, we were exploring whether local control was even feasible. That kicked off a bunch of research — HomeKit protocol analysis, bridge traffic captures, comparisons with tado_hijack and TadoLocal — and a lot of great input from @hapklaar, @wrowlands3, @thefern69, @ChrisMarriott38, and @chinezbrun. The good news: HomeKit local control shipped in v4.0.0-beta.1 (April 12) and has been refined through to v4.0.0-beta.7 (shipping now). Here's where we landed vs the original plan from this thread: What we said we'd build (Comment #16):
What we didn't expect but ended up building:
In real-world testing with 9 zones on the 4.0.0-beta.5 and 4.0.0-beta.6, daily API usage sits comfortably under 68 calls with HomeKit connected — down from ~394 on cloud-only. Even with multiple HA restarts and debug logging enabled during the same day, it stayed well under the 100/day limit. For users worried about the API quota, this is the answer we were looking for. What's still cloud-only (as expected from the start): heating power %, battery status, open window detection, hot water, schedules, geofencing. These need the 868MHz protocol work (Phase 2 from Comment #7), which is a much bigger research project and not on the immediate roadmap. I'm going to close this discussion since the Phase 1 hybrid approach is shipped and stable. If anyone wants to pick up the 868MHz research for Phase 2 (full local, zero cloud), that deserves its own discussion. Thanks to everyone who contributed to this thread — the real-world feedback from tado_hijack and TadoLocal testing, the beta testing offers, and the bridge traffic analysis all helped shape what we ended up building. 🙌 |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I open this topic to have here any ideas / findings on how to remove TADO cloud dependency.
as @hiall-fyi posted there is one in early development: TadoLocal
Anybody try it?
Beta Was this translation helpful? Give feedback.
All reactions