Compatible dongles: Nortek Stick; ConBeeⅡ; NXP 5169;
1) File configuration for OTA support
To enable OTA firmware updates for the ZHA integration, add the following configuration to your “configuration.yaml” and restart Home Assistant.
thirdreality_provider: true # Auto update 3REALITY devices
You can choose THIRDREALITY provider be set to enabled (true) or disabled (false) individually. After the OTA firmware upgrades are finished, you can set these to false again if you do not want ZHA to automatically download and perform OTA firmware upgrades in the future.
2) Manually trigger the OTA and check the log
a. First find the device IEEE by going into the Device page and copying the value that is just in the drop-down view below the Device Info
Go to the “ Developer Tools“ , open the ”Services“ tab and click the ”GO TO YAML MODE“ button.
Then paste this replacing <device_ieee> with the Device IEEE you just copied and click on the “ Call Service“ button.
b. Go to device info page, Click the bottom right button, choose “Manage zigbee device”
c. Click “Clusters” in the pop-out window and then choose “Ota” in the drop-down box.
d. Then choose “COMMANDS”, drop down the menu and select “image_notify”.
e. Choose “Query Jitter” and move the “query_Jitter” slide to any value, then enter “0” into “manufacturer_code*”, “image_type*”, and “new_file_version*”
f. Finally click “ISSUE ZIGBEE COMMAND” in the bottom of the window.
3) Check OTA Log
a. View via the command line
tail -f home-assistant.log | egrep 'zigpy.ota|zigpy.util|zigpy.*OTA' Here you can see the process of “OTA”.
b. Use the Add-on: “File editor” to view the file ” home-assistant.log”
You can check the logs as in this step and see if the firmware is detected and the updated fired.
4) Get the current version
a. Go to the “Device info” and choose the “Manage zigbee device” item
b. Select the Cluster “Basic” and the Attribute “app_version”, then “READ ATTRIBUTE”
5) Waiting for read result (if the read fails, you can try again)