Repository navigation
Tado V2 Hitting API Limits and Cycling Valves endlessly #2853
Replies: 2 comments
|
The Where Why that becomes a write loop. On each control cycle, Why BT is asking for -10 in the first place. A saturated offset means the TRV's own sensor reads ~10 K above your TIMMERFLOTTE. That usually means the valve sits right on the radiator heat. In that situation, offset calibration is already at its limit. What I'd try:
The constant valve noise could well be the same thing, since each offset write makes the TRV re-evaluate its position. Once the writes stop, you should hear the difference quickly. |
|
Thanks for the detailed report, and thanks @XNinety9 for tracking it down. The ±9.99 clamp is fixed: #2862 for 1.9 and #2866 for the 2.0 line. It ships with 1.9.4. That stops the retry loop that writes -10 over and over and gets rejected every time. The second point from that analysis is also real. BT writes a new offset as soon as the computed value changes on Tado's 0.01 grid, so almost every new reading from your TIMMERFLOTTE turns into a Tado API call. I've opened #2890 to cut that down for cloud TRVs. Until 1.9.4 is out, switching the Tado TRVs to Target Temperature Based calibration avoids both problems, as XNinety9 suggested. Reset the offsets to 0 in the Tado app first. |
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 have a Tado V2 setup in my home that I've had for years and recently wanted to try using BetterThermostat. I have the IKEA TIMMERFLOTTE sensors in each room so gave setting this up a go. I live in a small 2 bedroom flat so I have set up 5 BetterThermostat instances, one for each room. Each room has a TRV.
Issue 1 - Cycling Valves
Initially I felt like it was managing the temperature well but what I noticed was that I can constantly hear valves opening all the way and closing again. I mean, quite literally multiple valves per minute, non-stop, all day. I figured maybe this was just an initial learning thing but it continued into the second day and didn't seem to let up. I'm using the Offset mode and my guess is that every single time an updated temperature measurement comes in for a room, BT sets the offset which causes the Tado integration to do a calibration. I cannot work out if there's a way I can stop that as hearing all the valves opening and closing non-stop is very annoying and also likely wearing out the batteries incredibly fast.
Issue 2 - API Limits
This morning I woke up and realised that my heating wasn't switching to the right modes when I was in a room, well BT said it was in the new mode, but when I opened Tado I realised the targets had not changed. I also noticed that the above issue had stopped, no valves were moving. I investigated and found that my Tado integration in Home Assistant had stopped working because I had hit my 20k API limit close to 3am. This means that somehow HA and BT had managed to make over 20k requests in 15 hours. This might be related to issue 1 that every single temperature update makes a request to change the valve temperature offset which in turn makes Tado do a full reload of the entire API hitting something like 6-12 API requests. I looked at maybe connecting Tado via HomeKit to HA but then it won't be able to use offset, which I believe is the right way.
Final Questions
BT is a very popular integration and I'm sure there are many many people using it with Tado, so I refuse to believe this is normal or expected else nobody would be able to use it. What am I missing here? Any advice on how I can resolve this behaviour?
I'm currently waiting for 12 for my API limit to reset so I can re-enable everything but I'm suspecting that I'll hit the API limit by the middle of the night again.
For reference my tolerance is set to 0.3 (though I don't think that stops offset changes anyway) and I'm using the default Time AI setting.
Any help greatly appreciated!
EDIT:
I tried switching to using Tado Hijack and one thing I've noticed is that BT keeps trying to set the offset to -10 however the Tado API responds saying the minimum value is -9.99 and throws an error. I can't see a way to make BT not set a lower offset than -10:
All reactions