Explicit Addressing Command Request - 0x11
Response frame: Extended Transmit Status - 0x8B
Description
This frame type is used to send payload data as an RF packet to a specific destination using application-layer addressing fields. The behavior of this frame is similar to Transmit Request - 0x10, but with additional fields available for user-defined endpoints, cluster ID, and profile ID.
This frame type is typically used for OTA updates, serial data transmissions, ZDO command execution, third-party Zigbee interfacing, and advanced Zigbee operations.
Query NP (Maximum Packet Payload Bytes) to read the maximum number of payload bytes that can be sent.
64-bit addressing
- For broadcast transmissions, set the 64-bit destination address to 0x000000000000FFFF
- For unicast transmissions, set the 64-bit address field to the address of the desired destination node
- If transmitting to a 64-bit destination, set the 16-bit address field to 0xFFFE
16-bit addressing
- DigiMesh does not support 16-bit addressing. The 16-bit address field is considered reserved and should be set to 0xFFFE
- For unicast transmissions, set the 16-bit address field to the address of the desired destination node
- To use 16-bit addressing, set the 64-bit address field to 0xFFFFFFFFFFFFFFFF
Zigbee-specific addressing information
- A Zigbee coordinator can be addressed in one of two ways:
- Set the 64-bit address to all 0x00s and the 16-bit address to 0xFFFE
- Set the 64-bit address to the coordinator's 64-bit address and the 16-bit address to 0x0000
- When using 64-bit addressing, populating the correct 16-bit address of the destination helps improve performance when transmitting to multiple devices. If you do not know a 16-bit address, set this field to 0xFFFE (unknown). If the transmission is successful, the Extended Transmit Status - 0x8B indicates the discovered 16-bit address.
- When using 16-bit addressing, the following addresses are reserved:
- 0xFFFC = Broadcast to all routers
- 0xFFFD = Broadcast to all non-sleepy devices
- 0xFFFF = Broadcast to all devices, including sleepy end devices
- To send a ZDO command (ZCL/ZDP):
- Enter the ZDO command in the command data field (payload).
- Each field in the ZDO command frame is represented in little endian format.
- For information on the command formatting, refer to the ZCL and ZDP specifications.
Reserved endpoints
For serial data transmissions, the 0xE8 endpoint should be used for both source and destination endpoints.
The active Digi endpoints are:
- 0xE8 - Digi Data endpoint
- 0xE6 - Digi Device Object (DDO) endpoint
Reserved cluster IDs
For serial data transmissions, the 0x0011 cluster ID should be used.
The following cluster IDs can be used on the 0xE8 data endpoint:
- 0x0011- Transparent data cluster ID
- 0x0012 - Loopback cluster ID:The destination node echoes any transmitted packet back to the source device. Cannot be used on XBee 802.15.4 firmware.
Reserved profile IDs
The Digi profile ID of 0xC105 should be used when sending serial data between XBee devices.
The following profile IDs are handled by the XBee natively, all others—such as Smart Energy and Home Automation—can be passed through to a host:
- 0xC105 - Digi profile ID
- 0x0000 - Zigbee device profile ID (ZDP)
Format
The following table provides the contents of the frame. For details on the frame structure, see API frame format.
Offset | Size | Frame Field | Description |
---|---|---|---|
0 | 8-bit | Start Delimiter | Indicates the start of an API frame. |
1 | 16-bit | Length | Number of bytes between the length and checksum. |
3 | 8-bit | Frame type |
Explicit Addressing Command Request - 0x11 |
4 | 8-bit | Frame ID |
Identifies the data frame for the host to correlate with a subsequent response. If set to0, the device will not emit a response frame. |
5 | 64-bit | 64-bit destination address |
Set to the 64-bit IEEE address of the destination device. Broadcast address is 0x000000000000FFFF. Zigbee coordinator address is 0x0000000000000000. When using 16-bit addressing, set this field to 0xFFFFFFFFFFFFFFFF. |
13 | 16-bit | 16-bit destination address |
Set to the 16-bit network address of the destination device if known. If transmitting to a 64-bit address, sending a broadcast, or the 16-bit address is unknown, set this field to 0xFFFE. |
15 | 8-bit | Source Endpoint |
Source endpoint for the transmission. Serial data transmissions should use 0xE8. |
16 | 8-bit | Destination Endpoint |
Destination endpoint for the transmission. Serial data transmissions should use 0xE8. |
17 | 16-bit | Cluster ID |
The Cluster ID that the host uses in the transmission. Serial data transmissions should use 0x11. |
19 | 16-bit | Profile ID |
The Profile ID that the host uses in the transmission. Serial data transmissions between XBee devices should use 0xC105. |
21 | 8-bit | Broadcast radius |
Sets the maximum number of hops a broadcast transmission can traverse. This parameter is only used for broadcast transmissions. If set to 0 (recommended), the value of NH specifies the broadcast radius. |
22 | 8-bit | Transmit options |
See the Transmit options bit field table below for available options. If set to 0, the value of TO specifies the transmit options. |
23-n | variable | Command data |
Data to be sent to the destination device. Up to NP bytes per packet. For ZDO and ZCL commands, the command frame is inserted here. The fields in this nested command frame are represented in little-endian. |
EOF | 8-bit | Checksum | 0xFF minus the 8-bit sum of bytes from offset 3 to this byte (between length and checksum). |
Transmit options bit field
The available transmit options vary depending on the protocol being used. Bitfield options can be combined. Set all unused bits to 0.
Zigbee
Bit |
Meaning |
Description |
0 |
Disable ACK [0x01] |
Disable retries and route repair |
1 | Reserved | <set this bit to 0> |
2 |
Indirect Transmission [0x04] |
Used for Binding transmissions. |
3 |
Multicast [0x08] |
See Multicast transmissions for more information. |
4 | Secure Session Encryption [0x10] |
Encrypt payload for transmission across a Secure Session Reduces maximum payload size by 4 bytes. |
5 |
Enable APS encryption [0x20] |
APS encrypt the payload using the link key set by KY Reduces maximum payload size by 4 bytes. |
6 |
Use extended timeout [0x40] |
See Extended timeout for more information. |
Examples
Each example is written without escapes (AP = 1) and all bytes are represented in hex format. For brevity, the start delimiter, length, and checksum fields have been excluded.
64-bit unicast
Sending a unicast transmission to an XBee device with the 64-bit address of 0013A20012345678 with the serial data "TxData". Transmit options are set to 0, which means the transmission will send using the options set by the TO command. This transmission is identical to a Transmit Request - 0x10 using default settings.
The corresponding Extended Transmit Status - 0x8B response with a matching Frame ID will indicate whether the transmission succeeded.
7E 00 1A 11 87 00 13 A2 00 12 34 56 78 FF FE E8 E8 00 11 C1 05 00 00 54 78 44 61 74 61 B4
Frame type | Frame ID | 64-bit dest | 16-bit dest | Source EP | Dest EP | Cluster | Profile | Bcast radius | Tx options | Command data |
---|---|---|---|---|---|---|---|---|---|---|
0x11 | 0x87 | 0x0013A200 12345678 |
0xFFFE | 0xE8 | 0xE8 | 0x0011 | 0xC105 | 0x00 | 0x00 | 0x547844617461 |
Explicit request | Matches response | Destination | Unknown | Digi data | Digi data | Data | Digi profile | N/A | Use TO | "TxData" |
Loopback Packet
Sending a loopback transmission to an device with the 64-bit address of 0013A20012345678 using Cluster ID 0x0012. To better understand the raw performance, retries and acknowledgements are disabled.
The corresponding Extended Transmit Status - 0x8B response with a matching Frame ID can be used to verify that the transmission was sent.
The destination will not emit a receive frame, instead it will return the transmission back to the sender. The source device will emit the receive frame—the frame type is determined by the value of AO—if the packet looped back successfully.
7E 00 1A 11 F8 00 13 A2 00 12 34 56 78 FF FE E8 E8 00 12 C1 05 00 01 54 78 44 61 74 61 41
Frame type | Frame ID | 64-bit dest | 16-bit dest | Source EP | Dest EP | Cluster | Profile | Bcast radius | Tx options | Command data |
---|---|---|---|---|---|---|---|---|---|---|
0x11 | 0xF8 |
0x0013A200 |
0xFFFE | 0xE8 | 0xE8 | 0x0012 | 0xC105 | 0x00 | 0x01 | 0x547844617461 |
Explicit request | Matches response | Destination | Unknown | Digi data | Digi data | Data | Digi profile | N/A | Disable retries | "TxData" |
ZDO command - ZDP Management Leave Request
Request a Zigbee device with the 64-bit address of 0013A20012345678 leave the network via a ZDO command. The ZDP request is sent as a broadcast with the destination defined in the ZDO command frame. Each field in the ZDO frame is in little-endian, the rest of the Digi API frame is big-endian.
In order to output the response to the ZDO command request, the sender must be configured to emit explicit receive frames by setting bit 0 of AO (API Options)—AO = 1. See Receiving ZDO command and responses for more information.
The corresponding Extended Transmit Status - 0x8B response with a matching Frame ID will indicate whether the transmission succeeded. The destination will handle the request and return a response to the sender, which will be emitted as a Explicit Receive Indicator - 0x91 if enabled.
7E 00 1E 11 01 00 00 00 00 00 00 FF FF FF FE 00 00 00 34 00 00 00 00A1 78 56 34 21 00 A2 13 00 00 45
Frame type | Frame ID | 64-bit dest | 16-bit dest | Source EP | Dest EP | Cluster | Profile | Bcast radius | Tx options | Command data |
---|---|---|---|---|---|---|---|---|---|---|
11
|
DE
|
|
FFFE
|
00
|
00
|
0000
|
0000
|
00
|
00
|
|
0x11 | 0xDE |
0x00000000 |
0xFFFE | 0x00 | 0x00 | 0x0034 | 0x0000 | 0x00 | 0x00 |
|
Explicit request | Matches response | ZDO commands should be broadcasted | Reserved | ZDO | ZDO |
Management |
Zigbee Device Profile (ZDP) | Use BH | Use TO |
|