Example 1: Send a ZDO LQI request to read the neighbor table contents of a remote

Looking at the Zigbee specification, the cluster ID for an LQI Request is 0x0031, and the payload only requires a single byte (start index). This example sends an LQI request to a remote device with a 64-bit address of 0x0013A200 40401234. The start index is set to 0, and the transaction sequence number is set to 0x76.

API Frame

7E 0016 11 01 0013A200 40401234 FFFE 00 00 0031 0000 00 00 76 00 CE

Field composition

0x0016 length
0x11 Explicit transmit request
0x01 Frame ID (set to a non-zero value to enable the transmit status message, or set to 0 to disable)
0x0013A200 40401234 64-bit address of the remote
0xFFFE 16-bit address of the remote (0xFFFE = unknown). Optionally, set to the 16-bit address of the destination if known.
0x00 Source endpoint
0x00 Destination endpoint
0x0031 Cluster ID (LQI Request, or Neighbor table request)
0x0000 Profile ID (Zigbee device profile)
0x00 Broadcast radius
0x00 Tx Options
0x76 Transaction sequence number
0x00 Required payload for LQI request command
0xCE Checksum (0xFF - SUM (all bytes after length))

Description

This API frame sends a ZDO LQI request (neighbor table request) to a remote device to obtain data from its neighbor table. You must set the AO command correctly on an API device to enable the explicit API receive frames to receive the ZDO response.