ZHA OTA Firmware Update / Upgrade

What are the details of the device you wish up upgrade the firmware on?

Mostly Aquara devices:

  • door sensors (lumi.sensor_magnet.aq2)
  • FP1 sensors (lumi.motion.ac01)
  • Smart plugs (lumi.plug.maeu01)
  • Temperature/humidity Sensors (lumi.weather)

And a couple of smart outlets from Blitzwolf:

  • TS011F (by _TZ3000_amdymr7l )

Thanks for pointing that out. Fixed now!

FYI, an Home Assistant developer is currently working on support for ZHA UI update platform and zigpy OTA dependencies to allow for easy OTAU updates per Zigbee device, and once implemented it will be enabled by default for products where manufacturers provide public links to firmware images (which sadly is not that many as of yet so consider contacting manufacturers for products that you buy and encourage them to do so):

5 Likes

FYI, those pull requests by dmulcahey has now been merged so this should be in Home Assistant 2024.2

Update entities for ZHA devices

ZHA (Zigbee Home Automation, our built-in Zigbee integration) now provides update entities to Home Assistant!

This means you can get notified when a device has a firmware update available, and you can trigger the update from Home Assistant!

Noticed the weird version numbers? Unfortunately, that is how version numbers in the Zigbee standard work and look, we currently have no way to translate them to something more human-readable format.

Currently, it supports updating Inovelli, OSRAM/Ledvance, Sonoff, and ThirdReality devices, and we are looking at adding support for more brands in the future.

Note! Manufacturers must add public URL in zigpy for OTA update images for automatic download, see:

Sadly not many manufacturers are publishing their OTA images publicly yet. If you are a user of their products then consider contacting manufacturers and encourage them to do so for all their products.

Otherwise the end user must manually provide the OTAU files from unofficial sources, if so, check out:

1 Like

would appreciate too if someone could explain why to TZ3000_gvn91tmx TS011F you should chose file with this in filename zg_tl8258, not sure how this is working, btw I had to trigger it manually with step 4,
thanks for guide, also having issue with this device FW ver. 77 and turning on and off, will see if new FW would fix it

Thank you for the great write-up of these instructions!

Iā€™m trying to OTA update 3 Aqara TRVā€™s, 4 Aqara plugs and a Popp TRV, but I canā€™t succeed.
All the Aqara devices always deliver the following message in homeassistant.log:

DEBUG (MainThread) [zigpy.zcl] [0xDEA4:1:0x0019] No OTA image is available

For the Popp TRV, which is the same hardware as the Danfoss Ally, I canā€™t find an OTA file on Koenkkā€™s github repo.

Iā€™ve read this whole thread, and the whole documentation on OTA Device Firmware Updates Ā· zigpy/zigpy Wiki Ā· GitHub.
I think I have it all correctly set up. Hereā€™s the relevant content of my configuration.yaml
afbeelding

The OTA files are in the folder too:
afbeelding

But no matter if I wait for HA to update them, or when I trigger it manually, they never update. What can be the issue here? How can I troubleshoot any further?

I love that ZHA can now handle firmware updates via the UI!

One thing thatā€™s constantly bothered me about ZHA firmware updates in general though is that new entities in the firmware donā€™t seem to be discovered unless you remove and re-pair the device. This can be a real pain in the neck when you have a bunch of devices (such as two-dozen Inovelli switches). ZHA remembers the previous settings for most of the entities when the device is re-added, but not the entity names or icons so thereā€™s a risk of breaking quite a bit of my logic.

Is there any way to discover new entities without removing and re-pairing? Or is this the only option?

1 Like

HIā€¦any one have gledopto lights, and does it has any auto update with HA?

I got this

It seems theyā€™ve broken ota in zha. It worked before but after 2024.2 update HA doesnā€™t see updates in otau folder

same here, after 2024.2 this is no longer working, ALMOST updated all plugs and for some reason TZ3000_gvn91tmx TS011F says no up-to-date and FW version unknown

Are you guys sure it worked right before 2024.2? It didnā€™t work for me 5 days ago (trying to set it all up the first time) and my backups say I installed 2024.2 only 3 days ago. Wondering if my problem is the same as yoursā€¦

1 Like

Yes the otau_directory is disabled in 2024.2: [BUG] quirk (that removes level control) not loaded for all Tradfi plugs Ā· Issue #2973 Ā· zigpy/zha-device-handlers Ā· GitHub
There is an undocumented configuration flag mentioned in that thread to enable it at your own risk.

1 Like

Did you try the re configure option?

If I try to reconfigure the device, after a few seconds it says it completed successfully but the new entities never appear.

Iā€™ve also tried putting the switch in pairing mode first (triple pressing the config button). In that case, the reconfiguration fails after 5-10 seconds and this error appears in the logs: ā€œattempted pair verify without being paired first.ā€

That is kind of disappointing news.
Similarly I noticed that reconfigure doesnā€™t load quirks that became available after adding a device. Only Re-adding the devices fixes that, so very similar to what you report for entities.

As a user, I wonder what reconfigure actually does?! At least NOT what the name suggests.
I would expect that it there to complete missing entities and reconsider available quirksā€¦BUTā€¦apparently notā€¦

Thanks for trying!

I appreciate you trying to help!

I hope this is something that can be fixed in ZHA. Removing and adding the device also messes up which entities are exposed to voice assistants (and how theyā€™re configured within Alexa/Google Home/HomeKit).

1 Like

Hello all,

Iā€™m pretty new to this topic.
I run HA and for Zigbee I use Skyconnect. Iā€™m wondering if the OTA updates are also possible with Skyconnect? Any experience?
I donā€™t have to enable the ā€œota_providerā€ anymore, or?

Thank you!

In core-2024.2 the directory for OTA files was disabled.
I noticed this related pull request that seems to become part of core-2024.3:

2 Likes

What does, this mean exactly? That it will work again after an update?