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
Features | Fctrl | CmdID | ClusterID | AttributeID | Status | Attribute type | Data | Comment |
---|---|---|---|---|---|---|---|---|
Read attribute request | 0x11 or 0x31 or ... | 0x00 | 0x80 0x07 | 0x00 0x00 | Ask the current Request frame used in the Serial Master/Slave exchange. | |||
Read attribute response | 0x11 or 0x31 or ... | 0x01 | 0x80 0x07 | 0x00 0x00 | 0x00 | 0x41 | 0xss 0xpp...pp | Current 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 response | 0x11 or 0x31 or ... | 0x05 | 0x80 0x07 | 0x00 0x00 | 0x41 | 0xss 0xpp...pp | Set the current Request frame used for the Serial Master/Slave exchange. Set 0xss to 0x00 to remove a stored Request. |
Answer
Standard report
Report
Features | Fctrl | CmdID | ClusterID | AttributeID | Attribute type | Data | Comment |
---|---|---|---|---|---|---|---|
Report attributes | 0x11 or 0x31 or ... | 0x0A | 0x80 0x07 | 0x00 0x01 | 0x41 | 0xss 0xpp...pp | 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) |
Configuration
Features | Fctrl | CmdID | ClusterID | Payload | Comment |
---|---|---|---|---|---|
Configure reporting | 0x11 or 0x31 or ... | 0x06 | 0x80 0x07 | 0x00 0x00 0x01 0x41 0xmmmm 0xMMMM 0x01 0xcc | 0x00 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 response | 0x11 or 0x31 or ... | 0x07 | 0x80 0x07 | 0xss 0x00 0x00 0x01 | 0xss:status |
Read reporting configuration | 0x11 or 0x31 or ... | 0x08 | 0x80 0x07 | 0x00 0x00 0x01 | 0x00 0x01: attributeID |
Read reporting configuration response | 0x11 or 0x31 or ... | 0x09 | 0x80 0x07 | 0xss 0x00 0x00 0x01 0x41 0xmmmm 0xMMMM 0x01 0xcc | 0xss: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
Features | Fctrl | CmdID | ClusterID | AttributeID | Status | Attribute type | Data | Comment |
---|---|---|---|---|---|---|---|---|
Read attribute request | 0x11 or 0x31 or ... | 0x00 | 0x80 0x07 | 0x00 0x01 | Ask the current Answer frame got in the last Serial Master/Slave exchange. | |||
Read attribute response | 0x11 or 0x31 or ... | 0x01 | 0x80 0x07 | 0x00 0x01 | 0x00 | 0x41 | 0xss 0xpp...pp | Current 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
Features | Fctrl | CmdID | ClusterID | AttributeID | Status | Attribute type | Data | Comment |
---|---|---|---|---|---|---|---|---|
Read attribute request | 0x11 or 0x31 or ... | 0x00 | 0x80 0x07 | 0x00 0x02 | Ask the Application Type of the cluster i.e. which kind of protocol is used on the Serial Interface | |||
Read attribute response | 0x11 or 0x31 or ... | 0x01 | 0x80 0x07 | 0x00 0x02 | 0x00 | 0x20 | 0xaa | 0xaa: Application Type of the Cluster 0xaa = 0x00 -> ModBus Application |
Cluster command
Features | Fctrl | CmdID | ClusterID | Data | Comment |
---|---|---|---|---|---|
Direct exchange | 0x11 | 0x50 | 0x80 0x07 | 0x00 0xss 0xpp...pp | Command allowing to ask a direct exchange on the Serial Interface between Master and Slave. The maximum size of 0xpp...pp is 35 bytes. 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, if the ModBus request to send is too short or if the ModBus slave does not answer, it returns an error code instead of the 0xss 0xpp..pp described here. errot code: 0x80 Busy 0x81 No answer 0x82 Too short request 0x89 Too long answer |