It was not announced in the Home Assistant 2026.1 release notes but FYI, the ZHA integration have now since Home Assistant 2026.1.0 an early version of its own official central firmware Zigbee OTA firmware image repository for Zigbee gateway implementations that uses the zigpy libraries (similar to the Zigbee-OTA repo that Zigbee2MQTT project maintains) which allow Zigbee device manufacturers to provide tested Over-The-Air updates to Zigbee devices via an official channel for Home Assistant and other projects that uses zigpy.
Launch announcement and more info here in zigpy-ota discussion section:
By default, only stable firmware images is available to ZHA users and those are provider via the zigpy-ota stable channel which is active by default with Home Assistant Core 2026.1.0 and later with no configurations required by the end-user. ZHA integration documentation has not yet been updated:
Note that the OTA providers that was previous supported by zha is currently still used by zigpy as well, though from now and in the future ZHA devs would prefer if manufactuers using this new zigpy-ota repo, and sooner or later zigpy/zha will probably deprecate all of the other OTA providers so that all Zigbee OTA images will need to be provided via the new zigpy-ota repo.
Should maybe also be mentioned that OTAU image submittions is initially only targeted to Zigbee device manufacturers that are willing to formally provide OTA firmware image officially.
It will by the way be possible in the future to opt into pre-release firmware (dev or beta) by edit configuration but that is not recommended to end-users:
Not sure if they will sooner or later allow allow non-manfucatuers (e.g. trusted users) to submit vetted Zigbee OTA files from non-official repos like the one Z2M uses → GitHub - Koenkk/zigbee-OTA: A collection of Zigbee OTA files
FYI, here is a more extensive introduction that TheJulianJES posted to device manufacturers:
Just some info: We have an early version of our central firmware repo set up now: zigpy-ota. The underlying OTA provider in zigpy for the repo is included in Home Assistant Core 2026.1.0.
We’re trying to move towards a central approach, as it’s easier for most manufacturers, allows us to get feedback on the installed OTAs, do a quick sanity check for new updates, and have a “beta” zigpy-ota release channel to which we can (temporarily) limit new updates to.
The repo doesn’t require any PRs nor JSON metadata to add images. You can submit an issue (per image) with your existing OTA image URL and a PR will be auto-created and merged by us.
Providing release notes is also simple and we’ve found that to be really helpful for users who are unsure about installing updates, so it’s very much encouraged to just add a bit of the text about the particular update in that section of the issue form.
If you want to limit the update to certain device models (e.g. like here), or to users who configured the zigpy-ota beta channel, or if you want to require a minimum installed existing version on the device, you can also add a bit of optional metadata. See the placeholder and examples in the issue form and README for that. We’re also here to answer any questions.
If any update later needs to be removed, you can submit a PR to edit the YAML text file per image and just add
disabled: true. Alternatively, you can also just submit a PR that removes the image and YAML metadata file, e.g. for updates with bad regressions.