4.2.3. Multi Channel Command Class, version 4

The Multi Channel Command Class is used to address one or more End Points in a Multi Channel device.

Refer to Section 4.1.3 for an introduction to the Multi Channel concept.

4.2.3.1. Compatibility Considerations

\requirement{CC:0060.04.00.21.001}{0}

Compatibility considerations requirements from version 3 MUST also be observed by a version 4 supporting node. Refer to Section 4.2.2.1 Compatibility considerations.

\requirement{CC:0060.04.00.21.002}{0}

Multi Channel Command Class, version 4 is backwards compatible with Multi Channel Command Class, version 3. Fields and commands not described in this version MUST remain unchanged from version 3.

AGGREGATED END POINTS HAVE BEEN DEPRECATED

Aggregated End Points have been deprecated. It is RECOMMENDED to issue multiple report back-to-back if data from several End Points at a precise time needs to be reported.

Additionally, it is RECOMMENDED to aggregate all sensors functionalities at the Root device. i.e. accumulated readings for all End Points SHOULD be advertised via the Root Device.

The Multi Channel Command Class, version 4 introduces Aggregated End Points. Aggregated End Points are assigned End Point identifiers following immediately after the identifiers allocated to individual End Points. Thus:

  • Aggregated End Points are invisible to devices supporting Multi Channel Command Class, version 3 or older.

  • Individual End Points are identical in version 3 and version 4.

  • A version 3 controlling node can discover and control individual End Points.

  • A version 4 controlling node can discover and control individual End Points and Aggregated End Points.

4.2.3.2. Interoperability Considerations

\requirement{CC:0060.04.00.31.001}{0}

Interoperability considerations from version 3 MUST also apply in this version.

Refer to Section 4.2.2.2 Interoperability considerations

4.2.3.2.1. Aggregated End Point design principles

\requirement{CC:0060.04.00.31.002}{0}

An Aggregated End Point MUST implement a function which relates to multiple individual End Points.

\requirement{CC:0060.04.00.31.003}{0}

An Aggregated End Point MUST NOT forward commands to individual End Points. In other words, communication to a number of individual End Points MUST be done via multiple singlecast commands or via bit mask addressing.

\requirement{CC:0060.04.00.31.004}{0}

A command issued to an Aggregated End Point MUST NOT cause any individual End Point to return a command in response.

\requirement{CC:0060.04.00.31.005}{0}

Aggregated End Point MUST be assigned End Point identifiers from a continuous range starting immediately after the last individual End Point.

\requirement{CC:0060.04.00.31.006}{0}

An Aggregated End Point MUST NOT support other Command Classes and types than the ones explicitly listed in Table 4.2.

Table 4.2 Aggregated End Point Command Class support

Command Class

Type

Measurement Mode

Meter

Electricity

Instant, Accumulated

Meter

Gas

Instant, Accumulated

Meter

Water

Instant, Accumulated

Multilevel Sensor

Power

Instant

Multilevel Sensor

Current

Instant

Multilevel Sensor

Air flow

Instant

Multilevel Sensor

Tank Capacity

Instant

4.2.3.2.2. Dynamic End Point considerations

In the case a node implements both Dynamic and Aggregated End Points, the Aggregated End Points identifiers will vary accordingly to the last active dynamic End Point. An illustration is given in Figure 4.2.

Static, dynamic and aggregated End Point layout example

Figure 4.2 Static, dynamic and aggregated End Point layout example

4.2.3.3. Multi Channel End Point Report Command

This command is used to advertise the number of Multi Channel End Points and other relevant Multi Channel attributes.

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_MULTI_CHANNEL (0x60)

Command = MULTI_CHANNEL_END_POINT_REPORT (0x08)

Dynamic

Identical

Res

Res

Individual End Points

Res

Aggregated End Points

\requirement{CC:0060.04.08.11.001}{0}

Fields not described below MUST remain unchanged from version 3. Refer to Section 4.2.2.4 Multi Channel End Point Report Command.

Res

\requirement{CC:0060.04.08.11.002}{0}

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

Individual End Points (7 bits)

This field is used to advertise the number of individual End Points implemented by the sending node.

\requirement{CC:0060.04.08.11.003}{0}

This field MUST be in the range 1..127.

Aggregated End Points (7 bits)

\requirement{CC:0060.04.08.11.004}{0} \requirement{CC:0060.04.08.13.001}{4}

If the sending node implements dynamic End Points, this field MUST advertise the number of End Points currently instantiated by the node. A dynamic End Point MAY be assigned any End Point identifier in the range 2..127.

\requirement{CC:0060.04.08.11.005}{0}

The sum of the values advertised by this field and the Aggregated End Points field MUST be in the range 1..127.

4.2.3.4. Multi Channel Capability Get/Report Commands

These commands are unchanged in version 4.

Aggregated End Points SHOULD reply to this command and to the S2/S0 Supported Get Commands.

Aggregated End Points SHOULD set the Generic and Specific Device Class field to an identical value to one of the Individual End Point it aggregates.

The list of supported Application Command Classes at the highest security level MUST only comprise these Command Classes:

  • Meter Command Class

  • Multilevel Sensor Command Class.

4.2.3.5. Multi Channel Capability Find Report Commands

This command is unchanged in version 4.

Aggregated End Points MUST NOT be advertised in the list of End Points returned for any Generic/Specific Device Type.

4.2.3.6. Multi Channel Aggregated Members Get Command

This command is used to query the members of an Aggregated End Point.

\requirement{CC:0060.04.0E.11.001}{0}

The Multi Channel Aggregated Members Report MUST be returned in response to this command.

\requirement{CC:0060.04.0E.51.001}{0}

This command MUST NOT be issued via multicast addressing.

\requirement{CC:0060.04.0E.11.002}{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.

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_MULTI_CHANNEL (0x60)

Command = MULTI_CHANNEL_AGGREGATED_MEMBERS_GET (0x0E)

Res

Aggregated End Point

Res

\requirement{CC:0060.04.0E.11.003}{0}

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

Aggregated End Point (7 bits)

\requirement{CC:0060.04.0E.11.004}{0}

This field MUST specify the Aggregated End Point identifier for which the aggregated members MUST be returned.

\requirement{CC:0060.04.0E.11.005}{0}

The value MUST be in the range of advertised Aggregated End Points. If the value does not indicate valid aggregated End Point identifier, a receiving node MUST return a response with the Number of Bit Masks field set to zero.

4.2.3.7. Multi Channel Aggregated Members Report Command

This command is used to advertise the members of an Aggregated End Point.

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_MULTI_CHANNEL (0x60)

Command = MULTI_CHANNEL_AGGREGATED_MEMBERS_REPORT (0x0F)

Res

Aggregated End Point

Number of Bit Masks

Aggregated Members Bit Mask 1

Aggregated Members Bit Mask N

Res

\requirement{CC:0060.04.0F.11.001}{0}

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

Aggregated End Point (7 bits)

This field is used to advertise the Aggregated End Point identifier for which the members are advertised in this command.

Number of Bit Masks (8 bits)

This field is used to advertise the length in bytes of the Aggregated Member Bit Mask field.

\requirement{CC:0060.04.0F.11.002}{0}

The value 0 MUST indicate that the Aggregated Members Bit Mask field is MUST be omitted.

Values in the range 1..255 MUST indicate the length of the Aggregated Members Bit Mask field in bytes.

Aggregated Members Bit Mask (N bytes)

This field is used to advertise the End Point members of the actual Aggregated End Point.

\requirement{CC:0060.04.0F.11.003}{0}

The length of this field in bytes MUST be according to the Number of Bit Masks field value.

This field MUST be treated as a bit mask and MUST use the following encoding for advertising members:

  • Bit 0 in Bit Mask 1 indicates if End Point 1 is a member

  • Bit 1 in Bit Mask 1 indicates if End Point 2 is a member

\requirement{CC:0060.04.0F.11.004}{0}

The bit value 0 MUST be used to advertise that the corresponding End Point is not a member.

The bit value 1 MUST be used to advertise that the corresponding End Point is a member.

\requirement{CC:0060.04.0F.11.005}{0}

The first byte of this field MUST represent End Points 1..8.