core: Honeywell TCC integration, log in errors make climate entities unavailable
The problem
Recently thermostats through TCC become unavailable (daily). Errors in log indicate trouble logging-in in despite username/password is unchanged. The only way to restore system functionality is to reload the TCC integration. The request here is for graceful handling of the login errors and an automatic recovery.
What version of Home Assistant Core has the issue?
2023.3.6
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
integration: honeywell
Link to integration documentation on our website
https://www.home-assistant.io/integrations/honeywell#climate
Diagnostics information
Home Assistant Core Login as xyzxyz@outlook.com failed 4:57:36 AM – (ERROR) components/honeywell/climate.py 401 Error at update (Key expired?). 4:57:35 AM – (ERROR) components/honeywell/climate.py - message first occurred at 2:30:32 AM and shows up 4 times [139929708047584] Disconnected: Did not receive auth message within 10 seconds 2:53:33 AM – (WARNING) Home Assistant WebSocket API - message first occurred at 12:45:07 AM and shows up 2 times Update for climate.bedroom_suite fails 2:30:11 AM – (ERROR) components/honeywell/climate.py - message first occurred at 2:30:11 AM and shows up 3 times Update of climate.bedroom_suite is taking over 10 seconds 2:30:11 AM – (WARNING) helpers/entity.py - message first occurred at 2:30:11 AM and shows up 3 times
Example YAML snippet
No response
Anything in the logs that might be useful for us?
2023-04-03 02:30:11.738 WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.bedroom_suite is taking over 10 seconds
2023-04-03 02:30:11.742 WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.guest_floor is taking over 10 seconds
2023-04-03 02:30:11.744 WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.main_floor is taking over 10 seconds
2023-04-03 02:30:11.765 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.bedroom_suite fails
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 874, in _resolve_host
addrs = await self._resolver.resolve(host, port, family=self._family)
File "/usr/local/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve
infos = await self._loop.getaddrinfo(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo
return await self.run_in_executor(
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 541, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 747, in async_device_update
await task
File "/usr/src/homeassistant/homeassistant/components/honeywell/climate.py", line 430, in async_update
await self._data.client.login()
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 536, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1166, in _create_direct_connection
raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host www.mytotalconnectcomfort.com:443 ssl:default [Try again]
2023-04-03 02:30:11.777 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.guest_floor fails
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 874, in _resolve_host
addrs = await self._resolver.resolve(host, port, family=self._family)
File "/usr/local/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve
infos = await self._loop.getaddrinfo(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo
return await self.run_in_executor(
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 541, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 747, in async_device_update
await task
File "/usr/src/homeassistant/homeassistant/components/honeywell/climate.py", line 430, in async_update
await self._data.client.login()
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 536, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1166, in _create_direct_connection
raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host www.mytotalconnectcomfort.com:443 ssl:default [Try again]
2023-04-03 02:30:11.782 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.main_floor fails
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 874, in _resolve_host
addrs = await self._resolver.resolve(host, port, family=self._family)
File "/usr/local/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve
infos = await self._loop.getaddrinfo(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo
return await self.run_in_executor(
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 541, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 747, in async_device_update
await task
File "/usr/src/homeassistant/homeassistant/components/honeywell/climate.py", line 430, in async_update
await self._data.client.login()
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 536, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1166, in _create_direct_connection
raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host www.mytotalconnectcomfort.com:443 ssl:default [Try again]
2023-04-03 02:30:32.100 ERROR (MainThread) [somecomfort] 401 Error at update (Key expired?).
2023-04-03 02:30:32.111 ERROR (MainThread) [somecomfort] 401 Error at update (Key expired?).
2023-04-03 02:30:32.118 ERROR (MainThread) [somecomfort] 401 Error at update (Key expired?).
Additional information
No response
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 3
- Comments: 30 (12 by maintainers)
I’m wondering if we have a date for when this new code might get merged into HA yet?
It happened again this morning, all three t-stat entities were greyed out “unavailable”. When I went to the settings->devices and Services->integration tab, the honeywell tile was showing “Failed to set up: Incorrect Password”. From the “3 dots” I selected “Reload” and the 3 t-stat entities showed up again. I wasn’t prompted to retype a password.
Happy to try the changes above with some guidance on the exact steps of deploying the change.