Skip to content

Zimi integration shows misleading error message when ZCC is reset #150013

@markhannon

Description

@markhannon

The problem

If the ZCC connection is reset the UI shows error messages like 'TurnOn is not supported for 4d55ea09-2b2d-4b3b-bfae-1d9be3b34a80_1' rather than a more useful 'ZCC temporarily unavailable'

What version of Home Assistant Core has the issue?

2025.7.2

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

zimi

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

Anything in the logs that might be useful for us?

2025-08-05 07:44:07.876 ERROR (MainThread) [ControlPoint] ZCC status message
{'zcc_status': {'status': 'AUTH_APP_EXPIRED'}}
2025-08-05 07:44:07.877 ERROR (MainThread) [ControlPoint] Preparing re-connect to new socket after ZCC intiated reset
2025-08-05 07:44:08.339 ERROR (MainThread) [ControlPointSocket] Connection cancelled
2025-08-05 07:44:08.339 ERROR (MainThread) [ControlPoint] Cancelled error when connecting to ZCC 192.168.1.61:5003
2025-08-05 07:44:08.340 ERROR (MainThread) [ControlPoint] Unable to re-connect to ZCC failed with ControlPointError: Cancelled error when connecting to ZCC 192.168.1.61:5003 - will retry in 90
2025-08-05 07:44:12.106 ERROR (MainThread) [ControlPointSocket] Listening connection cancelled during timeout
2025-08-05 07:44:22.891 ERROR (MainThread) [ControlPoint] Controller not ready to accept commands - attempting to re-connect
2025-08-05 07:44:22.892 ERROR (MainThread) [ControlPoint] Preparing re-connect to new socket as existing socket closed
2025-08-05 07:44:22.892 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [4994717536] Unexpected exception
Traceback (most recent call last):
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/device.py", line 34, in __action
    await self.controller.set(self.identifier, action, params=params)
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/controller.py", line 550, in set
    await self.re_connect()
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/controller.py", line 502, in re_connect
    self.socket.unsubscribe(self)
    ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'unsubscribe'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/components/websocket_api/commands.py", line 258, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/core.py", line 2799, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/core.py", line 2842, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/helpers/service.py", line 1011, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
        hass, entity, func, data, call.context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/helpers/service.py", line 1083, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/Users/mark/Projects/zimi-integration/.venv/config/custom_components/zimi/switch.py", line 56, in async_turn_off
    await self._device.turn_off()
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/device.py", line 294, in turn_off
    await self.__action("TurnOff")
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/device.py", line 36, in __action
    raise ControlPointError(
        action + " is not supported for " + self.identifier
    ) from exception_info
zcc.errors.ControlPointError: TurnOff is not supported for 4d55ea09-2b2d-4b3b-bfae-1d9be3b34a80_1
2025-08-05 07:44:30.425 ERROR (MainThread) [ControlPoint] Controller not ready to accept commands - attempting to re-connect
2025-08-05 07:44:30.425 ERROR (MainThread) [ControlPoint] Preparing re-connect to new socket as existing socket closed
2025-08-05 07:44:30.426 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [4994717536] Unexpected exception
Traceback (most recent call last):
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/device.py", line 34, in __action
    await self.controller.set(self.identifier, action, params=params)
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/controller.py", line 550, in set
    await self.re_connect()
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/controller.py", line 502, in re_connect
    self.socket.unsubscribe(self)
    ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'unsubscribe'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/components/websocket_api/commands.py", line 258, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/core.py", line 2799, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/core.py", line 2842, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/helpers/service.py", line 1011, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
        hass, entity, func, data, call.context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/homeassistant/helpers/service.py", line 1083, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/Users/mark/Projects/zimi-integration/.venv/config/custom_components/zimi/switch.py", line 47, in async_turn_on
    await self._device.turn_on()
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/device.py", line 290, in turn_on
    await self.__action("TurnOn")
  File "/Users/mark/Projects/zimi-integration/.venv/lib/python3.13/site-packages/zcc/device.py", line 36, in __action
    raise ControlPointError(
        action + " is not supported for " + self.identifier
    ) from exception_info
zcc.errors.ControlPointError: TurnOn is not supported for 4d55ea09-2b2d-4b3b-bfae-1d9be3b34a80_1

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions