Can not authenticate into Total Connect

I’m new to HA as of today, and so far, loving it! I have multiple integrations working, webhooks implemented, and more. However, I’m stuck trying to get the Total Connect integration to authenticate me. Note: This is the alarm integration, not the Total Connect Comfort (which I also have, and is working fine) which is the thermostat integration. My end goal is to have automations that run based on a Trigger when the alarm is armed/disarmed.

I’ve tried logging into both my “admin” account, and creating a new “standard” account (as recommended by the documentation). I can log into both fine at https://totalconnect2.com. But when I try to do so via the TC integration I get “Unknown error occurred”. HA logs show the issue is “Server returned an empty response”.

My system is professionally managed, so I’m not sure what model my system is (and I don’t think it’s printed on the circuit board). But the integration documentation implies that if I can log into the TC2 site, I should be good to go. And https://status.resideo.com shows all Honeywell servers are healthy.

Any suggestions?

System info:

  • HA Core: 2025.1.4
  • Home Assistant OS
  • Hardware: Yellow w/ CM5

== log snipped ==

[31m2025-01-30 01:13:14.345 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 480, 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 83, 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 32, 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 81, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, 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 122, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 341, in async_configure
    result = await self._async_configure(flow_id, user_input)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 388, 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 491, in _async_handle_step
    result: _FlowResultT = await getattr(flow, method)(user_input)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/totalconnect/config_flow.py", line 55, in async_step_user
    client = await self.hass.async_add_executor_job(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        TotalConnectClient, username, password, None
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  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/total_connect_client/client.py", line 96, in __init__
    self.authenticate()
    ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/total_connect_client/client.py", line 296, in authenticate
    response = self.request(
        operation_name,
        (self.username, self.password, self.API_APP_ID, self.API_APP_VERSION),
    )
  File "/usr/local/lib/python3.13/site-packages/total_connect_client/client.py", line 235, in request
    self._raise_for_retry(response)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/total_connect_client/client.py", line 157, in _raise_for_retry
    rc = _ResultCode.from_response(response)
  File "/usr/local/lib/python3.13/site-packages/total_connect_client/const.py", line 154, in from_response
    raise ServiceUnavailable(f"Server returned empty response, check server status at {STATUS_URL}") from None
total_connect_client.exceptions.ServiceUnavailable: Server returned empty response, check server status at https://status.resideo.com/e[0m

Related to this? Error setting up entry Total Connect · Issue #136340 · home-assistant/core · GitHub

Yes – it looks like the same issue. My apologies for the duplicate. I searched before posting, but didn’t see that one. Glad to know it’s likely not just a newbie problem, and hoping there is a fix soon.

1 Like

The issue is on github, so no wonder it did not show up here when searching :slight_smile:

A quick way to navigate to this is to look up the integration on the webpage and click the marked link: