Z-Wave Protocol Controller Reference
zwave_command_class_association_helper.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2022 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
25#ifndef ZWAVE_COMMAND_CLASS_ASSOCIATION_HELPER_H
26#define ZWAVE_COMMAND_CLASS_ASSOCIATION_HELPER_H
27
28#include "attribute_store.h"
31
32#include <stdbool.h>
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
52 attribute_store_type_t type);
53
66 association_group_id_t group_id);
67
79
94 association_group_id_t group_id);
95
108 association_group_id_t group_id,
109 association_t association);
110
123 association_group_id_t group_id,
124 association_t association);
125
139 association_group_id_t group_id,
140 association_t new_association);
141
156 association_group_id_t group_id,
157 association_t association);
158
173 association_group_id_t group_id,
174 association_t association);
175
188 association_group_id_t group_id);
189
202 association_group_id_t group_id);
203
217 association_group_id_t group_id);
218
230 association_group_id_t group_id);
231
243 association_group_id_t group_id);
244
257 association_group_id_t group_id,
258 association_t association);
259
270
283 association_t association);
284
297 association_t association);
298
310 zwave_node_id_t node_id_to_remove,
313
314#ifdef __cplusplus
315}
316#endif
317
318#endif //ZWAVE_COMMAND_CLASS_ASSOCIATION_HELPER_H
uint32_t sl_status_t
Definition: sl_status.h:139
sl_status_t add_reported_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Adds a reported association in a group in the Attribute Store.
sl_status_t remove_desired_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Removes a desired association in a group in the Attribute Store.
bool is_desired_group_full(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Checks if the desired value of an association group is full.
sl_status_t remove_all_reported_node_id_associations(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Removes all reported NodeID associations in a group in the Attribute Store.
sl_status_t add_desired_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Adds a desired association in a group in the Attribute Store.
sl_status_t remove_all_desired_associations(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Removes all desired association in a group in the Attribute Store. It will set the attribute to an AS...
attribute_store_node_t get_group_content_node(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Finds the Attribute Store Node for the group content.
bool is_association_in_group(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Checks if an association is already part of a group.
sl_status_t remove_all_reported_associations(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Removes all reported association in a group in the Attribute Store. It will set the attribute to an A...
sl_status_t force_add_desired_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t new_association)
Adds a desired association in a group in the Attribute Store and remove an existing association if ne...
association_group_count_t get_number_of_groups(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
Returns how many groups are supported by an endpoint.
sl_status_t remove_reported_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Removes a reported association in a group in the Attribute Store.
void remove_desired_node_id_from_all_associations_in_network(zwave_node_id_t node_id)
Attempts to remove a NodeID for all associations groups in the current network.
bool is_reported_group_full(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Checks if the reported value of an association group is full.
association_group_capacity_t get_group_capacity(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Checks in the attribute store the maximum number of associations for a group.
void remove_desired_node_id_from_all_associations(zwave_node_id_t node_id_to_remove, zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
Attempts to remove a NodeID for all associations groups for a given NodeID/Ep.
attribute_store_node_t get_group_child_node(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, attribute_store_type_t type)
Get the Attribute store node of a certain type under an association Group ID.
void add_desired_association_in_all_groups(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_t association)
Attempts to add an Association for all associations groups for a given NodeID/Ep.
void remove_desired_association_in_all_groups(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_t association)
Attempts to remove an Association for all associations groups for a given NodeID/Ep.
uint32_t association_group_count_t
‍Association Group count Type
Definition: zwave_command_class_association_types.h:53
uint32_t association_group_capacity_t
‍Association Group Capacity Type
Definition: zwave_command_class_association_types.h:51
uint8_t association_group_id_t
‍Association Group ID Type
Definition: zwave_command_class_association_types.h:49
uint8_t zwave_endpoint_id_t
Z-Wave Endpoint ID type.
Definition: zwave_node_id_definitions.h:125
uint16_t zwave_node_id_t
Z-Wave NodeID type.
Definition: zwave_node_id_definitions.h:84
Association object.
Definition: zwave_command_class_association_types.h:39
const zwave_endpoint_id_t endpoint_id
const zwave_node_id_t node_id