Serial Master/Slave protocol cluster

 

 

If a field of the payload starts with 0x, this means that it’s an hexadecimal representation, and if it starts with 0b, it is a binary representation.

Any multi-byte numerical value is serialized in “Big Endian” order.

Request


Read/Write

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x80 0x070x00 0x00Ask the current Request frame used in the Serial Master/Slave exchange.
Read attribute response0x11 or 0x31 or
...
0x010x80 0x070x00 0x000x00 0x410xss 0xpp...ppCurrent Request frame used in the Serial Master/Slave exchange
0xss: Frame size (nb of 0xpp bytes)
0xpp...pp : Request Frame
(For ModBus Application, the CRC is not in the Frame and is calculated by the sensor)
Write attribute no response0x11 or 0x31 or
...
0x050x80 0x070x00 0x000x410xss 0xpp...ppSet the current Request frame used for the Serial Master/Slave exchange.

Answer


Standard report

Report

FeaturesFctrl CmdIDClusterIDAttributeIDAttribute typeDataComment
Report attributes0x11 or 0x31 or
...
0x0A0x80 0x070x00 0x010x410xss 0xpp...pp0xss: Frame size (nb of 0xpp bytes)
0xpp..0xpp : Answer Frame
(For ModBus Application, the CRC has already been checked and is not in the Answer)

Configuration

FeaturesFctrl CmdIDClusterIDPayloadComment
Configure reporting0x11 or 0x31 or
...
0x060x80 0x070x00 0x00 0x01 0x41 0xmmmm 0xMMMM 0x01 0xcc0x00 0x01: attributeID
0x41: attribute type
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0x01 : size of reportable change
0xcc: reportable change => a report will be trigged if the answer change between 2 requests (0xcc=0x01) or a report will be trigged only on the maximum reporting interval (0xcc=0x00)
Configure reporting response0x11 or 0x31 or
...
0x070x80 0x070xss 0x00 0x00 0x010xss:status
Read reporting configuration0x11 or 0x31 or
...
0x080x80 0x070x00 0x00 0x010x00 0x01: attributeID
Read reporting configuration response0x11 or 0x31 or
...
0x090x80 0x070xss 0x00 0x00 0x01 0x41 0xmmmm 0xMMMM 0x01 0xcc0xss:status
0x00 0x01:attributeID
0x41: attribute type
0xmmmm: minimum reporting interval
0xMMMM: maximum reporting interval
0x01 : size of reportable change
0xcc: reportable change

Read/Write

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x80 0x070x00 0x01Ask the current Answer frame got in the last Serial Master/Slave exchange.
Read attribute response0x11 or 0x31 or
...
0x010x80 0x070x00 0x010x000x410xss 0xpp...ppCurrent Answer frame got in the last Serial Master/Slave exchange.
0xss : Frame size (nb of 0xpp bytes)
0xpp..0xpp : Answer Frame
(For ModBus Application, the CRC has already been checked and is not in the Answer)

Application Type


Read/Write

FeaturesFctrl CmdIDClusterIDAttributeIDStatusAttribute typeDataComment
Read attribute request0x11 or 0x31 or
...
0x000x80 0x070x00 0x02Ask the Application Type of the cluster i.e. which kind of protocol is used on the Serial Interface
Read attribute response0x11 or 0x31 or
...
0x010x80 0x070x00 0x020x00 0x200xaa0xaa: Application Type of the Cluster
0xaa = 0x00 -> ModBus Application

Cluster command


FeaturesFctrl CmdIDClusterIDDataComment
Direct exchange0x11 or 0x31 or
...
0x500x80 0x070x00 0xss 0xpp...ppCommand allowing to ask a direct exchange on the Serial Interface between Master and Slave.
The end-device will answer to this command the same frame as “Read attribute response” but containing the direct Answer of the exchange.
If the Serial Interface is busy when the direct Exchange is asked, it returns an error code “0x80” instead of the 0xss 0xpp..pp described here.

 

Print Friendly