home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.62k stars 30.77k forks source link

ZWaveJS Firmware Update Fails on Zooz Devices #83437

Closed dredjohn21 closed 1 year ago

dredjohn21 commented 1 year ago

The problem

I am unable to update the firmware on any of my Zooz devices (e.g. Zen17 relay). The update progresses between 6-20% and then fails.

I'm using a Pi4 with HAOS and a Zooz USB stick.

I tried moving the devices next to the USB stick, healing, and still ran into the same problem. See attached for sample log (debug is on).

What version of Home Assistant Core has the issue?

2022.11.5

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

z-wave js

Link to integration documentation on our website

https://www.home-assistant.io/integrations/zwave_js

Diagnostics information

zwave_js-3.log

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 1 year ago

Hey there @home-assistant/z-wave, mind taking a look at this issue as it has been labeled with an integration (zwave_js) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `zwave_js` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Change the title of the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign zwave_js` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


zwave_js documentation zwave_js source (message by IssueLinks)

Ikcelaks commented 1 year ago

What error are you seeing?

When I update any of my Zooz devices, I always see an "Upload Failed: Failed to Fetch" error. For me, this was a superficial UI error only. If I looked at the zwave_js driver logs, the firmware update continued to transfer just fine. Once the update completed, I would need to do a re-interview for my 700-series devices (ZEN32 an ZEN76) or exclude / include my older 500 series devices (ZEN26 and ZEN27). The devices would then work properly on the new firmware.

dredjohn21 commented 1 year ago

What error are you seeing?

When I update any of my Zooz devices, I always see an "Upload Failed: Failed to Fetch" error. For me, this was a superficial UI error only. If I looked at the zwave_js driver logs, the firmware update continued to transfer just fine. Once the update completed, I would need to do a re-interview for my 700-series devices (ZEN32 an ZEN76) or exclude / include my older 500 series devices (ZEN26 and ZEN27). The devices would then work properly on the new firmware.

Unfortunately mine stops updating. I’m curious: what UI tool are you using to update? The zwavejs ui that comes with integration? Or the separate zwavejs ui add on (formerly mqtt)?

Ikcelaks commented 1 year ago

I was updating through the z-wave integration, because my new 700 series stick is running on the official addon (I still have my old stick running a couple old devices on there zwavejsui addon, and I couldn't run a second copy).

I know that others have successfully updated zooz devices through the zwavejsui interface, so that is definitely not your problem if the update is actually failing.

I happen to have a zen17 that hasn't been updated yet. I can give that a go and record my logs. I'll let you know how it goes.

Ikcelaks commented 1 year ago

I upgraded my zen17 successfully. The process went exactly the same as the other 700 series zooz devices: a superficial error message at 19%, an actually successful update that completed about ten minutes later, and a functional device on the new firmware after a re-interview.

What firmware is your ZST10 700 series controller running? The original firmware it shipped with had issues that could cause your problem. I'm running 7.18.3, which is the latest version available from silabs. https://github.com/zwave-js/node-zwave-js/discussions/2544#discussioncomment-1323267

dredjohn21 commented 1 year ago

I upgraded my zen17 successfully. The process went exactly the same as the other 700 series zooz devices: a superficial error message at 19%, an actually successful update that completed about ten minutes later, and a functional device on the new firmware after a re-interview.

What firmware is your ZST10 700 series controller running? The original firmware it shipped with had issues that could cause your problem. I'm running 7.18.3, which is the latest version available from silabs. zwave-js/node-zwave-js#2544 (comment)

Thanks - I wonder if the updated usb stick firmware is what is helping

I’m still on 7.17.1 (that was before .2 came out to resolve some corner cases).

Unfortunately I don’t have a PC so updating the stick is not trivial (I have to boot another pios instance to run the Linux commands), but given your success I’ll try to find time to give this a shot.

Ikcelaks commented 1 year ago

I'm running the 7.18.3 firmware. I'm not sure if that offers any relevant improvements over the 7.17.2 firmware.

I downloaded it from SiLabs github: https://github.com/SiliconLabs/gecko_sdk/blob/gsdk_4.1/protocol/z-wave/Apps/bin/gbl/zwave_ncp_serial_api_controller_BRD4207A.gbl

kpine commented 1 year ago

Unfortunately I don’t have a PC so updating the stick is not trivial (I have to boot another pios instance to run the Linux commands), but given your success I’ll try to find time to give this a shot.

You can update the firmware from HAOS.

I downloaded it from SiLabs github: SiliconLabs/gecko_sdk@gsdk_4.1/protocol/z-wave/Apps/bin/gbl/zwave_ncp_serial_api_controller_BRD4207A.gbl

Just a note of caution about upgrading to this firmware. I believe the Zooz is a BRD4202A board, which means this is the incorrect file. It may not make a difference (the difference between the boards is SAW filter vs. no SAW filter), but I would personally hold off on upgrading to vendor unsupported versions and files. Zooz is currently only supporting 7.17.2. I would create a support ticket with Zooz if you want to upgrade to a newer version. They were in the process back in September of qualifying a newer version, so not sure what's taking so long. HomeSeer is supporting 7.18.2 and the boards are the same types, AFAIK. It is definitely necessary to upgrade from 7.17.1 to 7.17.2.

dredjohn21 commented 1 year ago

Thanks @kpine and @Ikcelaks

very cool to see the HAOS instructions - will be very helpful, and I’ll definitely check with Zooz before upgrading

I wonder if one of the reasons for delay is the rumored upcoming release of the 800 USB stick

very curious what the upgrade path will look like to jump from 700 to 800

mcmanigle commented 1 year ago

I came here to report the superficial "Upload Failed" message (for me anywhere between 5% and 30%) while updating Lutron DZ6HD devices with a HUSBZB USB stick hub. As u/Ikcelaks reported, despite the error, the update seems to continue loading in the background and completing successfully.

Not sure if this UI error is worth a separate report or not.

issue-triage-workflows[bot] commented 1 year ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.