Posted a preliminary version of this issue on Discord as well, but have seen no replies there.
Was seeing a solid "Unavailable" failure of all points from the T7900 thermostat in the Venstar integration. After recovering from that (like a few months ago) by deleting and then reinstalling the integration, when H/A was restarted, although the sensor data was initially being displayed - it would again become unavailable - but now it recovers and repeats several times an hour.
Current versions:
H/A Core 2026.4.4
H/A O/S 17.2
All through these events, the Venstar data remains available to the Android app and the Venstar Skyport web interface.
It seems to be looking like a network communications error that only affects the Venstar.
Not being familiar with the H/A error logs, I'm wondering about other users thoughts on this.
Thanks.
Core log error report requesting data:
Logger: homeassistant.components.venstar.const
Source: helpers/update_coordinator.py:497
integration: Venstar (documentation, issues)
First occurred: May 6, 2026 at 9:57:20 PM (92 occurrences)
Last logged: 9:12:08 AM
Error fetching venstar data: Unable to update Venstar thermostat info
Error fetching venstar data: Unable to update Venstar alert data
Error fetching venstar data: Unable to update Venstar sensor data
Error fetching venstar data: Unable to update Venstar runtime data
Core log error report requesting alerts:
Logger: venstarcolortouch.venstarcolortouch
Source: /usr/local/lib/python3.14/site-packages/venstarcolortouch/venstarcolortouch.py:148
First occurred: May 6, 2026 at 9:52:55 PM (117 occurrences)
Last logged: 9:12:08 AM
Error requesting https://192.168.1.100/query/alerts from Venstar ColorTouch.
Error requesting https://192.168.1.100/query/info from Venstar ColorTouch.
Error requesting https://192.168.1.100/query/sensors from Venstar ColorTouch.
Error requesting https://192.168.1.100/query/runtimes from Venstar ColorTouch.
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 464, in _make_request
self._validate_conn(conn)
~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 1093, in _validate_conn
conn.connect()
~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/site-packages/urllib3/connection.py", line 796, in connect
sock_and_verified = _ssl_wrap_socket_and_match_hostname(
sock=sock,
...<14 lines>...
assert_fingerprint=self.assert_fingerprint,
)
File "/usr/local/lib/python3.14/site-packages/urllib3/connection.py", line 975, in _ssl_wrap_socket_and_match_hostname
ssl_sock = ssl_wrap_socket(
sock=sock,
...<8 lines>...
tls_in_tls=tls_in_tls,
)
File "/usr/local/lib/python3.14/site-packages/urllib3/util/ssl_.py", line 483, in ssl_wrap_socket
ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
File "/usr/local/lib/python3.14/site-packages/urllib3/util/ssl_.py", line 527, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/ssl.py", line 455, in wrap_socket
return self.sslsocket_class._create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
sock=sock,
^^^^^^^^^^
...<5 lines>...
session=session
^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/ssl.py", line 1076, in _create
self.do_handshake()
~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/ssl.py", line 1372, in do_handshake
self._sslobj.do_handshake()
~~~~~~~~~~~~~~~~~~~~~~~~~^^
TimeoutError: _ssl.c:1063: The handshake operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/requests/adapters.py", line 645, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/usr/local/lib/python3.14/site-packages/urllib3/util/retry.py", line 490, in increment
raise reraise(type(error), error, _stacktrace)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/urllib3/util/util.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 488, in _make_request
raise new_e
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 466, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=conn.timeout)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout
raise ReadTimeoutError(
self, url, f"Read timed out. (read timeout={timeout_value})"
) from err
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='192.168.1.100', port=443): Read timed out. (read timeout=5)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/venstarcolortouch/venstarcolortouch.py", line 142, in _request
req = requests.get(uri,
verify=self.SSLCert,
timeout=self.timeout,
params=params,
auth=self.auth)
File "/usr/local/lib/python3.14/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/usr/local/lib/python3.14/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/requests/sessions.py", line 592, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.14/site-packages/requests/sessions.py", line 706, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.14/site-packages/requests/adapters.py", line 691, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='192.168.1.100', port=443): Read timed out. (read timeout=5)
Core log error report requesting sensors:
Logger: venstarcolortouch.venstarcolortouch
Source: /usr/local/lib/python3.14/site-packages/venstarcolortouch/venstarcolortouch.py:148
First occurred: 2:51:22 AM (4 occurrences)
Last logged: 6:54:07 AM
Error requesting https://192.168.1.100/query/sensors from Venstar ColorTouch.
Error requesting https://192.168.1.100/query/alerts from Venstar ColorTouch.
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/urllib3/connection.py", line 204, in _new_conn
sock = connection.create_connection(
(self._dns_host, self.port),
...<2 lines>...
socket_options=self.socket_options,
)
File "/usr/local/lib/python3.14/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/usr/local/lib/python3.14/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
~~~~~~~~~~~~^^^^
TimeoutError: timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 488, in _make_request
raise new_e
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 464, in _make_request
self._validate_conn(conn)
~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 1093, in _validate_conn
conn.connect()
~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/site-packages/urllib3/connection.py", line 759, in connect
self.sock = sock = self._new_conn()
~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/site-packages/urllib3/connection.py", line 213, in _new_conn
raise ConnectTimeoutError(
...<2 lines>...
) from e
urllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='192.168.1.100', port=443) at 0x7f779fb110>, 'Connection to 192.168.1.100 timed out. (connect timeout=5)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/requests/adapters.py", line 645, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/usr/local/lib/python3.14/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/usr/local/lib/python3.14/site-packages/urllib3/util/retry.py", line 535, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='192.168.1.100', port=443): Max retries exceeded with url: /query/sensors (Caused by ConnectTimeoutError(<HTTPSConnection(host='192.168.1.100', port=443) at 0x7f779fb110>, 'Connection to 192.168.1.100 timed out. (connect timeout=5)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/venstarcolortouch/venstarcolortouch.py", line 142, in _request
req = requests.get(uri,
verify=self.SSLCert,
timeout=self.timeout,
params=params,
auth=self.auth)
File "/usr/local/lib/python3.14/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/usr/local/lib/python3.14/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/requests/sessions.py", line 592, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.14/site-packages/requests/sessions.py", line 706, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.14/site-packages/requests/adapters.py", line 666, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='192.168.1.100', port=443): Max retries exceeded with url: /query/sensors (Caused by ConnectTimeoutError(<HTTPSConnection(host='192.168.1.100', port=443) at 0x7f779fb110>, 'Connection to 192.168.1.100 timed out. (connect timeout=5)'))
