A little help with <EmberStatus.DELIVERY_FAILED: 102> please

I am getting the following show up as an error. Is there something I need to do to put this right? If so, can someone please enlighten me, and be gentle please I am trying to sort things by searching but i am a little stumped.

Logger: zigpy.zcl
Source: runner.py:189
First occurred: April 21, 2024 at 12:16:12 PM (5 occurrences)
Last logged: 5:08:22 PM

[0x4D11:1:0x0020] Traceback (most recent call last): File “/usr/local/lib/python3.12/site-packages/zigpy/endpoint.py”, line 253, 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/zha/core/cluster_handlers/general.py”, line 631, in check_in_response await self.checkin_response(True, self.CHECKIN_FAST_POLL_TIMEOUT, tsn=tsn) 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>
[0xA052:1:0x0020] Traceback (most recent call last): File “/usr/local/lib/python3.12/site-packages/zigpy/endpoint.py”, line 253, 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/zha/core/cluster_handlers/general.py”, line 634, in check_in_response await self.fast_poll_stop() 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>
[0xA052:1:0x0020] Traceback (most recent call last): File “/usr/local/lib/python3.12/site-packages/zigpy/endpoint.py”, line 253, 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/zha/core/cluster_handlers/general.py”, line 631, in check_in_response await self.checkin_response(True, self.CHECKIN_FAST_POLL_TIMEOUT, tsn=tsn) 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>
[0x1E50:1:0x0020] Traceback (most recent call last): File “/usr/local/lib/python3.12/site-packages/zigpy/endpoint.py”, line 253, 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/zha/core/cluster_handlers/general.py”, line 631, in check_in_response await self.checkin_response(True, self.CHECKIN_FAST_POLL_TIMEOUT, tsn=tsn) 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>
[0x1E50:1:0x0020] Traceback (most recent call last): File “/usr/local/lib/python3.12/site-packages/zigpy/endpoint.py”, line 253, 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/zha/core/cluster_handlers/general.py”, line 634, in check_in_response await self.fast_poll_stop() 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>

Usually this means that the device you are trying to send a command to has failed. This can be for quite a few different reasons (the device dropped from the mesh, too far from a router or the coordinator, interference with the coordinator, etc).

What kind of coordinator do you have? If it’s USB, do you have it on an extension cable away from the machine HA is running on and other computer/network equipment? How many devices do you have connected and how many of them are routers (usually mains powered) versus end devices (usually battery powered)?

1 Like

14 end devices
11 Routers
All connected via a sky coordinator
This is in a three bed semi with plasterboard internal walls (no brick) the coordinator is on a 2 x metre long decent quality extension.

Is there any way to identify which device(s) are causing the issues without deleting them one by one to find the culprits(s)

You can try this template in Developer Tools > Template and see what it comes back with (I didn’t write this; Credit to @petro)

{{ ['mqtt', 'zwave_js', 'zha', 'homekit_controller', 'govee_ble', 'switchbot']
   | map('integration_entities') 
   | sum(start=[])
   | select('is_state', 'unavailable')
   | map('device_attr','name') | unique | list }}

I doubt if there’s anything wrong with the device, if that’s what you mean by culprit. As @code-in-progress says, it has probably dropped from the mesh because of interference etc.

Rather than deleting them, you could move all the end devices close to the coordinator, then over a day or so move them back to their proper positions one by one until the error reappears. You probably just need another router or two.

Okay it looks like it was a silly error on my part. I had bought a few zigbee plugs, however, I paired three but only used two and stuck the other one in a drawer. it looks like it was this one that was causing the issues. Found it thanks to the code given by code-in-progress. I made an Entity filter Card filled it with all the devices listed by the code, put the state as unavailable and found it. Thanks for the help, as a 62 year old who’s on a very steep learning curve and who thought code was something from a wartime story I can assure you this wont be the last time I post. I suppose I better attempt learning yaml. !!!

1 Like