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
74.15k stars 31.13k forks source link

Firmware update for Aeotec Z-Wave range extender (ZW189-C15) fails #98676

Closed bachya closed 1 year ago

bachya commented 1 year ago

The problem

This morning, I received a notification for a firmware update for my Aeotec Z-Wave range extender:

IMG_0597

When I attempt to apply the update, I got the error below.

What version of Home Assistant Core has the issue?

2023.08.3

What was the last working version of Home Assistant Core?

N/A

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Z-Wave

Link to integration documentation on our website

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

Diagnostics information

zwave_js-f2b94282dc8951f8e49d98bcf3a4ba80-Upstairs Range Extender-075245c2603ca5cbbd76c4c08186e8b7.json.txt

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.websocket_api.http.connection
Source: components/zwave_js/update.py:275 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: August 18, 2023 at 8:17:25 PM (3 occurrences) 
Last logged: 8:37:51 AM

[547369340352] Z-Wave error 1506: Downloading the firmware update for node 15 failed: Could not detect firmware format (ZW1506)
[546979961024] Z-Wave error 1506: Downloading the firmware update for node 15 failed: Could not detect firmware format (ZW1506)
[546944024384] Z-Wave error 1506: Downloading the firmware update for node 15 failed: Could not detect firmware format (ZW1506)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zwave_js/update.py", line 270, in async_install
    await self.driver.controller.async_firmware_update_ota(
  File "/usr/local/lib/python3.11/site-packages/zwave_js_server/model/controller/__init__.py", line 788, in async_firmware_update_ota
    data = await self.client.async_send_command(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zwave_js_server/client.py", line 116, in async_send_command
    return await future
           ^^^^^^^^^^^^
zwave_js_server.exceptions.FailedZWaveCommand: Z-Wave error 1506: Downloading the firmware update for node 15 failed:
Could not detect firmware format (ZW1506)

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 226, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1974, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2011, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 157, in async_install
    await entity.async_install_with_progress(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 421, in async_install_with_progress
    await self.async_install(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/zwave_js/update.py", line 275, in async_install
    raise HomeAssistantError(err) from err
homeassistant.exceptions.HomeAssistantError: Z-Wave error 1506: Downloading the firmware update for node 15 failed:
Could not detect firmware format (ZW1506)

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` Renames 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)

kpine commented 1 year ago

This is a Z-Wave JS bug. You will need to update to a newer version of Z-Wave JS, I believe it is fixed in v11.11.0. The latest Z-Wave JS UI includes this version.

bachya commented 1 year ago

Thanks, @kpine. It looks like I'll need to await a new version of the Z-Wave JS UI add-on. Once that comes and I can validate it fixes the issue, I'll return and close this.

ocalvo commented 1 year ago

I am seeing the same on Zwave-JS UI:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/zwave_js/update.py:275
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 7:38:45 PM (2 occurrences)
Last logged: 7:38:58 PM

[547658247616] Z-Wave error 1506: Downloading the firmware update for node 20 failed: Could not detect firmware format (ZW1506)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zwave_js/update.py", line 270, in async_install
    await self.driver.controller.async_firmware_update_ota(
  File "/usr/local/lib/python3.11/site-packages/zwave_js_server/model/controller/__init__.py", line 788, in async_firmware_update_ota
    data = await self.client.async_send_command(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zwave_js_server/client.py", line 116, in async_send_command
    return await future
           ^^^^^^^^^^^^
zwave_js_server.exceptions.FailedZWaveCommand: Z-Wave error 1506: Downloading the firmware update for node 20 failed:
Could not detect firmware format (ZW1506)

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 226, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1974, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2011, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 157, in async_install
    await entity.async_install_with_progress(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 421, in async_install_with_progress
    await self.async_install(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/zwave_js/update.py", line 275, in async_install
    raise HomeAssistantError(err) from err
homeassistant.exceptions.HomeAssistantError: Z-Wave error 1506: Downloading the firmware update for node 20 failed:
Could not detect firmware format (ZW1506)

I am using version 1.15.5 of ZwaveJS-UI

ocalvo commented 1 year ago

This is a Z-Wave JS bug. You will need to update to a newer version of Z-Wave JS, I believe it is fixed in v11.11.0. The latest Z-Wave JS UI includes this version.

Can you confirm what version will have the fix?

kpine commented 1 year ago

https://github.com/zwave-js/zwave-js-ui/releases/tag/v8.23.0

Presumably included in the next add-on version. To keep track of all the versions, there's https://zwave-js.github.io/which-version/.

bachya commented 1 year ago

Confirmed that the latest add-on contains the new Z-Wave JS UI version. Thanks!

niemyjski commented 1 year ago

hmm, Mine will start sometimes but never gets passed 1-16% even with the device a few feet from the controller. I'm using the latest addon version too.

ocalvo commented 1 year ago

Mine has been updating for 18 hours with no progress. Screenshot_20230821-190046.png

kpine commented 1 year ago

Hi, the original issue has been fixed. These follow up comments aren't related. You'll need to take these problems to node-zwave-js.

There is a similar issue already reported, https://github.com/zwave-js/node-zwave-js/issues/6197. It's not possible to say if that's your problem without seeing driver debug logs. I'd suggest you report these hangs to node-zwave-js.