Update ZHA Device error after 2024.3.0

A firmware update has popped up for one of my sockets.

image

When I try to install it I get this error.

image

The Logs are showing this…

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:239
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 12:48:23 (1 occurrences)
Last logged: 12:48:23

[547975460544]
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 239, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2319, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2356, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 905, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 975, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 161, in async_install
    await entity.async_install_with_progress(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 465, in async_install_with_progress
    await self.async_install(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/zha/update.py", line 176, in async_install
    assert self._latest_firmware is not None
AssertionError

Any ideas? This is all a it above me.

I’m seeing the same thing with one eWeLink plug.

The message about the upgrade being available comes and goes, too.

I was wondering about this, when I updated to 2024.3.0 yesterday I saw the updates appear but after refreshing the page they dissappeared, this morning they’re back but when I try and do a firmware update from the dialogue I get a similar error message:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:239
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 09:27:52 (2 occurrences)
Last logged: 09:29:26
[140138791827136]

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 239, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2319, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2356, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 905, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 975, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 161, in async_install
    await entity.async_install_with_progress(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 465, in async_install_with_progress
    await self.async_install(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/zha/update.py", line 176, in async_install
    assert self._latest_firmware is not None
AssertionError

I really like this change fwiw it should hopefully make updating firmware a lot easier (when all the issues are ironed out).

Morning Mike,

So this morning it looks like it has done the update??

Maybe it had started it, and what we need is, instead of an error, a message saying it’s underway?

Not even sure if that is possible.

image

Today my plug is showing that it has the current firmware.

But it did that once yesterday, too, and then went back to showing an earlier version.

I wonder if this is really a case of it not reading the version correctly. It’s hard to believe that it upgraded the firmware on its own, then downgraded, then upgraded again.

You are bang on, just rebooted and it is back to the old one , saying it needs an update, very weird.

Hello!
I have the exact same issue here.
Since update to Core 2024.3 // 11.5, I have firmware updates showing off. When I accept: error message and same logs.
Sometimes, my “updated” devices show the new fw version, sometimes they are back to the previous one. Nothing really clear here.

I parsed the log to check the firmware URL to update manually, but nothing in the log gives clue about where to get it.

Hope that will work soon!

Hello,

Exactly same here for all my zigbee (Nodon & Adeo) devices through Sonoff usb dongle, raspberry PI 3 and HA OS.

Same log so… I guess same reason behind ^^.
I have no solution right now. I know that OTA update for zigbee device using ZHA was pushed for 2024.2 and a patch was pushed on 2024.3 so probably another one in near future.

I was looking for it on the github yesterday but I did not found anything about it yet.

1 Like

I have yet to manage one successful firmware upgrade on ANY Zigbee device. I get either the error described above (with a NodOn double switch) or the issue described at ZHA - New ‘Firmware update’ feature not working (on IKEA device) · Issue #110103 · home-assistant/core (github.com).

I have been able to update my Zigbee ThirdReality smartplugs before this recent error. I actually have 3 plugs that did get the firmware update with HASS, but one is stuck trying to get the update. I’ve restarted HASS and keep trying install the update. I keep getting a timeout error.
image

Here’s something I learnt the hard way - if a device is working as expected and not giving you any issues which are actually resolved with a specific firmware, simply don’t update.

“Just because you can, doesn’t mean you should” really applies in this case.

2 Likes

Did anyone get a fix for this? I keep getting error
await self.entity_data.entity.async_install(version=version, backup=backup)
File “/usr/local/lib/python3.12/site-packages/zha/application/platforms/update.py”, line 260, in async_install
assert self._latest_firmware is not None
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError