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.

Table 2.403 Multilevel Sensor Get Command

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.

Table 2.404 Multilevel Sensor Report Command

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.