Heiman HS2WD-E siren turn_on and turn_off stopped working

Hello,

I have two Heiman HS2WD-E sirens integrated into HA from more than a year and they worked fine since I installed them until now.

I have a Conbee II stick with latest firmware installed and I am using ZHA (I don’t have zigbee2mqtt). Regarding HA, this is my setup:

Home Assistant 2023.7.1
Supervisor 2023.07.1
Operating System 10.3

The truth is that I am not sure when they stopped working. I noticed a couple of days ago when I decided to test them after some time, and both sirens entity switches issue an error when try to enable them manually by sliding the associated switch:

Failed to call service siren.turn_on. Unknown error

image

The entity is displayed fine and switch is able to be slided to either on or off position. However, such error is always issued. I have tried to reconfigure the the device with no success. I also tried to remove the devices and re-add them, but no luck.

RSSI level is being updated with no issues and pressing the identify button works (siren flashes the internal LED).

Captura de pantalla 2023-07-07 a las 14.55.01

For whatever reason, triggering the siren no longer works. I always read the breaking changes every time I update the system, and I don’t remember to see any related topic, although I am not 100% sure. I have also tried to search in the forum but I find old information or zigbee2mqtt topics.

Is anybody experiencing the same issue? Any help, please?

After investigating this further, I see the following error in the logs upon trying to manually trigger the siren using the entity switch:

2023-07-07 17:56:00.651 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=siren, service=turn_on, service_data=entity_id=siren.heiman_interior>
2023-07-07 17:56:00.653 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2023-07-07 17:56:00.660 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139854377083728] 'Warning' object has no attribute 'serialize'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 205, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1957, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 1997, in _execute_service
    return await cast(
           ^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 845, in entity_service_call
    response_data = task.result()  # pop exception if have
                    ^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1192, in async_request_call
    return await coro
           ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 889, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/siren/__init__.py", line 117, in async_handle_turn_on_service
    await siren.async_turn_on(
  File "/usr/src/homeassistant/homeassistant/components/zha/siren.py", line 145, in async_turn_on
    await self._cluster_handler.issue_start_warning(
  File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/security.py", line 330, in issue_start_warning
    await self.start_warning(
  File "/usr/local/lib/python3.11/site-packages/zigpy/util.py", line 132, in retry
    return await func()
           ^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/zcl/__init__.py", line 355, in request
    hdr, request = self._create_request(
                   ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/zcl/__init__.py", line 318, in _create_request
    request.serialize()  # Throw an error before generating a new TSN
    ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/types/struct.py", line 250, in serialize
    chunks.append(value.serialize())
                  ^^^^^^^^^^^^^^^
AttributeError: 'Warning' object has no attribute 'serialize'

I just created an issue here, but it would be great if anyone else gives further feedback or supports the Github issue if having the same problem.

1 Like

Yup… My siren stopped working a few weeks ago:

The automation “Front Door Open Sound” (automation.front_door_open_sound) has an action that calls an unknown service: siren.turn_on.

Haven’t had a chance to look into this yet except to see that no siren services are available anymore.

Hi @sesardelaisla,

Since the issue is solved, is this working again for you?

It still does not work for me. It tells me that my device does not respond (and no error in logs)

I switched from ZHA to zigbee2mqtt. No issues since then.