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.

Table 2.87 Basic Set Command

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.

Table 2.88 Basic Get Command

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.

Table 2.89 Basic Report Command

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.

Table 2.90 Basic Report::Value

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.