Skip to content

[tado] Intermittent HTTP 400 error when refreshing access token #18449

@andrewfg

Description

@andrewfg

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

Metadata

Metadata

Assignees

Labels

bugAn unexpected problem or unintended behavior of an add-on

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions