2.2.32. Configuration Command Class, version 2

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.02.00.11.001}{0} \requirement{CC:0070.02.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.02.00.11.003}{0}

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

\requirement{CC:0070.02.00.12.001}{0}

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

\requirement{CC:0070.02.00.12.002}{0}

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

2.2.32.1. Compatibility considerations

Configuration Command Class, version 2 extends the addressing space to 65.535 product specific configuration parameters. Further, Configuration Command Class, version 2 makes it possible to set multiple configuration parameters with one Command.

\requirement{CC:0070.02.00.21.001}{0}

A device supporting Configuration Command Class, version 2 MUST support Configuration Command Class, version 1.

2.2.32.1.1. “Default” flag

Refer to Section 2.2.31.1.1.

2.2.32.2. Interoperability considerations

Configuration Command Class, version 2 is backwards compatible with Configuration Command Class, version 1.

\requirement{CC:0070.02.00.31.001}{8}

Configuration Command Class, version 2 does not extend any existing commands of Configuration Command Class, version 1. The 255 parameters that can be addressed by the Configuration Set Command MUST be identical to the first 255 parameters that can be addressed by the (version 2) Configuration Bulk Set Command.

2.2.32.3. Configuration Set Command

This Command is used to set the value of a configuration parameter.

Table 2.160 Configuration Set Command, version 2

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.02.04.13.001}{0} \requirement{CC:0070.02.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.02.04.11.001}{0} \requirement{CC:0070.02.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.02.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.02.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.02.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.

\requirement{CC:0070.02.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.02.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.02.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.32.4. Configuration Bulk Set Command

This command is used to set the value of one or more configuration parameters.

Table 2.161 Configuration Bulk Set Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_CONFIGURATION (0x70)

Command = CONFIGURATION_BULK_SET (0x07)

Parameter Offset 1 (MSB)

Parameter Offset 2 (LSB)

Number of Parameters

Default

Hand- shake

Reserved

Size

Parameter 1 - Configuration Value 1 (MSB)

Parameter 1 - Configuration Value N (LSB)

Parameter M - Configuration Value 1 (MSB)

Parameter M - Configuration Value N (LSB)

Parameter Offset (16 bits)

\requirement{CC:0070.02.07.11.001}{0}

This field is used to specify the first parameter in a range of one or more parameters. The first byte MUST carry the most significant byte of the 16 bit value.

Number of Parameters (8 bits)

This field is used to specify the number (M) of configuration parameters contained in this command.

\requirement{CC:0070.02.07.11.002}{0}

The value of this field MUST be in the range 1..255.

\requirement{CC:0070.02.07.11.010}{0}

The advertised parameters MUST be in a consecutive range. For example, Parameter Offset set to 4 and Number of Parameters set to 3 MUST represent parameters number 4, 5 and 6.

\requirement{CC:0070.02.07.11.011}{0}

A receiving node MUST ignore values for non-existing parameters

Default (1 bit)

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

\requirement{CC:0070.02.07.11.003}{0} \requirement{CC:0070.02.07.11.004}{8}

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

\requirement{CC:0070.02.07.11.005}{0}

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

Handshake (1 bit)

This field is used to indicate if a Configuration Bulk Report Command is to be returned when the specified configuration parameters have been stored in non-volatile memory.

\requirement{CC:0070.02.07.11.006}{0} \requirement{CC:0070.02.07.11.007}{4} \requirement{CC:0070.02.07.11.008}{8} \requirement{CC:0070.02.07.11.009}{12} \requirement{CC:0070.02.07.12.001}{20}

If the Handshake bit is set to 1, a Configuration Bulk Report Command MUST be returned. The command MUST echo all parameters found in this Configuration Bulk Set Command. A node returning a Configuration Bulk Report Command with the Handshake bit set MUST be ready to receive another Configuration Bulk Set Command. If the Handshake bit is set, an originating node MUST wait for the Configuration Bulk Report Command for at least one second. If not receiving a report, the originating node SHOULD assume that the operation failed and resend the same Configuration Bulk Set Command one more time.

\requirement{CC:0070.02.07.11.00A}{0}

If the Handshake bit is set to 0, a receiving node MUST NOT return a Configuration Bulk Report in response.

Reserved

\requirement{CC:0070.02.07.11.00B}{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.02.07.11.00C}{4}

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

\requirement{CC:0070.02.07.11.00D}{0}

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

Parameter - Configuration Value (M*N bytes)

\requirement{CC:0070.02.07.11.00E}{0}

These fields carry the values to be assigned. Each field MUST have the same size. The size of each field MUST comply with the size advertised by the Size field.

\requirement{CC:0070.02.07.11.00F}{0}

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

2.2.32.5. Configuration Bulk Get Command

This command is used to query the value of one or more configuration parameters.

\requirement{CC:0070.02.08.11.001}{0}

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

\requirement{CC:0070.02.08.11.002}{0}

This command MUST NOT be issued via multicast addressing.

\requirement{CC:0070.02.08.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.162 Configuration Bulk Get Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_CONFIGURATION (0x70)

Command = CONFIGURATION_BULK_GET (0x08)

Parameter Offset 1 (MSB)

Parameter Offset 2 (LSB)

Number of Parameters

Parameter Offset (16 bits)

\requirement{CC:0070.02.08.11.004}{4}

This field is used to specify the first parameter in a range of one or more parameters. The first byte MUST carry the most significant byte of the 16 bit value.

\requirement{CC:0070.02.08.12.001}{0}

Parameter Numbers SHOULD be assigned in a sequence starting from 1.

Number of Parameters (8 bits)

This field is used to specify the number of requested configuration parameters.

\requirement{CC:0070.02.08.11.005}{0}

The value of this field MUST be in the range 1..255.

\requirement{CC:0070.02.08.11.006}{0}

The advertised parameters MUST be in a consecutive range. For example, Parameter Offset set to 4 and Number of Parameters set to 3 MUST represent parameters number 4, 5 and 6.

2.2.32.6. Configuration Bulk Report Command

This command is used to advertise the actual value of one or more advertised parameters.

Table 2.163 Configuration Bulk Report Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_CONFIGURATION (0x70)

Command = CONFIGURATION_BULK_REPORT (0x09)

Parameter Offset 1 (MSB)

Parameter Offset 2 (LSB)

Number of Parameters

Reports to follow

Default

Hand- shake

Reserved

Size

Parameter 1 - Configuration Value 1 (MSB)

Parameter 1 - Configuration Value N (LSB)

Parameter M - Configuration Value 1 (MSB)

Parameter M - Configuration Value N (LSB)

Parameter Offset (16 bits)

\requirement{CC:0070.02.09.11.001}{0}

This field is used to advertise the first parameter in a range of one or more parameters. The first byte MUST carry the most significant byte of the 16 bit value.

Number of Parameters (8 bits)

This field is used to advertise the number (M) of configuration parameters contained in this command.

\requirement{CC:0070.02.09.11.002}{0}

The value of this field MUST be in the range 1..255.

\requirement{CC:0070.02.09.11.012}{0}

The advertised parameters MUST be in a consecutive range. For example, Parameter Offset set to 4 and Number of Parameters set to 3 MUST represent parameters number 4, 5 and 6, regardless of whether they exist at the sending node.

Reports to follow (8 bits)

\requirement{CC:0070.02.09.11.003}{0}

This field MUST be used to advertise the number of reports left before all requested configuration parameters values have been transferred.

\requirement{CC:0070.02.09.11.004}{0}

The value 0 MUST indicate that this is the last report.

\requirement{CC:0070.02.09.11.005}{0}

If the Handshake field is 1 , this field MUST be set to 0.

\requirement{CC:0070.02.09.11.006}{0}

The value of this field MUST be in the range 0..255.

Default (1 bit)

\requirement{CC:0070.02.09.11.007}{0}

This field MUST be used to advertise if all advertised configuration parameters have the factory default value.

\requirement{CC:0070.02.09.11.008}{0}

The value 1 MUST indicate that all advertised configuration parameters have the factory default value.

\requirement{CC:0070.02.09.11.009}{0}

The value 0 MUST indicate that one or more of the advertised configuration parameters do not have the factory default value.

Handshake (1 bit)

This field is used to indicate if this report is returned in response to a Configuration Bulk Set Command.

\requirement{CC:0070.02.09.11.00A}{0} \requirement{CC:0070.02.09.11.00B}{4} \requirement{CC:0070.02.09.11.00C}{8}

The value 1 MUST indicate that all configuration parameters have been stored in non-volatile memory and that the sending node is ready to receive another Configuration Bulk Set Command. Except for the Reports to Follow field, all other fields MUST echo the values received in the Configuration Bulk Set Command. The Reports to Follow field MUST be 0.

\requirement{CC:0070.02.09.11.00D}{0}

The value 0 MUST indicate that this report is returned in response to a Configuration Bulk Get Command.

Size (3 bits)

\requirement{CC:0070.02.09.11.00E}{4}

This field is used to advertise 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.

\requirement{CC:0070.02.09.11.00F}{0}

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

Parameter - Configuration Value (M*N bytes)

\requirement{CC:0070.02.09.11.010}{4}

These fields carry the values advertised by the Parameter Offset and Number of Parameters fields. Each field MUST have the same size. The size of each field MUST comply with the size advertised by the Size field.

\requirement{CC:0070.02.09.11.011}{0}

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

\requirement{CC:0070.02.09.12.001}{0}

A sending node SHOULD set this field to 0 for non-existing parameters.