(0x04) ZDO Message Frames

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.

Secondary Headers

Primary Headers






( PH:0x04, SH:0x01 ) - Send ZDO Unicast Command

Overview

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

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
Bit 1: Enable reception of APS ACK status messages
Bit 2: Enable reception of ZDO Response Received with corresponding Transaction 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.
The range 128-255 is reserved for commands generated by the Module.

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

Network Up.

Sent By Host/Module

Host.

( PH:0x04, SH:0x02 ) - Send ZDO Broadcast Command

Overview

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

Byte Index

Field Name

Notes

0

Broadcast Address

0xFF = All Devices
0xFD = All Non-Sleepy Devices
0xFC = All routers and coordinator

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
Bit 1: Enable reception of APS ACK status messages
Bit 2: Enable reception of ZDO Response Received with corresponding Transaction 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

Network Up.

Sent By Host/Module

Host.






( PH:0x04, SH:0x03 ) - ZDO Send Status Command

Overview

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

Byte Index

Field Name

Notes

0

Status

0x00 = Success, the message was successfully transmitted
0x01 = Invalid Call, the network is down or the application is not joined to a network
0x02 = Invalid Data
0x03 = Unsupported Command
0x04 = Storage Full
0x05 = No Entry Found
0x06 = Invalid Data Type
0x07 = Incorrect Length
0x08 = Endpoint Not Found
0x09 = Cluster Not Found
0x10 = Duplicate Data
0x11 = Busy
0x0C = Insufficient Memory, there is not enough available memory to transmit the message
0x0D = Send Failure
0x0F = Endpoint Configuration Locked
0xFF = Unknown Failure

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.

Effect on Receipt

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

All Contexts.

Sent By Host/Module

Module.






( PH:0x04, SH:0x04 ) - ZDO APS Ack Command

Overview

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

Byte Index

Field Name

Notes

0

APS Ack Status

0x00 = APS Ack Received
0x0E = APS Ack Timed Out

1

Transaction Sequence Number

Transaction Sequence Number that identifies the ZDO message that the Host originally sent out.

Effect on Receipt

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

All Contexts.

Sent By Host/Module

Module.






( PH:0x04, SH:0x05 ) - ZDO Response Received Command

Overview

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

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


Effect on Receipt

No action is expected from the Host.

Allowed Context

All Contexts.

Sent By Host/Module

Module.






( PH:0x04, SH:0x06 ) - ZDO Response Timeout Command

Overview

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

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.

Effect On Receipt

None. The Host retains the option of retransmitting the original message or may otherwise register an error condition.

Allowed Context

All Contexts.

Sent By Host/Module

Module.






( PH:0x04, SH:0x07 ) - Setup Binding Request

Overview

The Setup Binding Request frame is sent by the Host to the Module when the Host wants to create a unidirectional logical link between a source endpoint/cluster identifier pair and a destination endpoint.

Bindings are a precursor to configuring attribute reporting, which are notifications that are sent when the values of attributes change. An attribute that is capable of sending reports is described as reportable. Only some attributes are reportable. 

Payload

Byte IndexField NameNotes

0

Enable

0x00 = UnBind
0x01 = Bind

1..2

Node ID

Node ID of the target device


3.4

Cluster ID

Cluster for the binding

5Dest Endpoint IDDestination Endpoint ID
6Source Endpoint IDSource Endpoint

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.

When used for reporting and the reportable attribute value changes, the target device is expected to send attribute reports to the Module.

Status Responses to Setup Binding Request

Status ResponseEnumDescription

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

0x0COutgoing request queue is full
Send Failure0x0D

Allowed Context

All Contexts.

Sent By Host/Module

Host.

( PH:0x04, SH:0x08 ) - Setup Binding Response

Overview

The Setup Binding Response frame is sent by the Module to the Host after Host sends Setup Binding Request. The status indicates whether the target device successfully created the binding.

Payload

Byte IndexField NameNotes

0

Status

0x00 = Success


Effect On Receipt

None.

Allowed Context

All Contexts.

Sent By Host/Module

Module.






( PH:0x04, SH:0x1E ) - ZDO Device Announce Received Command

Overview

The ZDO Device Announce Received frame is sent by the Module to the Host when a new device announces itself on the network.

Payload

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
0       Alternative PAN Coordinator, always 0
1       Device Type, 1 = FFD, 0 = RFD
2       Power Source, 1 = mains power, 0 = other
3       Receiver on when Idle, 1 = non-sleepy, 0 = sleepy
4,5    Reserved
6      Security capacity, always 0 (standard security)
7      Allocate address, 1 = joining device must be issued
        network address

Effect On Receipt

None.

Allowed Context

All Contexts.

Sent By Host/Module

Module.










































Legal Notices

Copyright © 2020 MMB Networks, Inc. All rights reserved.
Confidential materials prepared and delivered by MMB Networks for receipt and review only by any partner subject to a valid and enforceable MMB Networks confidentiality agreement. Any receipt, review, or misuse of any of the content exchanged hereunder by any party not a party to this confidential exchange shall be subject to any and all rights available under the law. All rights, title and interest to the materials shall remain with MMB Networks.
Any suggestions provided to MMB Networks with respect to MMB Networks' products or services shall be collectively deemed “Feedback.” You, on behalf of yourself, or if you are providing Feedback on behalf of your employer or another entity, represent and warrant that you have full legal authority to bind such entity to these terms, agree to grant and hereby grant to MMB Networks a nonexclusive, perpetual, irrevocable, royalty free, worldwide license to use and otherwise exploit such Feedback within any MMB Networks products and services.