I’m confused about the requirement for the sequence ID byte in ZDO commands. Some documentation says it must be there [1] [2] but other documentation (like the standards document) makes no mention of a sequence byte in ZDO commands.
What seems to work in practice is not having the sequence byte according to the standards document. However that’s a puzzling omission… it’s a very useful way of matching responses to requests and odd that it would be left out in the case of ZDO commands.
What am I missing here? I find it hard to believe that the documentation from two companies who are experts in the ZigBee standard can be wrong. Is the transaction sequence ID an option? And if so how do I avail of it? (BTW: I tried just adding it… it doesn’t work… it’s treated as the first byte of the ZDO command).
[1] “All ZDO requests and responses begin with the transaction sequence number as the first byte of the payload. This allows a request to be matched up with a particular response.”
http://portal.ember.com/zdo
[2] “The first byte of payload in the API frame is an application sequence number (transaction sequence number) that can be set to any single byte value. This same value will be used in the first byte of the ZDO response.” XBee/XBee-PRO ZB RF modules manual.