Z-Wave Protocol Controller Reference
Association Command Class

Association Command Class handlers and control functions. More...

Collaboration diagram for Association Command Class:

Modules

 Association Group transport
 Utility that deliver frames to Association Group destinations.
 
 Internal helpers for
 Helper functions for Associations and Multi Channel Associations.
 

Functions

sl_status_t zwave_command_class_association_init (void)
 Setup fixture for Association Command Class. More...
 
sl_status_t zwave_command_class_association_groupings_get (attribute_store_node_t node, uint8_t *frame, uint16_t *frame_length)
 Resolves the ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_SUPPORTED_GROUPINGS for a given node. More...
 
sl_status_t zwave_command_class_association_set (attribute_store_node_t node, uint8_t *frame, uint16_t *frame_length)
 Sets the ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_GROUP_CONTENT for a given node. More...
 
sl_status_t zwave_command_class_association_get (attribute_store_node_t node, uint8_t *frame, uint16_t *frame_length)
 Gets the ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_GROUP_CONTENT for a given node. More...
 

Detailed Description

Association Command Class handlers and control functions.

This module takes care of Association Command Class support and control

It uses a subscription to ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_VERSION in the attribute_store to find out about nodes that support the Association Command Class.

When a new version attribute is added, the component create ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_SUPPORTED_GROUPINGS and register rules to the attribute resolver to initiate a node interview by sending an Association Supported Get Command() to the corresponding nodeID/endpoint. The attribute store gets populated as it will receive replies from the node supporting Association.

Multi Channel Association Command Class, Association Group Information (AGI) Command Class and Association Command Class share the same attribute subtree.

Association data model

Function Documentation

◆ zwave_command_class_association_get()

sl_status_t zwave_command_class_association_get ( attribute_store_node_t  node,
uint8_t *  frame,
uint16_t *  frame_length 
)

Gets the ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_GROUP_CONTENT for a given node.

Parameters
nodeThe Attribute Store node to resolve (get)
[out]framePointer to copy the frame data that will allow resolution
[out]frame_lengthPointer to write how many bytes were copied at the frame pointer
Returns
status codes according to attribute_resolver_function_t

◆ zwave_command_class_association_groupings_get()

sl_status_t zwave_command_class_association_groupings_get ( attribute_store_node_t  node,
uint8_t *  frame,
uint16_t *  frame_length 
)

Resolves the ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_SUPPORTED_GROUPINGS for a given node.

Parameters
nodeThe Attribute Store node to resolve (get)
[out]framePointer to copy the frame data that will allow resolution
[out]frame_lengthPointer to write how many bytes were copied at the frame pointer
Returns
status codes according to attribute_resolver_function_t

◆ zwave_command_class_association_init()

sl_status_t zwave_command_class_association_init ( void  )

Setup fixture for Association Command Class.

This setup function will register callbacks to the Attribute Store, so that it can be notified when to issue commands to the Z-Wave nodes.

Returns
SL_STATUS_OK if successful
SL_STATUS_FAIL if an error occurred
Here is the caller graph for this function:

◆ zwave_command_class_association_set()

sl_status_t zwave_command_class_association_set ( attribute_store_node_t  node,
uint8_t *  frame,
uint16_t *  frame_length 
)

Sets the ATTRIBUTE_COMMAND_CLASS_ASSOCIATION_GROUP_CONTENT for a given node.

Parameters
nodeThe Attribute Store node to resolve (set)
[out]framePointer to copy the frame data that will allow resolution
[out]frame_lengthPointer to write how many bytes were copied at the frame pointer
Returns
status codes according to attribute_resolver_function_t