2.2.81. Protection Command Class, version 2¶
The Protection Command Class version 2 is extended to specify whether a device may be controlled via RF Commands or not. When a video recorder is powered by an outlet that can be controlled by RF the user would like to prevent the video recorder from being turned off when it is recording her/his favorite show. In this case the Protection Command Class version 2 may be used to protect the outlet from being turned off by setting the outlet in “No RF Control” state.
The following Commands have been added or changed in version 2. The Commands not mentioned remain unchanged.
This Command Class is intended for convenience applications. The Command Class SHOULD NOT be used for safety critical applications.
2.2.81.1. Protection set command¶
This command is used to set the protection state in a device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_SET (0x01) |
|||||||
Reserved |
Local Protection State |
||||||
Reserved |
RF Protection State |
||||||
Local Protection State (4 bits)
The Local Protection State field used to set the protection state of the device.
Local Protection State |
Description |
|---|---|
0 |
Unprotected - The device is not protected, and may be operated normally via the user interface. |
1 |
Protection by sequence - The device is protected by altering the way the device normally is operated into a more complicated sequence of actions, e.g. if a device normally is controlled by a single press of a button on the device it might be changed to require 3 rapid presses on a button to control it. |
2 |
No operation possible - It is not possible at all to control a device directly via the user interface. |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
Note: Local Protection can only protect a device from “normal operation”. This means only the operation that is intended by the application of the device. It is NOT allowed to protect the device from network functionalities. The device cannot be protected from being put into learn mode nor from sending out the NIF.
RF Protection State (4 bits)
The RF Protection State field used to set the RF protection state of the device. In the case where a device set into a RF Protection State which instructs the device not to answer to a “normal operation” Command, the device MUST return the Application Rejected Request Command (Status = 0) of the Application Status Command Class. Refer to the Application Status Command Class.
RF Protection State |
Description |
|---|---|
0 |
Unprotected - The device MUST accept and respond to all RF Commands. |
1 |
No RF control - all runtime Commands are ignored by the device. The device MUST still respond with status on requests. |
2 |
No RF response at all. The device will not even reply to status requests. |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
Note: It is only possible to un-protect the device with the Protection Set Command. It is not allowed ignore Protection Commands. If a device is excluded from the network, the protection states MUST be reset.
2.2.81.2. Protection report command¶
This command is used to report the protection state of a device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_REPORT (0x03) |
|||||||
Reserved |
Local Protection State |
||||||
Reserved |
RF Protection State |
||||||
For field description, refer to Protection set command.
2.2.81.3. Protection supported get command¶
This command is used to query supported protection capabilities.
The Protection Supported 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_PROTECTION (0x75) |
|||||||
Command = PROTECTION_SUPPORTED_GET (0x04) |
|||||||
2.2.81.4. Protection supported report command¶
This command is used to advertise supported protection capabilities.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_SUPPORTED_REPORT (0x05) |
|||||||
Reserved |
Exclusive Control |
Timeout |
|||||
Local Protection State Byte 1 |
|||||||
Local Protection State Byte 2 |
|||||||
RF Protection State Byte 1 |
|||||||
RF Protection State Byte 2 |
|||||||
Local Protection State Byte (2 bytes)
The list of all Local Protection States may be found in section Section 2.2.81.1. The two bytes MUST be interpreted as bit masks where byte 1 bit 0 represent Local Protection State 0, byte 1 bit 1 represent Protection State 1, byte 2 bit 0 represent Protection State 8 etc.
RF Protection State Byte (2 bytes)
The list of all RF Protection States may be found in section Section 2.2.81.1. The two bytes MUST be interpreted as bit masks where byte 1 bit 0 represent RF Protection State 0, byte 1 bit 1 represent Protection State 1, byte 2 bit 0 represent Protection State 8 etc.
Exclusive Control (1 bit)
When this bit is set to 1 the device support Exclusive Control. When Exclusive Control is supported the device MUST support the Commands Protection Exclusive Control Set, Get and Report described below.
Timeout (1 bit)
When this bit is set to 1 the device supports a timeout for RF Protection State. When the timeout is supported the device MUST support the Commands Protection Timeout Set, Get and Report described below.
2.2.81.5. Protection exclusive control¶
The Protection Exclusive Control is an optional feature. The Commands in this chapter can only be implemented if the device supporting Protection Command Class version 2 announces support for Exclusive Control in the Protection Supported Report Command.
2.2.81.5.1. Protection exclusive control set command¶
This command is used to set the NodeID of a Z-Wave device that can override the protection state in a protected device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_EC_SET (0x06) |
|||||||
NodeID |
|||||||
NodeID
The NodeID that has exclusive control can override the RF protection state of the device and can control it regardless of the protection state. Commands from any other nodes in the network may be restricted by the RF protection state. In that case, the Application Rejected Request Command MUST be returned.
All of the Protection Command Class commands will be accepted and processed regardless of whether or not a node has exclusive control.
Factory default setting of the NodeID for exclusive control MUST be set to 0. To reset the exclusive control state in a device an Exclusive Control Set Command with NodeID 0 as parameter MUST be send to the device.
2.2.81.5.2. Protection exclusive control get command¶
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_EC_GET (0x07) |
|||||||
2.2.81.5.3. Protection exclusive control report command¶
This command is used to return the NodeID of a Z-Wave device that has exclusive control over this device in protection mode.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_EC_REPORT (0x08) |
|||||||
NodeID |
|||||||
NodeID
See description under the Protection Exclusive Control Set Command section Section 2.2.81.5.1.
2.2.81.6. Protection timeout¶
The Protection Timeout is an optional feature. The Commands in this section MAY be implemented if the device supporting Protection Command Class version 2 announces support for Timeout in the Protection Supported Report Command.
2.2.81.6.1. Protection timeout set command¶
This command is used to set the timeout for protection mode in a device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_TIMEOUT_SET (0x09) |
|||||||
Timeout |
|||||||
Timeout
The timeout describes the time that a device MUST remain in RF Protection mode.
Factory default setting for the Timeout parameter MUST be 0x00. This field MUST be encoded according to Table 2.476.
RF Protection State |
Description |
|---|---|
0x00 |
No timer is set. All “normal operation” Commands MUST be accepted. |
0x01-0x3C |
Timeout is set from 1 second (0x01) to 60 seconds (0x3C) in 1-second resolution. |
0x41-0xFE |
Timeout is set from 2 minutes (0x41) to 191 minutes (0xFE) in 1-minute resolution. |
0xFF |
No Timeout – The Device will remain in RF Protection mode infinitely. |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
2.2.81.6.2. Protection timeout get command¶
This command is used to request a Protection Timeout Report Command from the device.
The Protection Timeout 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_PROTECTION (0x75) |
|||||||
Command = PROTECTION_TIMEOUT_GET (0x0A) |
|||||||
2.2.81.6.3. Protection timeout report command¶
This command is used to return the remaining time that a device will remain in protection mode.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_PROTECTION (0x75) |
|||||||
Command = PROTECTION_TIMEOUT_REPORT (0x0B) |
|||||||
Timeout |
|||||||
Timeout
This field indicates the remaining timeout set in the Node. It MUST be encoded as described in Table 2.476