Hi,
I'm trying to use a nRF52840DK as a zigbee router implementing a temperature sensor. The setup is composed of
Software
- Application: Home Assistant
- SDK: nRF5 SDK for Thread and Zigbee v4.1.0
Network
- Coordinator: Dresden-Elektronik Conbee II
- Router: nRF52840DK - Simulated temperature sensor
- End Device: Sonoff SNZB-02 - Temperature sensor
The nRF52840DK can join the network, but exactly after 20 seconds, it autonomously sends a leave message. The sonoff sensor instead works perfectly fine. To understand the problem, I compared the packets sent in the two scenarios, to find some differences. In both cases, the join procedure is successful. Both sensors are initially recognized by Home Assistant. The only difference is that nRF52840DK requests the node descriptor to the coordinator, which never responds to the request. Instead, the sonoff sensor doesn't request any descriptor from the coordinator. It can also be seen from the log of Home Assistant and the traces captured with Wireshark. The node descriptor request is sent from endpoint 0, denoting a behavior not directly dependent on what I've implemented.
Sonoff-HomeAssistantJoin.pcapngnRF52840DK-HomeAssistantJoin.pcapng
I've tried to use deCONZ/Phoscon to manage the network to see if it makes any difference. In this case, the coordinator responds to the node descriptor request, and nRF52840DK remains connected to the network after the join phase.
So it seems like the failure to receive a reply message may result in the board sending a leave message. I've tried to search the default behavior in case a request is not satisfied, but I hadn't had any luck finding any documentation regarding this.
Is this a normal behavior?
Is there any way to see what's triggering the leave mechanism and avoid it?
Thank you in advance,
Valerio
