Nodon SIN-4-RS-20 roller shutter module not working

Hello,

I am trying to use a NODON SIN-4-RS-20 Zigbee roller shutter micro module that I have recently installed as a test on one of my wired roller shutters.

The module is detected successfuly by the Zigbee coordinator (SkyConnect USB key) and I can see the device in the network map:

It is also present in the Zigbee devices list:

However when I pres the up or down arrows to open or close the shutter nothing happens.

I’ve double (tripled) checked my wiring and compared it to the installation diagram and everything seems ok:

It’s also worth noting that nothing happens when I press the buttons of the physical switch but this time I can hear the relay clicking.

I have searched the logs and can see the following exception each time I press the up/down buttons on the cover card:

2024-05-28 15:57:28.792 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547451069248] Unexpected exception
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/__init__.py", line 64, in wrap_zigpy_exceptions
yield
File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/__init__.py", line 84, in wrapper
return await RETRYABLE_REQUEST_DECORATOR(func)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/zigpy/util.py", line 131, in retry
return await func()
^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/zigpy/zcl/__init__.py", line 377, in request
return await self._endpoint.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/zigpy/endpoint.py", line 265, in request
return await self.device.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/zigpy/device.py", line 339, in request
await send_request()
File "/usr/local/lib/python3.12/site-packages/zigpy/application.py", line 841, in request
await self.send_packet(
File "/usr/local/lib/python3.12/site-packages/bellows/zigbee/application.py", line 931, in send_packet
raise zigpy.exceptions.DeliveryError(
zigpy.exceptions.DeliveryError: Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 239, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2738, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2779, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 975, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1047, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/zha/cover.py", line 273, in async_open_cover
res = await self._cover_cluster_handler.up_open()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/__init__.py", line 83, in wrapper
with wrap_zigpy_exceptions():
File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/__init__.py", line 75, in wrap_zigpy_exceptions
raise HomeAssistantError(message) from exc
homeassistant.exceptions.HomeAssistantError: Failed to send request: Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>

I don’t know where to look or how I can investigate this further… any help would be greatly appreciated :grinning:

In the evening I tried another module from a differnt company which also uses Zigbee protocol (MOES Smart Curtain Switch) and the result is the same: I can hear the relay click when I press the physical switch buttons or HA virtual buttons but nothing happens.

However there was no exception message in the logs except for the following error:

[546881926720] Error handling message: Unknown error (unknown_error) Julien from 80.9.238.186 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/zha/websocket_api.py", line 626, in websocket_reconfigure_node
    assert device
AssertionError

I tried to connect the Nodon module once more and this time the behaviour was identical to the one with the MOES module: relay clicks when I press physical switch buttons or HA virtual buttons but no effect on the shutter.

And only the Gecko unknown error in the logs.

If I remove the module and connect the physical switch directly to the shutter again, it works :thinking:

Found it: it was related to the fact that my shutter motors need to be connected to the live of the physical switch.

Now it works, the shutter goes up or down if I press the up or down physical/virtual buttons.

However it seems that there are compatibility issues with Bubendorff motors, but that’s another story.