2.2.69. Multilevel Sensor Command Class, version 1-4¶
The Multilevel Sensor Command Class is used to advertise numerical sensor readings..
2.2.69.1. Multilevel Sensor Get Command¶
This command is used to request the current reading from a multilevel sensor.
\requirement{CC:0031.01.04.11.001}{0}
The Multilevel Sensor Report Command MUST be returned in response to this command.
\requirement{CC:0031.01.04.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:0031.01.04.11.003}{0}
A receiving node MUST NOT return a response if this command is received via multicast addressing. The Z-Wave Multicast frame, the broadcast NodeID and the Multi Channel multi-End Point destination are all considered multicast addressing methods.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SENSOR_MULTILEVEL (0x31) |
|||||||
Command = SENSOR_MULTILEVEL_GET (0x04) |
|||||||
2.2.69.2. Multilevel Sensor Report Command¶
This command is used by a supporting node to advertise its current sensor reading for its supported sensor type.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SENSOR_MULTILEVEL (0x31) |
|||||||
Command = SENSOR_MULTILEVEL_REPORT (0x05) |
|||||||
Sensor Type |
|||||||
Precision |
Scale |
Size |
|||||
Sensor Value 1 |
|||||||
… |
|||||||
Sensor Value N |
|||||||
Sensor Type (8 bits)
This field is used to specify the sensor type of the actual sensor reading.
\requirement{CC:0031.01.05.11.001}{0}
This field MUST be set to a value defined in [28]. Values not defined in [28] are reserved and MUST NOT be used.
\requirement{CC:0031.01.05.11.002}{0}
A node MUST support as a minimum the highest Multilevel Sensor Command Class version associated with the Scale and Type it supports. The minimum required version for each Scale and Type is specified in [28].
Precision (3 bits)
\requirement{CC:0031.01.05.11.003}{4}
This field is used to indicate how many decimal places are included the Sensor Value field. For example, the Sensor Value 1025 with precision 2 MUST be interpreted as equal to 10.25.
Scale (2 bits)
This field is used to indicate what scale is used for the actual sensor reading.
\requirement{CC:0031.01.05.11.004}{0}
This field MUST be set to a value defined in [28]. Values not defined in [28] are reserved and MUST NOT be used.
\requirement{CC:0031.01.05.11.005}{0}
A node MUST implement as a minimum the highest Multilevel Sensor Command Class version associated with the Scale and Type it supports. The minimum required version for each Scale and Type is specified in [28].
Size (3 bits)
This field is used to indicate the length in bytes of the Sensor Value field.
\requirement{CC:0031.01.05.11.006}{0}
This field MUST be set to 1, 2 or 4.
Sensor Value (N bytes)
This field is used to advertise the value of the actual sensor reading.
\requirement{CC:0031.01.05.11.007}{0}
The length of this field in bytes MUST be according to the Size field value.
\requirement{CC:0031.01.05.11.008}{0}
The first byte MUST be the most significant byte.
\requirement{CC:0031.01.05.11.009}{0}
This field MUST be encoded using signed representation and comply with Table 2.12, Signed field encoding (two’s complement representation).
\requirement{CC:0031.01.05.11.00A}{0}
A controlling node receiving this command MUST always show the sensor value as is even though the Sensor Type and/or Scale are unknown.
\requirement{CC:0031.01.05.12.001}{0} \requirement{CC:0031.01.05.12.002}{8}
A controlling node SHOULD implement the capability to update its list of Sensor Type and Scales, so that new Sensor Types and Scales added in [28] are not presented as unknown. If a controlling node receives an unknown Sensor Type or Scale, it SHOULD allow the user to assign a free-text description to the sensor reading.