-
Notifications
You must be signed in to change notification settings - Fork 7.6k
feat(zigbee): Add OTA client cluster support #10946
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
👋 Hello P-R-O-C-H-Y, we appreciate your contribution to this project! 📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more. 🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project. Click to see more instructions ...
Review and merge process you can expect ...
|
Test Results 62 files 62 suites 5m 53s ⏱️ Results for commit f9a47de. ♻️ This comment has been updated with latest results. |
Memory usage test (comparing PR against master branch)The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target.
Click to expand the detailed deltas report [usage change in BYTES]
|
@@ -0,0 +1,112 @@ | |||
// Copyright 2024 Espressif Systems (Shanghai) PTE LTD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// Copyright 2024 Espressif Systems (Shanghai) PTE LTD | |
// Copyright 2025 Espressif Systems (Shanghai) PTE LTD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* feat(zigbee): Add OTA client cluster support * feat(zigbee): Add conditions to reject OTA upgrade * feat(zigbee): Add newest version of OTA handler * fix(zigbee): Fix errors and warnings, swap parameters order * feat(zigbee): Add simple OTA Client example * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Description of Change
This PR adds support for Zigbee OTA Client cluster.
To add Client cluster to the endpoint, add
zbDevice.addOTAClient()
before adding the endpoint to the Zigbee Class.The first 3 parameters are required and should be defined in your application, so you can control them when releasing a new updated version.
Added an simple OTA Client example to demonstrate how to use the OTA update.
For creating the OTA binary file (update file), you will need to get a python script from the esp-zigbee-sdk.
Tests scenarios
The OTA update was tested using the HomeAssistant, with specific configuration to allow the OTA updates for custom devices.
Thanks @lhespress for this tutorial: ZHA.OTA.Instructions.pdf
Link to the OTA creating process and how to use the image_builder_tool:
https://docs.espressif.com/projects/esp-zigbee-sdk/en/latest/esp32/user-guide/zcl_ota_upgrade.html#generate-and-apply-ota-upgrade-image
Related links
Related #10871
Related #10135