2.2.71. Multilevel Switch Command Class, version 1¶
The Multilevel Switch Command Class is used to control devices with multilevel capability.
The Multilevel Switch Command Class is an actuator control command class. Refer to Section 2.1.6.
2.2.71.1. Multilevel Switch Set Command¶
This command is used to set a multilevel value in a supporting device.
The device MAY apply a non-zero duration to the transition from one value to a new value.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SWITCH_MULTILEVEL (0x26) |
|||||||
Command = SWITCH_MULTILEVEL_SET (0x01) |
|||||||
Value |
|||||||
Value (8 bits)
The encoding of the Value field MUST be according to Table 2.415
Value |
Level |
State |
|---|---|---|
0 (0x00) |
0% |
Off |
1..99 (0x01..0x63) |
Lowest non-zero level .. 100% |
On |
… |
Reserved |
Reserved |
255 (0xFF) |
Restore most recent (non-zero) level. |
On |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
The above mapping of the Multilevel Switch Command Class Value to hardware levels allows a controlling device to control a mixed group of Binary Switch and Multilevel Switch devices via Basic Set commands. Devices implementing the Binary Switch CC turn On or Off while devices implementing the Multilevel Switch CC sets the specified level.
The values 0x00 and 0xFF are special values which MUST be treated as state control commands indicating “Off” and “On”, respectively. A supporting device MUST restore the most recent (non-zero) value in response to the “On” state control command.
A device MAY implement up to 100 hardware levels (including 0). If a device implements less than 100 hardware levels, the hardware levels SHOULD be distributed uniformly over the entire range.
The mapping of command values to hardware levels MUST be monotonous, i.e. a higher value MUST be mapped to either the same or a higher hardware level. Refer to Section 2.1.6.2.
2.2.71.2. Multilevel Switch Get Command¶
This command is used to request the status of a multilevel device.
The Multilevel Switch Report command MUST be returned in response to this command.
This command MUST NOT be issued via multicast addressing.
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_SWITCH_MULTILEVEL (0x26) |
|||||||
Command = SWITCH_MULTILEVEL_GET (0x02) |
|||||||
2.2.71.3. Multilevel Switch Report Command¶
This command is used to advertise the status of a multilevel device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SWITCH_MULTILEVEL (0x26) |
|||||||
Command = SWITCH_MULTILEVEL_REPORT (0x03) |
|||||||
Value |
|||||||
Value (8 bits)
The encoding of the Value field MUST be according to Table 2.418.
Value |
Hardware Level |
State |
|---|---|---|
0 (0x00) |
0% |
Off |
1..99 (0x01..0x63) |
Lowest non-zero level .. 100% |
On |
… |
Reserved |
On |
254 (0xFE) |
Unknown |
Unknown |
255 (0xFF) |
(100%) |
On [Deprecated] |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
The value 255 (0xFF) has been deprecated as it provides no information on the actual value in the device. A sending node MUST NOT use the value 255. A receiving node MUST interpret the value 255 as 100%.
The Value field SHOULD advertise the current value of the device hardware; also while in transition to a new target value.
A controlling device MUST NOT assume that the Value is identical to a value previously issued with a Set command when a transition has ended.
2.2.71.4. Multilevel Switch Start Level Change Command¶
This command is used to initiate a transition to a new level.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SWITCH_MULTILEVEL (0x26) |
|||||||
Command = SWITCH_MULTILEVEL_START_LEVEL_CHANGE (0x04) |
|||||||
Reserved |
Up/ Down |
Ignore Start Level |
Reserved |
||||
Start Level |
|||||||
Up/Down (1 bit)
This field MUST specify the direction of the level change.
If the Up/Down bit is set to 0 the level change MUST be increasing.
If the Up/Down bit is set to 1 the level change MUST be decreasing.
Ignore Start Level (1 bit)
A receiving device SHOULD respect the start level if the Ignore Start Level bit is 0.
A receiving device MUST ignore the start level if the Ignore Start Level bit is 1.
A controlling device SHOULD set the Ignore Start Level bit to 1.
Reserved
This field MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Start Level (8 bits)
The Start Level field MUST specify the initial level of the level change.
2.2.71.5. Multilevel Switch Stop Level Change Command¶
This command is used to stop an ongoing transition.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SWITCH_MULTILEVEL (0x26) |
|||||||
Command = SWITCH_MULTILEVEL_STOP_LEVEL_CHANGE (0x05) |
|||||||