Error messages trying to OTA update devices using Z2M on a HA Yellow

Hi everyone.
Whenever I try to update a device using the OTA function, I get the following error messages:

 2024-10-31 14:42:03zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
error 2024-10-31 14:42:03zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
error 2024-10-31 14:42:03zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
error 2024-10-31 14:42:03zh:ember: Adapter fatal error: HOST_FATAL_ERROR
error 2024-10-31 14:42:03z2m: Adapter disconnected, stopping

And I have no idea what any of it means. Can anyone help me translate this and maybe even help with a solution?
The hardware is a Yellow and the adapter is set to Ember.

1 Like

I´ve got the same problem when trying to update devices via OTA - even after updating my Sonoff Zigbee Dongle-E to latest firmware 7.4.5:

[2024-12-03 21:13:31] error: zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2024-12-03 21:13:31] error: zh:ember:uart:ash: ASH disconnected
[2024-12-03 21:13:31] error: zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2024-12-03 21:13:31] error: zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2024-12-03 21:13:39] error: zh:ember:ezsp: ERROR Transaction failure; status=ASH_ERROR_TIMEOUTS. Last Frame: [FRAME: ID=52:SEND_UNICAST Seq=237 Len=7].
[2024-12-03 21:13:39] error: zh:ember:ezsp: ERROR Transaction failure; status=ASH_NCP_FATAL_ERROR. Last Frame: [FRAME: ID=52:SEND_UNICAST Seq=237 Len=7].
[2024-12-03 21:14:03] error: z2m: Adapter disconnected, stopping

Same here

[2024-12-19 15:54:51] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2024-12-19 15:54:51] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2024-12-19 15:54:51] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2024-12-19 15:54:51] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash: ASH COUNTERS since last clear:
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Total frames: RX=3184, TX=4090
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Cancelled   : RX=0, TX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   DATA frames : RX=3167, TX=905
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   DATA bytes  : RX=70955, TX=35547
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Retry frames: RX=14, TX=3
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   ACK frames  : RX=1, TX=3181
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   NAK frames  : RX=0, TX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   nRdy frames : RX=0, TX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   CRC errors      : RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Comm errors     : RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Length < minimum: RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Length > maximum: RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Bad controls    : RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Bad lengths     : RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Bad ACK numbers : RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Out of buffers  : RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Retry dupes     : RX=14
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   Out of sequence : RX=0
[2024-12-19 15:54:51] info: 	zh:ember:uart:ash:   ACK timeouts    : RX=3
[2024-12-19 15:54:56] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Airfryer', payload '{"child_lock":"UNLOCK","countdown":0,"current":0,"energy":0,"indicator_mode":"off/on","linkquality":184,"power":0,"power_outage_memory":"restore","state":"ON","update":{"installed_version":-1,"latest_version":-1,"state":null},"update_available":null,"voltage":226}'
[2024-12-19 15:54:56] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Airfryer', payload '{"child_lock":"UNLOCK","countdown":0,"current":0,"energy":0,"indicator_mode":"off/on","linkquality":184,"power":0,"power_outage_memory":"restore","state":"ON","update":{"installed_version":-1,"latest_version":-1,"state":null},"update_available":null,"voltage":226}'
[2024-12-19 15:54:59] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ASH_ERROR_TIMEOUTS. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=135 Len=7].
[2024-12-19 15:54:59] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ASH_NCP_FATAL_ERROR. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=135 Len=7].
Error: NOT_CONNECTED
    at Ezsp.ezspSendBroadcast (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:4871:19)
    at Ezsp.send (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:1166:41)
    at /app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:2208:42
    at Queue.execute (/app/node_modules/zigbee-herdsman/src/utils/queue.ts:36:20)
    at EmberAdapter.sendZclFrameToAll (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:2203:16)
    at GreenPower.permitJoin (/app/node_modules/zigbee-herdsman/src/controller/greenPower.ts:271:13)
    at Controller.permitJoinInternal (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:321:13)
    at Timeout.<anonymous> (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:311:25)

Using Sonoff Dongle-E V2 with latest firmware and Ember

Same issue with my Sonoff Dongle-E V2 with latest firmware and Ember

I also tried with
adapter: ezsp
But the same issue. Cant update my zigbee devices. If anyone knows a workaround, Im all ears…

Hi,

have the same problem.
Sonoff USB-Stick Version E, newest firmeware 7.4.5 - Ember:
image

HA runs on a Proxmox VM

Everything works, only OTA-Updates not running. The abbort comes always arraund 22-25% by differnt devices.

Anyone, any ideas?

Thanks!

Running Sonoff Zigbee Dongle-E firmware 7.4.4 here, same problem. Trying to upgrade a Sonoff ZBMINIR2 from 1.0.2 to 1.0.4.

I might have found a workaround. I was able to OTA update my ZBMINIR2 by changing OTA settings in the Zigbee2MQTT config.

According to the documentation (OTA updates | Zigbee2MQTT), these are the default values:

ota:
  image_block_response_delay: 250 (min 50)
  default_maximum_data_size: 50 (min 10, max 100)

Below are my scenario’s and their results.

Default settings (image_block_response_delay:250, default_maximum_data_size:50): FAIL
=> OTA UPDATE FAIL. Update starts and runs for a while, then gives an error:
zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT

Jan 14 08:50:57 rasp pnpm[577172]: [2025-01-14 08:50:57] info: z2m: Update of ‘ZBMINIR2 16spots’ at 0.00%
Jan 14 08:59:28 rasp pnpm[577172]: [2025-01-14 08:59:28] info: z2m: Update of ‘ZBMINIR2 16spots’ at 36.86%, ≈ 15 minutes remaining

So the update would have take about 30 minutes if it would have continued.


Fast settings (image_block_response_delay:50, default_maximum_data_size:100): FAIL
This would mean a very fast update, but hard on the network.
=> OTA UPDATE FAIL. Doesn’t even start:
Jan 14 09:07:07 rasp pnpm[578187]: [2025-01-14 09:07:07] error: z2m: Update of ‘ZBMINIR2 16spots’ failed (Device didn’t respond to OTA request)
This is probably to be expected, as the documentation states that such values are not really supported by many devices.

Small max data size settings (image_block_response_delay:200, default_maximum_data_size:10): SUCCESS!
=> OTA UPDATE SUCCES! ZBMINIR2 now running firmware 1.0.4.
Update took 90 minutes but it didn’t fail.

Jan 14 07:14:17 rasp pnpm[571624]: [2025-01-14 07:14:17] info: z2m: Update of ‘ZBMINIR2 Keukeneiland’ at 0.00%
Jan 14 08:47:03 rasp pnpm[571624]: [2025-01-14 08:47:03] info: z2m: Update of ‘ZBMINIR2 Keukeneiland’ at 100.00%

I had another ZBMINIR2 so I could try more scenario’s:

  • image_block_response_delay: 100, default_maximum_data_size: 20: OTA doesn’t even start

  • image_block_response_delay: 200, default_maximum_data_size: 20: OTA UPDATE FAIL , same error returned that I have with the default settings.
    Jan 14 09:12:13 rasp pnpm[578613]: [2025-01-14 09:12:13] info: z2m: Update of ‘ZBMINIR2 16spots’ at 0.00%
    Jan 14 09:35:15 rasp pnpm[578613]: [2025-01-14 09:35:15] info: z2m: Update of ‘ZBMINIR2 16spots’ at 49.87%, ≈ 23 minutes remaining

  • image_block_response_delay: 200, default_maximum_data_size: 15:
    => OTA UPDATE SUCCES! ZBMINIR2 now running firmware 1.0.4.
    Update took about 60 minutes.

So my suggestion would be to try these settings in Z2M configuration.yaml:

ota:
  image_block_response_delay: 200
  default_maximum_data_size: 15

And see how that goes for you guys?

Note: these ZBMINIR2 are close to the Coordinator and have an LQI of 175+, so it’s not like they are in some far away corner of my Zigbee network.

3 Likes

Thanks for this! I have been struggling all day after adding 15 new dimmers/wall switches. Managed to update about 7-8 without too many issues, but got stuck with this error for all remaining attempts. I’m a noob, and rely a lot on AI and community posts for troubleshooting. AI suggested interference issues (WiFi, USB cables etc) and communication issues relating to the USB port. Nothing I tried helped. Adjusted your recommended settings to 225 and 10, and the updates are now running smoothly, with no issues so far.

mise a jour en cours mais durée estimée 662H …