22#ifndef ZWAVE_COMMAND_CLASS_AGI_H
23#define ZWAVE_COMMAND_CLASS_AGI_H
28#include "ZW_classcmd.h"
32#define MAX_SUPPORTED_NODES_PER_GROUP 10
35#define NUMBER_OF_SUPPORTED_GROUPS 1
39#define AGI_NA_PROFILE 0x0000
42#define LIFELINE_GROUP_ID 1
43#define AGI_LIFELINE_PROFILE 0x0001
44#define LIFELINE_NAME "Lifeline"
48#define AGI_RESERVED_PROFILE 0xFFFF
54#define AGI_INFO_REPORT_GROUP_COUNT_MASK 0x3F
57#define MAX_GROUP_NAME_SIZE ATTRIBUTE_STORE_MAXIMUM_VALUE_LENGTH
void zwave_command_class_agi_request_to_establish_association(zwave_command_class_t command_class, zwave_command_t command)
Registers a Command Class / Command pair that we want to make sure to receive via Associations.
sl_status_t zwave_command_class_agi_add_group_commands(association_group_id_t group_id, zwave_command_class_t command_class, zwave_command_t command)
Lets a component register commands that it sends via an association group.
uint32_t agi_profile_t
Definition: zwave_command_class_agi.h:51
agi_profile_t zwave_command_class_agi_get_group_profile(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Lets a component register commands that it sends via an association group.
bool zwave_command_class_agi_is_command_allowed_for_group(association_group_id_t group_id, zwave_command_class_t command_class, zwave_command_t command)
Verifies if a Command Class/Command pair is allowed for an Association group.
struct association_group_name_report_frame association_group_name_report_frame_t
struct association_group_command_list_report_frame association_group_command_list_report_frame_t
sl_status_t zwave_command_class_agi_init()
Setup fixture for the Association Group Information (AGI) Command Class.
bool zwave_command_class_agi_group_contains_listeners(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Verifies if a Group ID under a NodeID/Endpoint sends some commands that we want to receive.
struct association_group_info_report_frame association_group_info_report_frame_t
uint32_t sl_status_t
Definition: sl_status.h:139
#define MAX_GROUP_CONTENT_SIZE
Definition: zwave_command_class_association_internals.h:39
uint8_t association_group_id_t
‍Association Group ID Type
Definition: zwave_command_class_association_types.h:49
uint16_t zwave_command_class_t
Definition: zwave_generic_types.h:29
uint8_t zwave_command_t
Definition: zwave_generic_types.h:30
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
Definition: zwave_command_class_agi.h:76
uint8_t command_list[MAX_GROUP_CONTENT_SIZE]
Definition: zwave_command_class_agi.h:81
uint8_t command
Definition: zwave_command_class_agi.h:78
association_group_id_t grouping_identifier
Definition: zwave_command_class_agi.h:79
uint8_t list_length
Definition: zwave_command_class_agi.h:80
uint8_t command_class
Definition: zwave_command_class_agi.h:77
Definition: zwave_command_class_agi.h:68
uint8_t properties
Definition: zwave_command_class_agi.h:71
uint8_t command_class
Definition: zwave_command_class_agi.h:69
uint8_t command
Definition: zwave_command_class_agi.h:70
VG_ASSOCIATION_GROUP_INFO_REPORT_VG vg_ass_group_info[MAX_GROUP_CONTENT_SIZE]
Definition: zwave_command_class_agi.h:72
Definition: zwave_command_class_agi.h:59
uint8_t command
Definition: zwave_command_class_agi.h:61
uint8_t name[MAX_GROUP_CONTENT_SIZE]
Definition: zwave_command_class_agi.h:64
uint8_t command_class
Definition: zwave_command_class_agi.h:60
association_group_id_t grouping_identifier
Definition: zwave_command_class_agi.h:62
uint8_t name_length
Definition: zwave_command_class_agi.h:63
const zwave_endpoint_id_t endpoint_id
const zwave_node_id_t node_id