Explicit mode, analog I/O adapter message format

For the sake of the googles, here’s a little information on how I/O sample messages are received in Explicit mode (AO=1 or AO=3).

The Profile ID is set to digi’s (0xC105) and the Cluster ID is set to 0x0092. Notice that 0x92 is the message type you would have received if the device was NOT in explicit mode. The relationship between the Cluster ID and the non-explicit message identifier seems to be a pattern.

Beyond this, the message format follows exactly what you would get with message type 0x92.

In my opinion it’s easier to write software using explicit mode because there are no “special cases” except at the application layer. It feels better to me to handle the “special” stuff by just writing a listener for the cluster and profile IDs indicated below.

I hope this documentation is helpful to someone up the road. Drop me a note if you have questions.

–Chris

7E /* flag */
00 20 /* length */
91 /* packet type */
00 13 A2 00 40 8C 8D 2B /* source address */
E4 7F /* source network address */
E8 /* endpoint */
E8 /* endpoint */
00 92 /* cluster id */
C1 05 /* profile id (digi) */
01 /* receive options (packet acknowledged) */
01 /* number of reports (always 1 for i/o adapter) */
3D D0 /* digital mask */
0F /* analog mask */
18 D0 /* digital bits */
00 13 /* analog reading */
00 13 /* analog reading */
00 13 /* analog reading */
00 13 /* analog reading */
58 /* checksum */