Recently i stumbled across the fact that my Sonoff TRVZB (Zigbee Thermostat available via Amazon* ) had the old firmware and i had no update offering in my Home Assistant Instances. Since i’m running ZHA i started investigating why. First of all, i believe it is interesting to see that ZHA is based on zigpy  which implements all the ZigBee features in a handy python library. So whenever something cannot be found or is unclear in the ZHA help pages, a look into the repo of zigpy might help.

OTA configuration for ZHA in Home Assistant

To enable OTA (especially for Sonoff Devices), the following section helped:

1
2
3
4
5
6
7
8
9
zha:
  zigpy_config:
    ota:
      enabled: true
      broadcast_enabled: true
      broadcast_initial_delay: 14400
      broadcast_interval: 14400
      z2m_remote_index: "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json"
      sonoff_provider: true

Don’t forget to restart Home Assistant whenever you change the config. You can enable additional Update providers according to the documentation .

Update of Devices

Attention before proceeding: Please make sure to read the corresponding  section of the manual (especially the warnings).

To kickstart the update, you can go via Settings -> Updates and Refresh the list of updates. THen you can run the update. In the case of the update from 1.1.0.1 to 1.1.0.5 of the Sonoff TrvZB, the update took about 40 minutes per device.