What API could be used to send out ZDO Device announce, when router (zr) or end device joins network ?
Is there any sample code could be referenced?
Thanks,
Robert
What API could be used to send out ZDO Device announce, when router (zr) or end device joins network ?
Is there any sample code could be referenced?
Thanks,
Robert
Hi Robert,
This is handled internally by the stack in the ZBOSS stack, and is done automatically when a device joins a network. We do not have sample code to manually do this.
Best regards,
Marte
Hi Marte,
In nRF Connect "network coordinator" sample code, zboss_signal_handler() will deal case ZB_ZDO_SIGNAL_DEVICE_ANNCE for "New device commissioned or rejoined". Using another nRF52840-DK and running "Light Bulb" example code, it does join the network, but the network coordinator does not perform the "ZB_ZDO_SIGNAL_DEVICE_ANNCE ".
Do I miss something?
Thanks,
Robert
Hi Robert,
The signal ZB_ZDO_SIGNAL_DEVICE_ANNCE is generated when the device receives a device announcement command. Did the light bulb send this command? Can you get a sniffer log to verify this?
Best regards,
Marte
Hi Marte,
I did couple tests. The results are the same. When the light bulb commissioned and joined the network, the coordinator does receive the join announcement. But, the light bulb re-joines the network, the coordinator does not receive the join announcement.
Please see the attached sniffer logs and the terminal logs.
Thanks
Robertsniff_logs.zip
Hi Marte,
I did couple tests. The results are the same. When the light bulb commissioned and joined the network, the coordinator does receive the join announcement. But, the light bulb re-joines the network, the coordinator does not receive the join announcement.
Please see the attached sniffer logs and the terminal logs.
Thanks
Robertsniff_logs.zip
Hi Robert,
This signal is only generated when a new device joins the network. If the device has previously been commissioned to and joined the network and has the network data stored so that it is rejoining without being commissioned again, then it will not send a device announcement.
Best regards,
Marte
Hi Marte,
Is there any way, the device could send a device announcement when it re-joins the network. For example, after power outage or reset.
Thanks,
Robert
Hi Robert,
When the device restarts and it has previously been joined to a network it will generate the signal ZB_BDB_SIGNAL_DEVICE_REBOOT. If you want to overwrite the default handling of this signal, or do something in additional, you can do so by handling the signal in zboss_signal_handler. In this way, you can make the device send a command when it rejoins. You should make sure that the device still stops network rejoin if the device successfully rejoins when this signal is generated (stop_network_rejoin), so do not override it completely.
You cannot manually send a device announcement, as that command is not available to the application, so you must find another way to handle this.
Best regards,
Marte