- Notifications
You must be signed in to change notification settings - Fork7.8k
feat(zigbee): Save network channel after 1st joining for faster rejoin#11123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
feat(zigbee): Save network channel after 1st joining for faster rejoin#11123
Uh oh!
There was an error while loading.Please reload this page.
Conversation
github-actionsbot commentedMar 14, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
👋Hello P-R-O-C-H-Y, we appreciate your contribution to this project! 📘 Please review the project'sContributions Guide for key guidelines on code, documentation, testing, and more. 🖊️ Please also make sure you haveread and signed theContributor License Agreement for this project. Click to see more instructions ...
Review and merge process you can expect ...
|
github-actionsbot commentedMar 14, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
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]
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
github-actionsbot commentedMar 14, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Test Results 76 files 76 suites 13m 48s ⏱️ Results for commit677a984. ♻️ This comment has been updated with latest results. |
lucasssvaz left a comment
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
SuGlider left a comment
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
P-R-O-C-H-Y commentedMar 14, 2025
Still in progress. Please don't change the labels :) Need a small update |
SuGlider commentedMar 14, 2025
Sorry. I've read "review pending, instead..." |
225ad7e to1ff918bCompare…O-C-H-Y/arduino-esp32 into feat/zigbee-rejoin-scan-enhancement
SuGlider left a comment
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
P-R-O-C-H-Y commentedMar 18, 2025
Marking as Pending merge, tested also by community. |
e2915c4 intoespressif:masterUh oh!
There was an error while loading.Please reload this page.
def1149 commentedMar 20, 2025
After more testing .... this change has problems. Using the updated sleepy temperature example:
It appears that the information about the first controller is saved in NVM and not cleared by a Zigbee.factoryReset() so it reconnects to the first controller unless I reflash the device and erase nvm As an aside, to cause Zigbee.factoryReset() in the sleepy temperature example the BOOT button must be held for 60+ seconds to be down the next time the EP wakes from sleep. I added a wake on external I/O to force an immediate wakeup. The BOOT button I/O is not an available external wake-up pin so I jumped IO9 to IO2 so IO2 goes low when the BOOT button is pressed and wakes up the ESP32 It's a hack but it works 😁 |
P-R-O-C-H-Y commentedMar 21, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@def1149 To have the answer also here, I am able to reproduce this behavior also with other manufacturer devices. about the factoryReset() in sleepy sensor, I have also a reset button on my ESP devkit, so I just hold the BOOT button and click the RESET button to wake up the esp. |
def1149 commentedMar 21, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@P-R-O-C-H-Y I'm going to remove a device that's been running overnight Of course you're right about restarting and holding the boot button and pressing the reset to force a factoryReset() |
Description of Change
This PR improves Zigbee rejoining process, as the network channel is saved to zb NVRAM, so after device reset the scanning will occur only on the saved channel saving time and energy.
Tests scenarios
Tested using sleepy example and HA. (did not test the actual power consumption, but the reconnection is a lot faster)
Related links
Closes#10746