Tado integration fails Outh (Tado V2, succesful tado website login) - timeout issue?
The problem
Tado integration suddenly gives me an Authentication Expire error and prompts me to re-auth. It takes me to the Tado website with the correct auth code, and I am successful in that part. The integration immediately gives me an 'Authentication timed out' error then an 'unknown error'
Subsequent attempts to auth give the same timeout error and I need to reload the Integration before attempting again
I have deleted all Tado cookies and cache in the browser, signed out and logged again
What version of Home Assistant Core has the issue?
core-2025.5.3
What was the last working version of Home Assistant Core?
core-2025.5.3
What type of installation are you running?
Home Assistant Container
Integration causing the issue
Tado
Link to integration documentation on our website
https://www.home-assistant.io/integrations/tado/
Diagnostics information
No response
Example YAML snippet
Anything in the logs that might be useful for us?
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/tado/config_flow.py", line 82, in _wait_for_login
await self.hass.async_add_executor_job(self.tado.device_activation)
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.13/site-packages/PyTado/interface/interface.py", line 99, in device_activation
self._http.device_activation()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/PyTado/http.py", line 560, in device_activation
if self._check_device_activation():
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/PyTado/http.py", line 524, in _check_device_activation
raise TadoException("User took too long to enter key")
PyTado.exceptions.TadoException: User took too long to enter key
2025-06-07 10:32:12.277 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Home' for tado integration could not authenticate: Device login flow status>
2025-06-07 10:32:38.859 ERROR (MainThread) [homeassistant.components.tado.config_flow] Error while waiting for device activation
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/tado/config_flow.py", line 82, in _wait_for_login
await self.hass.async_add_executor_job(self.tado.device_activation)
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.13/site-packages/PyTado/interface/interface.py", line 99, in device_activation
self._http.device_activation()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/PyTado/http.py", line 563, in device_activation
self._device_ready()
~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/PyTado/http.py", line 567, in _device_ready
self._id = self._get_id()
~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/PyTado/http.py", line 578, in _get_id
homes_ = self.request(request)["homes"]
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
KeyError: 'homes'
Additional information
Hey there @erwindouna, mind taking a look at this issue as it has been labeled with an integration (tado) you are listed as a code owner for? Thanks!
Code owner commands
Code owners of tado can trigger bot actions by commenting:
@home-assistant closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign tadoRemoves the current integration label and assignees on the issue, add the integration domain after the command.@home-assistant add-label needs-more-informationAdd a label (needs-more-information, problem in dependency, problem in custom component) to the issue.@home-assistant remove-label needs-more-informationRemove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.
(message by CodeOwnersMention)
tado documentation tado source (message by IssueLinks)
Same here since yesterday and i find out that IOBroker has the same problem !!
i tested a little bit more.
The same problem also occurs if you log out once with the manufacturer tado app and try to log in again. It seems that tado has a server problem. or if you try the function ‘let display flash’, an authorisation error also occurs.
Interesting - it did feel like a server issue initially. But I found no status showing issues anywhere. On the other hand, I've seen some big issues around the net over the last few days - particularly Microsoft's servers/services being very slow. Hopefully just a waiting game ...
i ma seeing the same issue - tried reboot of HA. Login/.out of tado site. when i return from the website i get:
even when the authentication on the web is successful
i ma seeing the same issue - tried reboot of HA. Login/.out of tado site. when i return from the website i get:
even when the authentication on the web is successful
Also seeing this behaviour.
I concur - same issue with my Home Assistant / Tado integration. Ive also tried some of the same solutions as previous commenters above to no avail. HA 2025.5.3 with latest Tado integration.
i was able to fix the error. luckily i had a second assigned account. with this account i deleted my account and created it again and lo and behold everything works again.
i ma seeing the same issue - tried reboot of HA. Login/.out of tado site. when i return from the website i get: even when the authentication on the web is successful
The integration checks every 5 seconds for a result at Tado's servers. It will timeout, if within five minutes no results for the login are available. Normally should should be rather instant in terms of user experience. I'll check with Tado if there were any hick-ups on their end or that I should continue the troubleshooting within Home Assistent.
I have raised a case with Tado, which has now been escalated. Browser connection is fine (app.tado.com) But the Tado App on both iOS and Android gets an error (attached).
I think the issue we are seeing in HA and the issue I am seeing in the mobile Apps is linked. My guess right now ( no facts to back up this hunch) is that since Tado changed its authentication a couple of months ago, if using the HA Tado integration, you have to re authenticated after every HA restart. Perhaps Tado have been counting the re-authentications, and now our HA installs / Tado accounts have hit a max value and Tado has locked us out when using the authentication method that HA AND the mobile Apps use. @cracyfloyd - if my guess has merit, perhaps your action of delete / recreate your account reset this mystery counter back to zero.
Anyway - Tado engineer is looking into my case. He asked me to confirm my account email - perhaps he will do a reset of the counter for me:-)
I'm unable to invite another user from either the Tado Web site or the Mobile App. Or delete a user. I'm not sure if this is just awful design or a backend issue. My Guess is it's also some back end Tado Auth issue
Same here @Geekerbyname . Cannot add / delete any linked users. I too guess same related issue.
UPDATE: reply from Tado engineer:
“ The developers are aware of the issue, and they are working on the solution. Sorry for any inconvenience. We will inform you as soon as we have an update.“
So looks like they are working on a fix!!
Good news - thanks @1967maverick
Further feedback from the Tado engineer: "Yes, they are on it; it seems a global issue. I'll let you know once I know more"
The problem should be fixed, if not please reply here. This was a synchronization issue between the multiple layers and caches that handle authentication. It affected only a very small number of tado users (far below 1%) and only affected homes created a long time ago, so unfortunately this took most of the day to track down.
Thanks to Erwin for escalating this to me this morning!
(edit: removed the statement that this was limited "V3+", this was based on an assumption that did not hold true.)
I confirm both App and Home Assistant issues resolved. Yes I replaced my system with V3+ last year but I had my original system / account for 10 years, so the obscured logic applies to me! 😃
Works again! thanks :D
Unfortunately, still not fixed for me :(
Working for me now too. I've had the system almost since launch I think.
@Tuffert - dropped you an email, to the address in your tado account.
Still not working for me :(
Do I need to do anything in HA or Tado app to fix this?
Still not working for me :(
Do I need to do anything in HA or Tado app to fix this?
Have you tried a reboot of HA? Solved it for me.
Same Problem, still not working for me.
I had to reboot my HA yesterday and since then Tado won't connect, keeps timing out. Tried reentering password but just times out. I am on an old version of HA 2024.7.2. Pleqase help
Thanks
I had to reboot my HA yesterday and since then Tado won't connect, keeps timing out. Tried reentering password but just times out. I am on an old version of HA 2024.7.2. Pleqase help
Thanks
Update to the latest Home Assistant version. In the main time Tado has switched it's authentication methods and the latest versions of Home Assistant contain the new methods. :)
My issue is similar but different. I get the authentification bug from time to time. Meaning I'm being asked to re-authenticate, which works as expected. But then, after some days, or HA restarts, I'm being asked again, to re-authenticate. Doing so, works again. And that's the process at least 2-3 per month.
I am also having issue with authentiction to Tado. I am running HA 2025.6.3. When I authenticate with Tado, I get a green tick in tado, success message in HA, but in a few seconds, the integration says it needs to authenticate. The logs contain various errors:
Logger: homeassistant.components.tado.coordinator
Source: helpers/update_coordinator.py:382
integration: Tado ([documentation](https://www.home-assistant.io/integrations/tado), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+tado%22))
First occurred: 8:06:07 AM (5 occurrences)
Last logged: 11:29:25 AM
Unexpected error fetching tado data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 382, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tado/coordinator.py", line 101, in _async_update_data
devices = await self._async_update_devices()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tado/coordinator.py", line 137, in _async_update_devices
return await self.hass.async_add_executor_job(self._update_device_info, devices)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/tado/coordinator.py", line 143, in _update_device_info
device_short_serial_no = device["shortSerialNo"]
~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'shortSerialNo'
Logger: aiohttp.server
Source: /usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py:481
First occurred: 8:03:19 AM (3 occurrences)
Last logged: 8:04:42 AM
Error handling request from 172.30.33.0
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 510, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 210, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 41, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 83, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 227, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper
return await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 121, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 336, in async_configure
result = await self._async_configure(flow_id, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 383, in _async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
flow, cur_step["step_id"], user_input
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 487, in _async_handle_step
result: _FlowResultT = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tado/config_flow.py", line 158, in async_step_timeout
return await self.async_step_user()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tado/config_flow.py", line 111, in async_step_user
"url": tado_device_url,
^^^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'tado_device_url' where it is not associated with a value
Logger: homeassistant
Source: components/tado/config_flow.py:85
First occurred: 8:03:20 AM (2 occurrences)
Last logged: 8:04:42 AM
Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/tado/config_flow.py", line 82, in _wait_for_login
await self.hass.async_add_executor_job(self.tado.device_activation)
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.13/site-packages/PyTado/interface/interface.py", line 103, in device_activation
self._http.device_activation()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/PyTado/http.py", line 564, in device_activation
if self._check_device_activation():
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/PyTado/http.py", line 528, in _check_device_activation
raise TadoException("User took too long to enter key")
PyTado.exceptions.TadoException: User took too long to enter key
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/tado/config_flow.py", line 85, in _wait_for_login
raise CannotConnect from ex
homeassistant.components.tado.config_flow.CannotConnect
@jakubklimek the shortSerialNo indicates you're using Tado X. Is my assumption right? If so, then please be noted that the Tado integration does not (yet) support Tado X.
@erwindouna Yes, Tado X. Ahh, ok, I was under the impression that the support for Tado X was already added. My mistake then.
This problem has been going on for a long time. Is there anything more known about a solution and when? I have tried the Homekit integration, but then you miss a number of control options. I do not use the X version of Tado. Thanks in advance