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.
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.
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.