Failed OTA firmware updates - how to fix?

Updating firmware via the HA front-end for three nodes in my z-wave network has caused them to fail. The firmware update didn’t complete and they now show as Unavailable in HA. In the ZwaveJS UI, they are stuck on the ProtocolInfo stage, and the details of the manufacturer and model of each device is gone.

Two are Zooz ZEN27 dimmer switches, the third I can’t recall. i have to walk my house and find out which device is no longer listed.

Is there a foolproof way to get them back? I don’t care if it’s with the new firmware or not. I just want them to communicate again.

First need to know what version of Z-Wave JS UI you are using.

Hi, thanks for responding :slight_smile:
I’m using:
zwave-js-ui: 9.27.4.40bcf6b
zwave-js: 14.3.4
HomeAssistant: 2024.11.2
My z-wave controller is aeotec ZW090 z-stick gen5

So far I’ve done the following:

  1. followed the Zooz guide to upgrading the firmware, which states after a firmware update to exclude and re-include the switch, but the exclusion times out having not excluded the device, which leads me to think it’s not communicating
  2. pulled the air gap in the switch, rebooted my HA / zwaveJS server, closed the air gap and waited for the device to report as “not-dead” (per homeassistant reddit) - status doesn’t change in zwaveJS.

FWIW I’m running HA and zwaveJS in docker containers. Have done for years. Some OTA firmware updates have gone successfully in the past (have not done many) – all were done via HA “settings” page.

9.27.4 is broken so you’ll want to update to the latest.

Thanks! I’ve upgraded to the following:
zwave-js-ui: 9.27.7.d3d7049
zwave-js: 14.3.6
I’ll leave it overnight and see if the issue resolves itself. If not, can you suggest a next step? Maybe try to re-interview the problem nodes?

I would expect them to re-interview automatically after an upgrade. While the upgrade is a requirement for your condition (broken versions can’t pass interviews), I also now see the nodes are dead. You might need to factory reset and re-include them. I think some Zooz devices are known to have a problem like this after firmware upgrades, but I’m having trouble finding the actual reports, so I could be mis-remembering.

EDIT: I might be thinking of some Aeotec devices, but the exclude/re-include might still work. Otherwise, take a look at https://zwave-js.github.io/node-zwave-js/#/troubleshooting/first-steps.

1 Like

Thank you so much for your help and advice. For completeness, I’ll describe the steps I took to fix this:

  1. Upgraded zwave-js-ui to version 9.27.7
  2. In zwaveJS UI - under Advanced Options, selected REMOVE ALL under Failed Nodes
  3. Only one of the 3 failed nodes was disappeared from the list, but a restart of ZwaveJS UI fixed that - all failed nodes were gone
  4. Followed the manufacturer’s instructions to factory set each failed node
  5. Followed the manufacturer’s instructions to include each node
1 Like