Device discovery
Network discovery
Use the network discovery command to discover all devices that have joined a network. Issuing the ND command sends a broadcast network discovery command throughout the network. All devices that receive the command send a response that includes:
- Device addressing information
- Node identifier string (see NI (Node Identifier))
- Other relevant information
You can use this command for generating a list of all module addresses in a network.
ZDO discovery
The Zigbee device profile includes provisions to discover devices in a network that are supported on all Zigbee devices (including non-Digi products). These include the LQI Request (cluster ID 0x0031) and the Network Update Request (cluster ID 0x0038). You can use the LQI Request to read the devices in the neighbor table of a remote device, and the Network Update Request for a remote device to complete an active scan to discover all nearby Zigbee devices. Note that the LQI of End Devices is not tracked and will always return 0xFF (255). You can send both of these ZDO commands using the XBee Explicit API transmit frame (0x11). For more information, see API Operation. Refer to the Zigbee specification for formatting details of these two ZDO frames.
Joining Announce
All Zigbee devices send a ZDO Device Announce broadcast transmission when they join a Zigbee network (ZDO cluster ID 0x0013). These frames are sent out the device's serial port as an Explicit Rx Indicator API frame (0x91) if AO is set to 1. The device announce payload includes the following information:
[Sequence Number] + [16-bit address] + [64-bit address] + [Capability]
The 16-bit and 64-bit addresses are received in little-endian byte order (LSB first). See the Zigbee specification for details.