This section describes the two ways, unicast and broadcast, for the Host to send a ZDO command. It also describes the commands sent by the Module to communicate ZDO-level information to the Host.
- ( PH:0x04, SH:0x01 ) - Send ZDO Unicast Command
- ( PH:0x04, SH:0x02 ) - Send ZDO Broadcast Command
- ( PH:0x04, SH:0x03 ) - ZDO Send Status Command
- ( PH:0x04, SH:0x04 ) - ZDO APS Ack Command
- ( PH:0x04, SH:0x05 ) - ZDO Response Received Command
- ( PH:0x04, SH:0x06 ) - ZDO Response Timeout Command
- ( PH:0x04, SH:0x07 ) - Setup Reporting Binding Request
- ( PH:0x04, SH:0x08 ) - Setup Reporting Binding Response
- ( PH:0x04, SH:0x1E ) - ZDO Device Announce Received Command
( PH:0x04, SH:0x01 ) - Send ZDO Unicast Command
The Send ZDO Unicast command is sent by the Host to the Module in order to prompt the Module to send a ZDO message to a single destination node. The command configures the following options:
- custom sequence numbers
- reception of APS ACK
- reception of ZDO Response Received
Payload for Send ZDO Unicast Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Destination Node ID | |
2,3 | ZDO Command ID | |
4 | Response Options | 8-bit Bitmap: Bit 0: Custom Sequence Number |
5 | Transaction Sequence Number | Only used if bit 0 in the Response Options field is set. The Host must apply a number in the range of 0-127. |
6 | Payload Length | |
7..n | Payload |
Effect on Receipt
The Module will attempt to issue the ZDO message over the network. The status of the transmission and its assigned sequence number will be relayed to the Host via a ZDO Send Status command.
To know whether the destination node has successfully received a message, the Host should enable reception of APS ACK status messages via the Response Options field. On reception the Module relays these messages to the Host as ZDO APS Ack commands.
If the given message is a request (e.g., ZDO Bind Request or ZDO Simple Descriptor Request) and the Host expects a response, it should enable the option to receive a ZDO Response Received, via the Response Options field. On reception of a message with a matching sequence number, the Module will relay the response to the Host via the ZDO Response Received command. If no response is received within a given interval, the Module will instead issue a ZDO Response Timeout command to the Host.
Allowed Context | Sent By Host/Module |
---|---|
Network Up | Host |
( PH:0x04, SH:0x02 ) - Send ZDO Broadcast Command
The Send ZDO Broadcast command is sent by the Host to the Module to prompt the Module to broadcast a ZDO Message across the network.
Payload for Send ZDO Broadcast Command
Byte Index | Field Name | Notes |
---|---|---|
0 | Broadcast Address | 0xFF = All Devices Any other address entered will default to 0xFD |
1 | Enable reception of APS ACK status messages (not used) | |
2 | Radius | Number of network hops this message may travel 0 = Maximum |
3,4 | Command ID | |
5 | Response Options | 8-bit Bitmap: Bit 0: Custom Sequence Number |
6 | Transaction Sequence Number | Only used if bit 0 in the Response Options field is set. The Host must apply a number in the range of 0-127. The range 128-255 is reserved for commands generated by the Module. |
7 | Payload Length | |
8..n | Payload |
Effect on Receipt
The Module will try to broadcast the message over the network. The status of the transmission and its assigned sequence number will be relayed to the Host via a ZDO Send Status command.
Allowed Context | Sent By Host/Module |
---|---|
Network Up | Host |
( PH:0x04, SH:0x03 ) - ZDO Send Status Command
The ZDO Send Status message is sent by the Module to the Host after the transmission of a Send ZDO Unicast or Send ZDO Broadcast. The message conveys the success or failure of the transmission. If the Status indicates Success, the message will also convey a value for the Transaction Sequence Number assigned to it.
Payload for ZDO Send Status Command
Byte Index | Field Name | Notes |
---|---|---|
0 | Status | 0x00 = Success, the message was successfully transmitted. |
1 | Transaction Sequence Number | The ZDO Transaction Sequence Number assigned to this message, with a valid value in place only if the Status indicates Success. |
Expected Host Action
No action is expected from the Host as the command is for notification purposes only. The Host may choose to display the Status in some manner, or it may also choose to re-send the message if the Status indicates an error occurred.
The Host also retains the option to store the Transaction Sequence Number associated with any outgoing message, such that it may match received ZDO Send Status messages to the requests that triggered them.
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0x04, SH:0x04 ) - ZDO APS Ack Command
The ZDO APS Ack command is sent by the Module to the Host on reception of an equivalent acknowledgement from the network, triggered by the initial transmission of a ZDO message that required an APS Ack among its Response Options. The Module will also generate the command when a given acknowledgment is not received and therefore times out.
Payload for ZDO APS Ack Command
Byte Index | Field Name | Notes |
---|---|---|
0 | APS Ack Status | 0x00 = APS Ack Received |
1 | Transaction Sequence Number | Transaction Sequence Number that identifies the ZDO message that the Host originally sent out. |
Expected Host Action
No action is expected from the Host. The command is for notification purposes only. If an APS Ack times out, the Host retains the option of retransmitting the original message.
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0x04, SH:0x05 ) - ZDO Response Received Command
The ZDO Response Received command is sent by the Module to the Host on reception of ZDO Message from the network. That is, the command is generated if the Host configured an outgoing Send ZDO Unicast or Broadcast request with Response Options indicating that a response is expected (i.e. enable reception of ZDO Response Received with corresponding Transaction Sequence Number, though the application will also verify the Source Node ID and Command ID).
Payload for ZDO Response Received Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Source Node ID | |
2,3 | ZDO Command ID | |
4 | Transaction Sequence Number | Matches the Transaction Sequence Number of the original request. |
5 | Payload Length | |
6..n | Payload |
Expected Host Action
None.
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0x04, SH:0x06 ) - ZDO Response Timeout Command
The ZDO Response Timeout command is sent by the Module to the Host when an expected ZDO Response Received command to an outgoing Send ZDO Unicast or Send ZDO Broadcast is not received within a given interval after transmission. The fixed timeout period is 10 seconds.
Note: When a Send ZDO Broadcast command is sent from the Host to the Module, the Module will open a receive window to listen for incoming responses. Once the Module is no longer listening for responses, it will also send a ZDO Response Timeout command back to the Host to signify that the receive window is closed.
Payload for ZDO Response Timeout Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Source Node ID | Expected Source Node ID of the response. |
2,3 | ZDO Command ID | Expected Cluster ID of the response. |
4 | Transaction Sequence Number | The Transaction Sequence Number of the original request. |
Expected Host Action
None. The Host retains the option of retransmitting the original message or may otherwise register an error condition.
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0x04, SH:0x07 ) - Setup Reporting Binding Request
The Setup Reporting Binding Request frame is sent by the Host to the Module when Host wants to receive attribute reports from a target device. Attribute reports are notifications to changes to attribute value. An attribute that is capable of sending reports is described as reportable. Only some attributes are reportable.
Host needs to specify the endpoint and cluster of the reportable attribute.
Effect on Receipt
Module will request to setup a binding on the target device. Host will receive a Status Response for whether Module successfully sent out the binding request.
The binding indicates the endpoint and cluster of the reportable attribute, as well as the address of the Module. When the reportable attribute value changes, the target device is expected to send attribute reports to the Module.
Payload for Setup Reporting Binding Request
Byte Index | Field Name | Notes |
---|---|---|
0 | Enable | 0x00 = Disable |
1..2 | Node ID | Node ID of the target device |
3.4 | Cluster ID | Cluster for the binding |
5 | Dest Endpoint ID | Destination Endpoint ID |
6 | Source Endpoint ID | Source Endpoint |
Status Responses to Setup Reporting Binding Request
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | the binding request is successfully sent to target device |
Invalid Call | 0x01 | frame received when network is not up |
Invalid Data | 0x02 | |
Out of Memory | 0x0C | Outgoing request queue is full |
Send Failure | 0x0D |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0x04, SH:0x08 ) - Setup Reporting Binding Response
The Setup Reporting Binding Response frame is sent by the Module to the Host after Host sends Setup Reporting Binding Request. The status indicates whether the target device successfully created the binding.
Payload for Setup Reporting Binding Response
Byte Index | Field Name | Notes |
---|---|---|
0 | Status | 0x00 = Success |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0x04, SH:0x1E ) - ZDO Device Announce Received Command
The ZDO Device Announce Received frame is sent by the Module to the Host when a new device announces itself on the network.
Payload for ZDO Device Response Received Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Node ID of the new device. |
2..9 | EUI64 | The 64 bit Extended Universal Identifier of the new device. |
10 | Capability | MAC capability bitmap of the device. Bit Description |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |