26#ifndef ZIGPC_GROUP_MGMT_H
27#define ZIGPC_GROUP_MGMT_H
125 const char *group_name,
193 size_t member_list_count);
uint32_t sl_status_t
Definition: sl_status.h:139
uint8_t zigbee_eui64_t[ZIGBEE_EUI64_SIZE]
Zigbee Device EUI64 ID.
Definition: zigpc_common_zigbee.h:193
uint16_t zcl_cluster_id_t
A representation of the endpoint cluster id used in ZCL.
Definition: zigpc_common_zigbee.h:254
uint16_t zigbee_group_id_t
Zigbee Group Id The internal representation of a group_id.
Definition: zigpc_common_zigbee.h:230
uint8_t zigbee_endpoint_id_t
A representation of the endpoint id used on the Zigbee protocol.
Definition: zigpc_common_zigbee.h:248
uint8_t zcl_command_id_t
Definition: zigpc_common_zigbee.h:265
sl_status_t zigpc_group_remove(const zigbee_group_id_t group_id, const zigbee_eui64_t eui64, const zigbee_endpoint_id_t endpoint_id, bool is_reported)
zigpc_group_remove Remove an eui64/endpoint from a given group
Definition: zigpc_group_mgmt.c:179
static zcl_cluster_id_t zigpc_group_get_cluster_id(void)
zigpc_group_get_cluster_id Retrieve the cluster ID for groups. Useful for handling group clusters
Definition: zigpc_group_mgmt.h:52
sl_status_t zigpc_group_remove_all(const zigbee_eui64_t eui64, const zigbee_endpoint_id_t endpoint_id)
zigpc_group_remove_all Remove the eui64/endpoint from all associated groups
Definition: zigpc_group_mgmt.c:204
static zcl_command_id_t zigpc_group_remove_get_id(void)
zigpc_group_get_remove_id Retrieve the command ID for the remove group command.
Definition: zigpc_group_mgmt.h:74
sl_status_t zigpc_groupmgmt_get_member_list(zigbee_group_id_t group_id, zigpc_group_member_t *const member_list, size_t member_list_count)
Retrieve the list of group members corresponding to a Group ID.
Definition: zigpc_group_mgmt.c:229
sl_status_t zigpc_group_add_reported(const zigbee_group_id_t group_id, const zigbee_eui64_t eui64, const zigbee_endpoint_id_t endpoint_id)
zigpc_group_add_reported Add a new "reported" or actual group to a given node and endpoint
Definition: zigpc_group_mgmt.c:130
sl_status_t zigpc_group_init()
zigpc_groups_init Initialize the groups component. Sets up all the parts required for groups operatio...
Definition: zigpc_group_mgmt.c:66
sl_status_t zigpc_group_add_desired(const zigbee_group_id_t group_id, const zigbee_eui64_t eui64, const zigbee_endpoint_id_t endpoint_id)
zigpc_group_add_desired Add a new "desired" or expected group to a given node and endpoint
Definition: zigpc_group_mgmt.c:84
size_t zigpc_groupmgmt_get_member_count(zigbee_group_id_t group_id)
Retrieve the count of EUI64/endpoint combinations as part of a Group ID.
Definition: zigpc_group_mgmt.c:223
sl_status_t zigpc_group_add_desired_with_name(const zigbee_group_id_t group_id, const char *group_name, const zigbee_eui64_t eui64, const zigbee_endpoint_id_t endpoint_id)
zigpc_group_add_desired_with_name Add a new group with a specified name
Definition: zigpc_group_mgmt.c:105
static zcl_command_id_t zigpc_group_removeall_get_id(void)
zigpc_group_get_removeall_id Retrieve the command ID for the removeall groups command.
Definition: zigpc_group_mgmt.h:85
static zcl_command_id_t zigpc_group_add_get_id(void)
zigpc_group_get_add_id Retrieve the command ID for the add_group command
Definition: zigpc_group_mgmt.h:63
@ ZIGPC_ZCL_CLUSTER_GROUPS_COMMAND_ADD_GROUP
Definition: zcl_definitions.h:368
@ ZIGPC_ZCL_CLUSTER_GROUPS_COMMAND_REMOVE_ALL_GROUPS
Definition: zcl_definitions.h:376
@ ZIGPC_ZCL_CLUSTER_GROUPS_COMMAND_REMOVE_GROUP
Definition: zcl_definitions.h:374
@ ZIGPC_ZCL_CLUSTER_GROUPS
Definition: zcl_definitions.h:184
zigpc_group_member_t A structure representing the member of a zigbee group
Definition: zigpc_group_mgmt.h:41
zigbee_endpoint_id_t endpoint_id
Definition: zigpc_group_mgmt.h:43
zigbee_eui64_t eui64
Definition: zigpc_group_mgmt.h:42