Zigbee readManufacturer fail leads to reboot #10777
Labels
Area: Zigbee
Issues and Feature Request about Zigbee
Status: Awaiting triage
Issue is waiting for triage
Board
seeed xiao esp32-c6
Device Description
I use the Seeeduino-XIAO-Expansion-Board/
Hardware Configuration
nothing added
Version
latest master (checkout manually)
IDE Name
Arduino IDE 2 and pioarduino
Operating System
Ubuntu 2024.04
Flash frequency
80Mhz
PSRAM enabled
yes
Upload speed
921600
Description
When calling
zbSwitch.readManufacturer(device->endpoint, device->short_addr, device->ieee_addr)
within the zigbee Switch example the manufacturer is reported.Unfortunately, the timeout within this function leads to a rebooting device, because it is not handled, when the device is not answering.
I expect, that the function
readManufacturer()
returns a "n/a" or likewise, but is not resetting the controller, when no information could be obtained.I tried to avoid the problem by checking
zbSwitch.bound()
before callingreadManufacturer()
, but this doesn't solve the problem, because bound() doesn't know, that I just unplugged the light.Sketch
Debug Message
Other Steps to Reproduce
In the pasted example I changed the xQueueReceive timeout in line 161 to 200 ticks to get to the end of the loop().
The really interesting part, is that I added the for loop in line 193 from the printBoundDevice function.
I'm using the latest master for arduino-esp32: commit 9eb7dc6
The behavior is independent of a factory-reset or not.
When the light is not available the readManufacturer runs into the unhandled exception.
I can reproduce this problems when
a) I disconnected the light bulb after successfull connection and toggling.
b) if the esp32c6 restarts and remembers the bound devices, but the actual reconnection to the light needs some time, but I'm already asking for a manufacturer.
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: