3.2.3. Association Command Class, version 1 [OBSOLETED]¶
Warning
THIS COMMAND CLASS HAS BEEN OBSOLETED
New implementations MUST NOT support this Command Class.
New implemenetations MUST use the Association Command Class, version 2, or newer instead.
The Association Command Class is used to manage associations to NodeID destinations. A NodeID destination may be a simple device or the Root Device of a Multi Channel device.
An association group sends an unsolicited command to the configured destinations when triggered by an event. The parameters of the command may be dynamic, e.g. the temperature of a sensor reading or the light level for a dimmer.
3.2.3.1. Compatibility Considerations¶
\requirement{CC:0085.01.00.22.001}{0}
The Association Group Information (AGI) Command Class SHOULD be supported to enable automated discovery of association group properties.
\requirement{CC:0085.01.00.22.002}{0}
It is RECOMMENDED that a node which implements the Association Command Class also implements the Multi Channel Association Command Class for compatibility with End Point destinations. For instance, a wall switch may be configured to control one specific outlet of a power strip if the wall switch supports Multi Channel Association.
3.2.3.2. Z-Wave Plus Considerations¶
\requirement{CC:0085.01.00.11.001}{4} \requirement{CC:0085.01.00.13.001}{12}
The Z-Wave Plus certification program mandates that association group 1 is reserved for the Lifeline association group. Association group 1 MUST NOT be assigned to any other use than the Lifeline group. The actual Device Type of a given product specifies mandatory commands which the device must be able to send to a lifeline group destination. A manufacturer MAY add additional commands to the Lifeline group.
The Z-Wave Plus certification program mandates support for the Association Group Information (AGI) Command Class if a device supports the Association Command Class.
The Z-Wave Plus certification program recommends that a composite device is designed as a Multi Channel device.
3.2.3.3. Security Considerations¶
\requirement{CC:0085.01.00.41.001}{0}
A node that has been S0/S2 bootstrapped MUST NOT accept Association commands unless the commands are received via the highest security key granted to the node during bootstrapping.
\requirement{CC:0085.01.00.41.002}{0}
A supporting node issuing commands via association groups MUST send those commands with its highest granted Security Class.
\requirement{CC:0085.01.00.42.001}{0}
A supporting node issuing Set or Report type commands via association groups SHOULD use Supervision encapsulation only if sending commands with S2 (or higher security) encapsulation.
3.2.3.4. Association Set Command¶
This command is used to add destinations to a given association group.
\requirement{CC:0085.01.01.12.001}{0} \requirement{CC:0085.01.01.13.001}{4}
The receiving node SHOULD add the specified NodeID destinations to the specified association group. This command MAY be ignored if the association group is already full.
\requirement{CC:0085.01.01.11.001}{0}
Routing end nodes MUST have return routes assigned to all association destinations.
\requirement{CC:0085.01.01.51.001}{0} \requirement{CC:0085.01.01.51.002}{8}
Unless the association destination is a gateway, a controlling node MUST NOT create an association if the association destination node does not support the controlling commands (Set/Get types) that the actual association group will be sending. The AGI Command Class MUST be used to probe the commands that a given association group will be sending.
\requirement{CC:0085.01.01.52.001}{0}
A controlling node SHOULD NOT create an association if the source and destination nodes are bootstrapped with different security levels.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ASSOCIATION (0x85) |
|||||||
Command = ASSOCIATION_SET (0x01) |
|||||||
Grouping Identifier |
|||||||
NodeID 1 |
|||||||
… |
|||||||
NodeID N |
|||||||
Grouping Identifier (8 bits)
\requirement{CC:0085.01.01.11.002}{0}
This field is used to specify the actual association group. Grouping Identifiers MUST be assigned in a consecutive range starting from 1.
\requirement{CC:0085.01.01.11.003}{0}
A receiving node MUST ignore an unsupported Grouping Identifier.
NodeID (N bytes)
This field specifies a list of NodeIDs that are to be added to the specified association group.
3.2.3.5. Association Get Command¶
This command is used to request the current destinations of a given association group.
\requirement{CC:0085.01.02.11.001}{0}
The Association Report Command MUST be returned in response to this command.
\requirement{CC:0085.01.02.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:0085.01.02.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.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ASSOCIATION (0x85) |
|||||||
Command = ASSOCIATION_GET (0x02) |
|||||||
Grouping Identifier |
|||||||
Grouping Identifier (8 bits)
\requirement{CC:0085.01.02.11.004}{0}
This field is used to specify the actual association group. Grouping Identifiers MUST be assigned in a consecutive range starting from 1.
\requirement{CC:0085.01.02.12.001}{0}
A node that receives an unsupported Grouping Identifier SHOULD return information relating to Grouping Identifier 1.
3.2.3.6. Association Report Command¶
This command is used to advertise the current destinations of a given association group.
If the node supports the Multi Channel Association Command Class,
\requirement{CC:0085.01.03.11.001}{0}
the node MUST advertise the same Node ID destinations in this report as in the Multi Channel
Association Report Command
\requirement{CC:0085.01.03.11.002}{0}
the node MUST NOT advertise the NodeID of End Point destinations in this report.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ASSOCIATION (0x85) |
|||||||
Command = ASSOCIATION_REPORT (0x03) |
|||||||
Grouping Identifier |
|||||||
Max Nodes Supported |
|||||||
Reports to Follow |
|||||||
NodeID 1 |
|||||||
… |
|||||||
NodeID N |
|||||||
Grouping Identifier (8 bits)
\requirement{CC:0085.01.03.11.003}{0}
This field is used to advertise the actual association group. Grouping Identifiers MUST be assigned in a consecutive range starting from 1.
Max Nodes Supported (8 bits)
\requirement{CC:0085.01.03.13.001}{0}
The maximum number of destinations supported by the advertised association group. Each destination MAY be a NodeID destination or an End Point destination (if the node supports the Multi Channel Association Command Class).
Reports to Follow (8 bits)
\requirement{CC:0085.01.03.11.004}{4}
The entire list destinations of the advertised association group may be too long for one command. This field MUST advertise how many report frames will follow this report.
NodeID (N bytes)
\requirement{CC:0085.01.03.11.005}{4}
This field advertises a list of NodeID destinations of the advertised association group. The list of NodeIDs MUST be empty if there are no NodeID destinations configured for the advertised association group.
3.2.3.7. Association Remove Command¶
This command is used to remove destinations from a given association group.
\requirement{CC:0085.01.04.11.001}{0}
If the node supports the Multi Channel Association Command Class the node MUST NOT remove End Point destinations in response to this command.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ASSOCIATION (0x85) |
|||||||
Command = ASSOCIATION_REMOVE (0x04) |
|||||||
Grouping Identifier |
|||||||
NodeID 1 |
|||||||
… |
|||||||
NodeID N |
|||||||
Grouping Identifier (8 bits)
This field is used to specify from which association group the specified NodeID destinations should be removed.
\requirement{CC:0085.01.04.11.002}{0}
Grouping Identifiers MUST be assigned in a consecutive range starting from 1.
\requirement{CC:0085.01.04.11.003}{0}
This field MUST be interpreted in combination with the NodeID field.
\requirement{CC:0085.01.04.11.004}{0}
A node that receives an unsupported Grouping Identifier MUST ignore this command.
NodeID (N bytes)
This field specifies a list of NodeID destinations that are to be removed from the specified association group.
\requirement{CC:0085.01.04.11.005}{0}
The Grouping Identifier and NodeID fields MUST be interpreted as indicated in Table 3.11.
Grouping Identifier |
Number of NodeIDs |
Interpretation |
|---|---|---|
> 0 |
> 0 |
Remove specified NodeIDs from the specified association group (MANDATORY V1) |
> 0 |
= 0 |
Remove all NodeIDs from the specified association group (RECOMMENDED V1) |
= 0 |
>= 0 |
(Reserved V1) |
\requirement{CC:0085.01.04.11.006}{0}
A sending node MUST NOT send reserved parameter combinations and a receiving node MUST ignore reserved parameter combinations.
3.2.3.8. Association Supported Groupings Get Command¶
This command is used to request the number of association groups that this node supports.
\requirement{CC:0085.01.05.11.001}{0}
The Association Supported Groupings Report Command MUST be returned in response to this command.
\requirement{CC:0085.01.05.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:0085.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.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ASSOCIATION (0x85) |
|||||||
Command = ASSOCIATION_GROUPINGS_GET (0x05) |
|||||||
3.2.3.9. Association Supported Groupings Report Command¶
This command is used to advertise the maximum number of association groups implemented by this node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ASSOCIATION (0x85) |
|||||||
Command = ASSOCIATION_GROUPINGS_REPORT (0x06) |
|||||||
Supported Groupings |
|||||||
Supported Groupings (8 bits)
This field is used to advertise the number of association groups that this node supports.
\requirement{CC:0085.01.06.11.001}{0}
Grouping Identifiers MUST be assigned in a consecutive range starting from 1.