2.2.14. Basic Command Class, version 1¶
The Basic Command Class allows a controlling device to operate the primary functionality of a supporting device without any further knowledge.
The Basic Command Class ensures a basic interoperability if no other command class is shared by two devices.
The Basic Command Class is an actuator control command class. Refer to Section 2.1.6.
2.2.14.1. Compatibility considerations¶
A specific device may not be able to support all Basic CC commands or parameter levels. For instance, a relay can only open fully in response to any non-zero value.
\requirement{CC:0020.01.00.22.001}{0}
Any device SHOULD support the Basic Command Class.
\requirement{CC:0020.01.00.21.001}{0}
A device MUST implement mappings from the Basic Command Class to specific commands according to the advertised generic and specific device class of the Node Info frame. Mappings defined by a Specific Device Class have precedence over the Generic Device Class.
\requirement{CC:0020.01.00.21.002}{0}
For Z-Wave Plus devices, the Basic Command Class MUST be mapped according to the actual Z-Wave Plus Device Type. For further information, refer to [35], Section 7.
The following sections only present frame formats. For details on the mapping to other command classes, refer to [35] and Section 7.
2.2.14.1.1. Node Information Frame (NIF)¶
\requirement{CC:0020.01.00.21.003}{0}
The Basic Command Class MUST NOT be advertised in the Node Information Frame.
\requirement{CC:0020.01.00.21.004}{0}
The Basic Command Class MUST NOT be advertised in the Security Commands Supported Report (S0 as well as S2)
\requirement{CC:0020.01.00.21.005}{0}
A securely included node MAY support the Basic Command Class at the highest security level but it MUST NOT support the Basic Command Class at any lower security level or non-securely.
2.2.14.2. Basic Set Command¶
This command is used to set a value in a supporting device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_BASIC (0x20) |
|||||||
Command = BASIC_SET (0x01) |
|||||||
Value |
|||||||
Value (8 bits)
\requirement{CC:0020.01.01.12.001}{0}
A supporting device SHOULD support all parameter values in the range {0x00..0x63, 0xFF}.
\requirement{CC:0020.01.01.11.001}{0}
A controlling device MUST NOT assume that a receiving device reacts to this command.
\requirement{CC:0020.01.01.11.002}{0}
A receiving device MUST interpret Basic Set parameter values according to the requirements of the Device Class implemented by the device. Refer to [35] and Section 7.
2.2.14.3. Basic Get Command¶
This command is used to request the status of a supporting device.
\requirement{CC:0020.01.02.11.001}{0}
The Basic Report Command MUST be returned in response to this command.
\requirement{CC:0020.01.02.11.002}{0}
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_BASIC (0x20) |
|||||||
Command = BASIC_GET (0x02) |
|||||||
2.2.14.4. Basic Report Command¶
This command is used to advertise the status of the primary functionality of the device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_BASIC (0x20) |
|||||||
Command = BASIC_REPORT (0x03) |
|||||||
Value |
|||||||
Value (8 bits)
\requirement{CC:0020.01.03.12.001}{0}
The Value field SHOULD advertise the current value of the device hardware; also while in transition to a new target value.
For details on the mapping of values, refer to [35] and Section 7.
\requirement{CC:0020.01.03.11.001}{0}
A controlling device MUST NOT assume that the Value is identical to a value previously specified in a Set command; not even when a transition has ended.
\requirement{CC:0020.01.03.11.002}{0}
A receiving device MUST interpret the Value field according to Table 2.90.
Value |
Level |
State |
|---|---|---|
0 (0x00) |
0% |
Off |
1..99 (0x01..0x63) |
1..100% |
On |
… |
Reserved |
Reserved |
254 (0xFE) |
Unknown |
Unknown |
255 (0xFF) |
100% |
On |
\requirement{CC:0020.01.03.11.003}{0}
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.