-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
Tado announced a new OAuth workflow from March 15th 2025, and in fact their servers already supported it a couple of weeks earlier. In #18354 and #18433 I implemented that workflow and tested it (prior to the March 15th deadline). In reality they started hard enforcement about one week later (different timing for different users).
It seems that my implementation is not (yet) 100% stable. When I tested it prior to March 15th there were no errors. However now (March 26th) their server throws intermittent HTTP 400 errors when the access token is being renewed. The problem is that my initial testing was with just one Thing, but now I am running it with eight Things, and there is a concurrency issue if multiple Things try to refresh the access token in parallel.
The binding does nevertheless continue to retrieve data (the things stay online) -- albeit that there are gaps in the data.
Sample log output is below..
2025-03-26 15:34:45.271 [DEBUG] [oauth2client.internal.OAuthConnector] - grant type refresh_token to URL https://login.tado.com/oauth2/token success
2025-03-26 15:44:46.915 [ERROR] [oauth2client.internal.OAuthConnector] - grant type refresh_token to URL https://login.tado.com/oauth2/token failed with error code invalid_grant, description The refresh_token is invalid.
2025-03-26 15:44:46.923 [DEBUG] [oauth2client.internal.OAuthConnector] - grant type refresh_token to URL https://login.tado.com/oauth2/token success
Will be fixed by #18450