2.2.31. Configuration Command Class, version 1

The Configuration Command Class allows product specific configuration parameters to be changed. One example could be the default dimming rate of a light dimmer.

\requirement{CC:0070.01.00.11.001}{0} \requirement{CC:0070.01.00.11.002}{4}

Configuration parameters MUST be specified in the product documentation. Configuration parameters accessed via this command class MUST NOT replace similar commands provided by other existing Command Classes.

\requirement{CC:0070.01.00.12.001}{0}

A device MUST be able to operate with default factory configuration parameter values.

\requirement{CC:0070.01.00.11.003}{0}

It is RECOMMENDED that configuration parameters can be manipulated via a local user interface.

\requirement{CC:0070.01.00.12.002}{0}

It is RECOMMENDED that default factory configuration parameter values can be restored via a local user interface.

2.2.31.1. Compatibility considerations

2.2.31.1.1. “Default” flag

\requirement{CC:0070.01.00.23.001}{4}

Earlier text revisions of the Configuration Command Class, versions 1-3 presented conflicting interpretations of the default field. Controllers should be aware that nodes with version 3 or less MAY reset all configuration parameters to default when receiving a Configuration Set or Configuration Bulk Set Command with the Default bit set to 1.

\requirement{CC:0070.01.00.22.001}{0}

A controller SHOULD probe a node in order to discover what behavior it implements. The following steps are RECOMMENDED:

  • If the device is version 1- 2, scan the node for available configuration parameters. Else discover the available parameters thanks to the Configuration Properties Get Command.

  • Determine how the default bit works if the node implements 2 or more parameters

Step 1:

  • One at a time, issue a Configuration Set for a parameter number, and check whether the value can be read back. Try each parameter for 1, 2 and 4 bytes sizes.

  • Store the discovered parameter list for future use.

Step 2:

  • Choose 2 parameters and issue a Configuration Set with the default bit set to 1 for each parameter.

  • Read back both parameters value with a Configuration Get.

  • Try to modify both parameters to non-default values (it is recommended to try the default value ± 1)

  • Send a Configuration Set for one of parameters with the default bit set to 1.

  • Read back both parameters and check whether one or both returned to the default value

2.2.31.2. Configuration Set Command

The Configuration Set Command is used to set the value of a configuration parameter.

Table 2.156 Configuration Set Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_CONFIGURATION (0x70)

Command = CONFIGURATION_SET (0x04)

Parameter Number

Default

Reserved

Size

Configuration Value 1

Configuration Value N

Parameter Number (8 bits)

\requirement{CC:0070.01.04.13.001}{0} \requirement{CC:0070.01.04.12.001}{4}

This field is used to specify the actual configuration parameter. Parameter Numbers MAY be product specific. Parameter Numbers SHOULD be assigned in a sequence starting from 1.

Default (1 bit)

This field is used to specify if the default value is to be restored for the specified configuration parameter.

\requirement{CC:0070.01.04.11.001}{0} \requirement{CC:0070.01.04.11.002}{4}

The value 1 MUST indicate that default factory settings must be restored for the specified Parameter Number. In this case, the Configuration Value field MUST be ignored and the receiving node MUST reset the specified parameter and SHOULD NOT reset any other parameters.

\requirement{CC:0070.01.04.11.003}{0}

The value 0 MUST indicate that the specified Parameter Number must assume the value specified by the Configuration Value field.

Reserved

\requirement{CC:0070.01.04.11.004}{0}

This field MUST be set to 0 by a sending node and MUST be ignored by a receiving node.

Size (3 bits)

\requirement{CC:0070.01.04.11.005}{0}

This field is used to specify the size of the actual parameter. The advertised size of a given parameter MUST always be the same. The value of this field MUST comply with Table 2.157.

Table 2.157 Configuration Set::Size encoding

Size

Size of Value Field

1

8 bit

2

16 bit

4

32 bit

\requirement{CC:0070.01.04.11.006}{0}

All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.

Configuration Value (N bytes)

\requirement{CC:0070.01.04.11.007}{0}

This field carries the value to be assigned. The size of the field MUST comply with the size advertised by the Size field.

\requirement{CC:0070.01.04.11.008}{0}

The field MUST carry a signed value. The binary encoding of the signed value MUST comply with Table 2.12. The field Value 1 MUST be the most significant byte.

2.2.31.3. Configuration Get Command

This command is used to query the value of a configuration parameter.

\requirement{CC:0070.01.05.11.001}{0}

The Configuration Report Command MUST be returned in response to this command.

\requirement{CC:0070.01.05.11.002}{0}

This command MUST NOT be issued via multicast addressing.

\requirement{CC:0070.01.05.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.158 Configuration Get Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_CONFIGURATION (0x70)

Command = CONFIGURATION_GET (0x05)

Parameter Number

Parameter Number (8 bits)

\requirement{CC:0070.01.05.13.001}{0} \requirement{CC:0070.01.05.12.001}{4}

This field is used to specify the requested configuration parameter. Parameter Numbers MAY be product specific. Parameter Numbers SHOULD be assigned in a sequence starting from 1.

\requirement{CC:0070.01.05.12.002}{0}

A node receiving this command for an unsupported parameter SHOULD return a Report advertising the value of the first available parameter in the node.

2.2.31.4. Configuration Report Command

This command is used to advertise the actual value of the advertised parameter.

Table 2.159 Configuration Report`` Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_CONFIGURATION (0x70)

Command = CONFIGURATION_REPORT (0x06)

Parameter Number

Reserved

Size

Configuration Value 1

Configuration Value N

Refer to the Configuration Set Command for parameter details.