Logo
Developing with ZBOSS for Zigbee
zboss_api_zgp.h File Reference
#include "zb_config.h"
#include "zb_address.h"
#include "zboss_api_buf.h"
#include "zb_types.h"

Data Structures

union  zb_zgpd_addr_u
 ZGPD address. More...
 
struct  zb_zgpd_id_s
 ZGPD identification info (ZGPD ID) More...
 
struct  zgp_attr_record_s
 
struct  zgp_data_point_desc_options_s
 
struct  zgp_data_point_desc_s
 
struct  zgp_report_desc_options_s
 
struct  zgp_report_desc_s
 
struct  zgp_report_desc_pairing_config_s
 
struct  zgp_to_zb_cmd_mapping_s
 Mapping of ZGPD command ID to Zigbee ZCL command ID. More...
 
struct  zb_zgps_mapping_entry_additional_info_option_selector_s
 Mapping table entry additional info option selector structure Figure 84 – Format of the Option selector field of the Option record field of the Translation Table entry. More...
 
struct  zb_zgps_mapping_entry_generic_switch_option_data_s
 Mapping table entry additional info generic switch option data structure Figure 85 – Format of the Option data of the Generic switch command execution option of the Translation Table entry. More...
 
struct  zb_zgps_mapping_entry_generic_switch_option_s
 Mapping table entry additional info generic switch option structure. More...
 
struct  zb_zgps_mapping_entry_additional_info_option_record_s
 Mapping table entry additional info option record structure A.3.6.2.2 GPD application functionality translation Figure 83 – Format of the Option record field of the Translation Table entry. More...
 
struct  zb_zgps_mapping_entry_additional_info_s
 Mapping table entry additional info structure Figure 82 – Format of the Additional information block field of the Translation Table entry. More...
 
struct  zb_zgps_mapping_entry_s
 Mapping table entry structure. More...
 
struct  zb_zgp_gpd_cmds_list_s
 GPD CommandID list. More...
 
struct  zb_zgp_cluster_list_s
 GPD Cluster List. More...
 
struct  zgp_raw_report_desc_s
 Raw report descriptor received from the GPD. More...
 
struct  zgp_approve_comm_params_s
 GPD Commissioning params for Application approval. More...
 
struct  zgp_pair_group_list_s
 
struct  zgp_app_tbl_ent_options_s
 
struct  zgp_app_tbl_ent_info_s
 
struct  zgp_app_tbl_ent_s
 
struct  zgp_runtime_app_tbl_ent_s
 
struct  zgp_tbl_ent_s
 

Macros

#define ZGP_ENDPOINT   242
 
#define ZGP_ATTR_OPT_GET_REMAINING_LEN(opt)   ((opt) & 0xFU)
 
#define ZGP_ATTR_OPT_GET_REPORTED(opt)   (((opt) >> 4U) & 0x1U)
 
#define ZGP_ATTR_OPT_GET_VAL_PRESENT(opt)   (((opt) >> 5U) & 0x1U)
 
#define ZB_APP_DESCR_ATTR_VAL_SIZE   8U
 
#define ZB_APP_DESCR_ATTR_REC_SIZE   4U
 
#define SIZE_BY_APP_ID(app_id)   (((app_id) == ZB_ZGP_APP_ID_0000) ? 4U : 8U)
 
#define ZGPD_ID_SIZE(zgpd_id)   SIZE_BY_APP_ID((zgpd_id)->app_id)
 
#define ZB_ZGPD_IDS_ARE_EQUAL(id1, id2)
 
#define ZB_ZGP_SRC_ID_UNSPECIFIED   0x00000000U
 
#define ZB_ZGP_SRC_ID_ALL   (zb_uint32_t)(~0u)
 
#define ZB_INIT_ZGPD_ID(zgpd_id)
 
#define ZB_ZGPD_IS_SPECIFIED(zgpd_id)
 
#define ZB_MAKE_ZGPD_ID(zgpd_id, s_app_id, s_endpoint, s_addr)
 
#define ZB_ZGP_LVL_CTRL_SWITCH_DEV_ID   ZB_ZGP_LEVEL_CONTROL_SWITCH_DEV_ID
 
#define ZB_ZGP_ZCL_CMD_ID_UNDEFINED   (0xff)
 
#define ZB_ZGP_ZCL_CLUSTER_ID_UNDEFINED   (0xffff)
 
#define ZB_GPDF_CMD_UNDEFINED   (0xff)
 
#define ZB_ZGP_MAPPING_ENTRY_ENDPOINT_PASS_RAW_GPDF_TO_APP   (0xfc)
 
#define ZB_ZGP_MAPPING_ENTRY_ENDPOINT_NO_PAIRS   (0xfd)
 
#define ZB_ZGP_MAPPING_ENTRY_ENDPOINT_ALL_ARE_MATCHED   (0xff)
 
#define ZB_ZGP_MAPPING_ENTRY_NO_PAYLOAD   (0x00)
 
#define ZB_ZGP_MAPPING_ENTRY_GPDF_PAYLOAD   (0xff)
 
#define ZB_ZGP_MAPPING_ENTRY_PARSED_PAYLOAD   (0xfe)
 
#define ZB_ZGP_MAPPING_ENTRY_OPTIONS(app_id, add_info_present)   (((((add_info_present) & 0x01) << 3)) | ((app_id) & 0x07))
 
#define ZB_ZGP_MAPPING_ENTRY_OPTIONS_IS_ADDITIONAL_INFO_PRESENT(options)   (((options) >> 3) & 0x01)
 
#define ZB_ZGP_GET_MAPPING_ENTRY_ZCL_PAYLOAD_PTR(entry)   (&entry->zcl_payload_length+sizeof(entry->zcl_payload_length))
 
#define ZB_ZGP_SET_MAPPING_TABLE(table_ptr, table_size_ptr)
 Set mapping table information that is used to fill ZGP command - ZCL cluster mapping table. More...
 
#define ZB_GP_TX_QUEUE_ENTRY_LIFETIME_NONE   ZB_MIN_TIME_VAL
 
#define ZB_GP_TX_QUEUE_ENTRY_LIFETIME_INF   ZB_MAX_TIME_VAL
 
#define ZB_GP_DATA_REQ_USE_GP_TX_QUEUE   0x01U
 
#define ZB_GP_DATA_REQ_USE_CSMA_CA_BIT   0x02U
 
#define ZB_GP_DATA_REQ_USE_MAC_ACK_BIT   0x04U
 
#define ZB_GP_DATA_REQ_MAINT_FRAME_TYPE   0x08U
 
#define ZB_GP_DATA_REQ_FRAME_TYPE(tx_opt)   ((tx_opt >> 3) & 0x03)
 
#define ZB_GP_DATA_REQ_ACTION_REMOVE_GPDF   ZB_FALSE
 
#define ZB_GP_DATA_REQ_ACTION_ADD_GPDF   ZB_TRUE
 
#define ZB_CGP_DATA_REQ_USE_CSMA_CA_BIT   0x01
 
#define ZB_CGP_DATA_REQ_USE_MAC_ACK_BIT   0X02
 
#define ZB_ZGP_REGISTER_COMM_REQ_CB(cb)
 Register commissioning request callback. More...
 
#define ZB_ZGP_REGISTER_APP_CIC_CB(cb)
 Register application commissioning indication callback. More...
 
#define ZB_GPDF_CMD_STORE_SCENE0   ZB_GPDF_CMD_RECALL_SCENE8
 
#define ZB_GPDF_CMD_STORE_SCENE1   ZB_GPDF_CMD_RECALL_SCENE9
 
#define ZB_GPDF_CMD_STORE_SCENE2   ZB_GPDF_CMD_RECALL_SCENE10
 
#define ZB_GPDF_CMD_STORE_SCENE3   ZB_GPDF_CMD_RECALL_SCENE11
 
#define ZB_GPDF_CMD_LVL_CTRL_STOP   ZB_GPDF_CMD_LC_STOP
 
#define ZB_GPDF_CMD_MOVE_UP_WITH_ON_OFF   ZB_GPDF_CMD_MOVE_UP_W_ONOFF
 
#define ZB_GPDF_CMD_MOVE_DOWN_WITH_ON_OFF   ZB_GPDF_CMD_MOVE_DOWN_W_ONOFF
 
#define ZB_GPDF_CMD_MOVE_STEP_ON   ZB_GPDF_CMD_STEP_UP_W_ONOFF
 
#define ZB_GPDF_CMD_MOVE_STEP_OFF   ZB_GPDF_CMD_STEP_DOWN_W_ONOFF
 
#define ZB_GPDF_CMD_IS_SCENE_CMD(_cmd_id)
 
#define ZB_GPDF_CMD_IS_RECALL_SCENE(_cmd_id)
 
#define ZB_GPDF_CMD_IS_STORE_SCENE(_cmd_id)
 
#define ZB_ZGP_FILL_GPS_SECURITY_LEVEL(sec_lvl, with_link_key, involve_tc)   (((sec_lvl) & 3U) | ((!!(with_link_key)) << 2U) | ((!!(involve_tc)) << 3U))
 
#define ZB_ZGP_FILL_PROXY_COMM_MODE_OPTIONS(action, exit_mode, ch_present, communication)   ((!!(action)) | (((exit_mode) & 7) << 1) | ((!!(ch_present)) << 4) | (((communication)&3) << 5))
 Setup options for zb_zgp_cluster_proxy_commissioning_mode_req() More...
 
#define ZB_ZGP_FILL_GP_PAIRING_OPTIONS(app_id, add_sink, remove_gpd, comm_mode, gpd_fixed, gpd_mac_sec_num_cap, sec_lvl, sec_key_type, frame_cnt_prsnt, gpd_sec_key_prsnt, assigned_alias_prsnt, frwrd_radius_prsnt)   (((app_id) & 7) | ((!!(add_sink)) << 3) | ((!!(remove_gpd)) << 4) | (((comm_mode) & 3) << 5) | (((!!(add_sink)) ? (!!(gpd_fixed)) : 0) << 7) | (((!!(add_sink)) ? (!!(gpd_mac_sec_num_cap)) : 0) << 8) | (((!!(add_sink)) ? ((sec_lvl) & 3) : 0) << 9) | (((!!(add_sink)) ? ((sec_key_type) & 7) : 0) << 11) | ((!!(frame_cnt_prsnt)) << 14) | (((!!(add_sink)) ? (!!(gpd_sec_key_prsnt)) : 0) << 15) | (((!!(add_sink)) ? (!!(assigned_alias_prsnt)) : 0) << 16) | (((!!(add_sink)) ? (!!(frwrd_radius_prsnt)) : 0) << 17))
 Setup options for zb_zgp_cluster_gp_pairing_req() More...
 
#define ZGP_GP_SET_SHARED_SECURITY_KEY_TYPE(type)   zgp_gp_set_shared_security_key_type(type)
 

Typedefs

typedef enum zb_zgp_app_id_e zb_zgp_app_id_t
 ZGPD application ID. More...
 
typedef union zb_zgpd_addr_u zb_zgpd_addr_t
 ZGPD address. More...
 
typedef struct zb_zgpd_id_s zb_zgpd_id_t
 ZGPD identification info (ZGPD ID) More...
 
typedef struct zgp_attr_record_s zgp_attr_record_t
 
typedef struct zgp_data_point_desc_options_s zgp_data_point_desc_options_t
 
typedef struct zgp_data_point_desc_s zgp_data_point_desc_t
 
typedef struct zgp_report_desc_options_s zgp_report_desc_options_t
 
typedef struct zgp_report_desc_s zgp_report_desc_t
 
typedef struct zgp_report_desc_pairing_config_s zgp_report_desc_pairing_config_t
 
typedef enum zb_zgpd_dev_id_e zb_zgpd_dev_id_t
 Possible ZGPD device identifiers. More...
 
typedef enum zb_zgpd_manuf_specific_dev_id_e zb_zgpd_manuf_specific_dev_id_t
 Manufacturer-specific device identifiers for GreanPeak. More...
 
typedef struct zgp_to_zb_cmd_mapping_s zgp_to_zb_cmd_mapping_t
 Mapping of ZGPD command ID to Zigbee ZCL command ID. More...
 
typedef struct zb_zgps_mapping_entry_additional_info_option_selector_s zb_zgps_mapping_entry_additional_info_option_selector_t
 Mapping table entry additional info option selector structure Figure 84 – Format of the Option selector field of the Option record field of the Translation Table entry. More...
 
typedef struct zb_zgps_mapping_entry_generic_switch_option_data_s zb_zgps_mapping_entry_generic_switch_option_data_t
 Mapping table entry additional info generic switch option data structure Figure 85 – Format of the Option data of the Generic switch command execution option of the Translation Table entry. More...
 
typedef struct zb_zgps_mapping_entry_generic_switch_option_s zb_zgps_mapping_entry_generic_switch_option_t
 Mapping table entry additional info generic switch option structure. More...
 
typedef struct zb_zgps_mapping_entry_additional_info_option_record_s zb_zgps_mapping_entry_additional_info_option_record_t
 Mapping table entry additional info option record structure A.3.6.2.2 GPD application functionality translation Figure 83 – Format of the Option record field of the Translation Table entry. More...
 
typedef struct zb_zgps_mapping_entry_additional_info_s zb_zgps_mapping_entry_additional_info_t
 Mapping table entry additional info structure Figure 82 – Format of the Additional information block field of the Translation Table entry. More...
 
typedef struct zb_zgps_mapping_entry_s zb_zgps_mapping_entry_t
 Mapping table entry structure. More...
 
typedef enum zgp_communication_mode_e zgp_communication_mode_t
 
typedef enum zgp_commissioning_exit_mode_e zgp_commissioning_exit_mode_t
 
typedef enum zb_zgp_comm_status_e zb_zgp_comm_status_t
 Possible commissioning result. More...
 
typedef enum zb_zgp_mode_change_reason_e zb_zgp_mode_change_reason_t
 GP Sink mode change reason. More...
 
typedef enum zb_zgp_mode_e zb_zgp_mode_t
 Current mode of ZGP endpoint. More...
 
typedef struct zb_zgp_gpd_cmds_list_s zb_zgp_gpd_cmds_list_t
 GPD CommandID list. More...
 
typedef struct zb_zgp_cluster_list_s zb_zgp_cluster_list_t
 GPD Cluster List. More...
 
typedef void(* zb_zgp_comm_req_cb_t) (zb_zgpd_id_t *zgpd_id, zb_uint8_t device_id, zb_uint16_t manuf_id, zb_uint16_t manuf_model_id, zb_ieee_addr_t ieee_addr)
 Commissioning request callback type. More...
 
typedef struct zgp_raw_report_desc_s zgp_raw_report_desc_t
 Raw report descriptor received from the GPD. More...
 
typedef struct zgp_approve_comm_params_s zgp_approve_comm_params_t
 GPD Commissioning params for Application approval. More...
 
typedef void(* zb_zgp_app_comm_ind_cb_t) (zb_zgpd_id_t *zgpd_id, zb_uint8_t param)
 Application callback, indication of the attempted commissioning in GPS operational mode. More...
 
typedef enum zgp_proxy_comm_mode_action_e zgp_proxy_comm_mode_action_t
 
typedef enum zgp_proxy_comm_mode_ch_present_e zgp_proxy_comm_mode_ch_present_t
 
typedef enum zgp_proxy_comm_mode_communication_e zgp_proxy_comm_mode_communication_t
 
typedef struct zgp_pair_group_list_s zgp_pair_group_list_t
 
typedef enum zgp_app_descr_status_e zgp_app_descr_status_t
 
typedef struct zgp_app_tbl_ent_options_s zgp_app_tbl_ent_options_t
 
typedef struct zgp_app_tbl_ent_info_s zgp_app_tbl_ent_info_t
 
typedef struct zgp_app_tbl_ent_s zgp_app_tbl_ent_t
 
typedef struct zgp_runtime_app_tbl_ent_s zgp_runtime_app_tbl_ent_t
 
typedef struct zgp_tbl_ent_s zgp_tbl_ent_t
 
typedef zb_uint8_t(* zgp_cluster_app_zcl_cmd_handler_t) (zb_uint8_t buf_ref)
 

Enumerations

enum  zb_zgp_app_id_e { ZB_ZGP_APP_ID_0000 = 0x00, ZB_ZGP_APP_ID_0001 = 0x01, ZB_ZGP_APP_ID_0010 = 0x02, ZB_ZGP_APP_ID_INVALID = 0x07 }
 ZGPD application ID. More...
 
enum  zb_zgp_endpoint_e { ZB_ZGP_COMMUNICATION_ENDPOINT, ZB_ZGP_ALL_ENDPOINTS = 255 }
 
enum  zb_zgp_pairing_conf_actions_e {
  ZGP_PAIRING_CONF_NO_ACTION = 0, ZGP_PAIRING_CONF_EXTEND = 1, ZGP_PAIRING_CONF_REPLACE = 2, ZGP_PAIRING_CONF_REMOVE_PAIRING = 3,
  ZGP_PAIRING_CONF_REMOVE_GPD = 4, ZGP_PAIRING_CONF_APP_DESCRIPTION = 5, ZGP_PAIRING_CONF_REMOVE_RESERVED6 = 6, ZGP_PAIRING_CONF_REMOVE_RESERVED7 = 7
}
 ZGPD GP Pairing Configuration action sub-field of the Actions field enum. More...
 
enum  zb_zgp_security_level_e { ZB_ZGP_SEC_LEVEL_NO_SECURITY = 0x00, ZB_ZGP_SEC_LEVEL_REDUCED = 0x01, ZB_ZGP_SEC_LEVEL_FULL_NO_ENC = 0x02, ZB_ZGP_SEC_LEVEL_FULL_WITH_ENC = 0x03 }
 ZGP security level type. More...
 
enum  zb_zgp_security_level_protection_with_gp_link_key_e { ZB_ZGP_SEC_LEVEL_PROTECTION_WITHOUT_GP_LINK_KEY = 0x00, ZB_ZGP_SEC_LEVEL_PROTECTION_WITH_GP_LINK_KEY = 0x01 }
 ZGP gpsSecurityLevel attribute. More...
 
enum  zb_zgp_security_level_involve_tc_e { ZB_ZGP_SEC_LEVEL_PROTECTION_DO_NOT_INVOLVE_TC = 0x00, ZB_ZGP_SEC_LEVEL_PROTECTION_INVOLVE_TC = 0x01 }
 ZGP gpsSecurityLevel attribute. More...
 
enum  zb_zgp_security_key_type_e {
  ZB_ZGP_SEC_KEY_TYPE_NO_KEY = 0x00, ZB_ZGP_SEC_KEY_TYPE_NWK = 0x01, ZB_ZGP_SEC_KEY_TYPE_GROUP = 0x02, ZB_ZGP_SEC_KEY_TYPE_GROUP_NWK_DERIVED = 0x03,
  ZB_ZGP_SEC_KEY_TYPE_ZGPD_INDIVIDUAL = 0x04, ZB_ZGP_SEC_KEY_TYPE_DERIVED_INDIVIDUAL = 0x07
}
 
enum  zb_zgpd_dev_id_e {
  ZB_ZGP_SIMPLE_GEN_1_STATE_SWITCH_DEV_ID = 0x00, ZB_ZGP_SIMPLE_GEN_2_STATE_SWITCH_DEV_ID = 0x01, ZB_ZGP_ON_OFF_SWITCH_DEV_ID = 0x02, ZB_ZGP_LEVEL_CONTROL_SWITCH_DEV_ID = 0x03,
  ZB_ZGP_SIMPLE_SENSOR_DEV_ID = 0x04, ZB_ZGP_ADVANCED_GEN_1_STATE_SWITCH_DEV_ID = 0x05, ZB_ZGP_ADVANCED_GEN_2_STATE_SWITCH_DEV_ID = 0x06, ZB_ZGP_GEN_8_CONT_SWITCH_DEV_ID = 0x07,
  ZB_ZGP_COLOR_DIMMER_SWITCH_DEV_ID = 0x10, ZB_ZGP_LIGHT_SENSOR_DEV_ID = 0x11, ZB_ZGP_OCCUPANCY_SENSOR_DEV_ID = 0x12, ZB_ZGP_DOOR_LOCK_CONTROLLER_DEV_ID = 0x20,
  ZB_ZGP_TEMPERATURE_SENSOR_DEV_ID = 0x30, ZB_ZGP_PRESSURE_SENSOR_DEV_ID = 0x31, ZB_ZGP_FLOW_SENSOR_DEV_ID = 0x32, ZB_ZGP_ENVIRONMENT_SENSOR_DEV_ID = 0x33,
  ZB_ZGP_MANUF_SPECIFIC_DEV_ID = 0xfe, ZB_ZGP_UNDEFINED_DEV_ID = 0xff
}
 Possible ZGPD device identifiers. More...
 
enum  zb_zgpd_manuf_specific_dev_id_e {
  ZB_ZGP_MS_DOOR_SENSOR_DEV_ID = 0x00, ZB_ZGP_MS_DOOR_WINDOW_SENSOR_DEV_ID = 0x01, ZB_ZGP_MS_LEAKAGE_SENSOR_DEV_ID = 0x02, ZB_ZGP_MS_HUMIDITY_SENSOR_DEV_ID = 0x03,
  ZB_ZGP_MS_MOTION_SENSOR_DEV_ID = 0x05, ZB_ZGP_MS_MOVEMENT_SENSOR_DEV_ID = 0x07, ZB_ZGP_MS_SMART_PLUG_DEV_ID = 0X08, ZB_ZGP_MS_KEY_FOB_DEV_ID = 0x0A,
  ZB_ZGP_MS_SMOKE_DETECTOR_DEV_ID = 0x0b, ZB_ZGP_MS_BED_SENSOR_DEV_ID = 0x0c, ZB_ZGP_MS_PARKING_SENSOR_DEV_ID = 0xc0
}
 Manufacturer-specific device identifiers for GreanPeak. More...
 
enum  zb_zgps_mapping_entry_8bit_vector_option_ids_e { ZB_ZGPS_MAPPING_ENTRY_8BIT_VECTOR_OPTION_ID_GENERIC_SWITCH_COMMAND_EXECUTION = 0U }
 A.3.6.2.2.1.1 OptionIDs for GPD 8-bit vector commands. More...
 
enum  zb_zgps_mapping_entry_compact_attr_report_option_ids_e { ZB_ZGPS_MAPPING_ENTRY_COMPACT_ATTR_REPORT_REPORTABLE = 0U }
 A.3.6.2.2.1.2 OptionIDs for GPD Compact Attribute Reporting. More...
 
enum  zb_zgp_data_handle_e {
  ZB_ZGP_HANDLE_DEFAULT_HANDLE, ZB_ZGP_HANDLE_REMOVE_CHANNEL_CONFIG, ZB_ZGP_HANDLE_REMOVE_COMMISSIONING_REPLY, ZB_ZGP_HANDLE_ADD_COMMISSIONING_REPLY,
  ZB_ZGP_HANDLE_ADD_CHANNEL_CONFIG, ZB_ZGP_HANDLE_REMOVE_AFTER_FAILED_COMM, ZB_ZGP_HANDLE_REMOVE_BY_USER_REQ, ZB_ZGP_HANDLE_APP_DATA
}
 
enum  zgp_communication_mode_e { ZGP_COMMUNICATION_MODE_FULL_UNICAST = 0, ZGP_COMMUNICATION_MODE_GROUPCAST_DERIVED = 1, ZGP_COMMUNICATION_MODE_GROUPCAST_PRECOMMISSIONED = 2, ZGP_COMMUNICATION_MODE_LIGHTWEIGHT_UNICAST = 3 }
 
enum  zgp_commissioning_exit_mode_e {
  ZGP_COMMISSIONING_EXIT_MODE_ON_COMMISSIONING_WINDOW_EXPIRATION = (1<<0), ZGP_COMMISSIONING_EXIT_MODE_ON_PAIRING_SUCCESS = (1<<1), ZGP_COMMISSIONING_EXIT_MODE_ON_GP_PROXY_COMMISSIONING_MODE_EXIT = (1<<2), ZGP_COMMISSIONING_EXIT_MODE_ON_CWE_OR_PS,
  ZGP_COMMISSIONING_EXIT_MODE_ON_CWE_OR_PCM, ZGP_COMMISSIONING_EXIT_MODE_ALL
}
 
enum  zb_zgp_comm_status_e {
  ZB_ZGP_COMMISSIONING_COMPLETED, ZB_ZGP_COMMISSIONING_FAILED, ZB_ZGP_COMMISSIONING_TIMED_OUT, ZB_ZGP_COMMISSIONING_NO_MATCH_ERROR,
  ZB_ZGP_COMMISSIONING_INTERNAL_ERROR, ZB_ZGP_COMMISSIONING_EXTERNAL_ERROR, ZB_ZGP_COMMISSIONING_CANCELLED_BY_USER, ZB_ZGP_ZGPD_DECOMMISSIONED
}
 Possible commissioning result. More...
 
enum  zb_zgp_mode_change_reason_e { ZB_ZGP_MODE_CHANGE_TRIGGERED_BY_COMMAND = 1, ZB_ZGP_MODE_CHANGE_TRIGGERED_BY_USER, ZB_ZGP_MODE_CHANGE_ON_FIRST_PARING_EXIT, ZB_ZGP_MODE_CHANGE_TIMEOUT }
 GP Sink mode change reason. More...
 
enum  zb_zgp_mode_e { ZB_ZGP_OPERATIONAL_MODE, ZB_ZGP_COMMISSIONING_MODE }
 Current mode of ZGP endpoint. More...
 
enum  zb_zgpd_switch_type_e { ZB_GPD_SWITCH_TYPE_BUTTON = 0x01, ZB_GPD_SWITCH_TYPE_ROCKER = 0x02 }
 
enum  zb_zgpd_cmd_id_e {
  ZB_GPDF_CMD_IDENTIFY = 0x00, ZB_GPDF_CMD_RECALL_SCENE0 = 0x10, ZB_GPDF_CMD_RECALL_SCENE1 = 0x11, ZB_GPDF_CMD_RECALL_SCENE2 = 0x12,
  ZB_GPDF_CMD_RECALL_SCENE3 = 0x13, ZB_GPDF_CMD_RECALL_SCENE4 = 0x14, ZB_GPDF_CMD_RECALL_SCENE5 = 0x15, ZB_GPDF_CMD_RECALL_SCENE6 = 0x16,
  ZB_GPDF_CMD_RECALL_SCENE7 = 0x17, ZB_GPDF_CMD_RECALL_SCENE8 = 0x18, ZB_GPDF_CMD_RECALL_SCENE9 = 0x19, ZB_GPDF_CMD_RECALL_SCENE10 = 0x1A,
  ZB_GPDF_CMD_RECALL_SCENE11 = 0x1B, ZB_GPDF_CMD_STORE_SCENE4 = 0x1C, ZB_GPDF_CMD_STORE_SCENE5 = 0x1D, ZB_GPDF_CMD_STORE_SCENE6 = 0x1E,
  ZB_GPDF_CMD_STORE_SCENE7 = 0x1F, ZB_GPDF_CMD_OFF = 0x20, ZB_GPDF_CMD_ON = 0x21, ZB_GPDF_CMD_TOGGLE = 0x22,
  ZB_GPDF_CMD_RELEASE = 0x23, ZB_GPDF_CMD_MOVE_UP = 0x30, ZB_GPDF_CMD_MOVE_DOWN = 0x31, ZB_GPDF_CMD_STEP_UP = 0x32,
  ZB_GPDF_CMD_STEP_DOWN = 0x33, ZB_GPDF_CMD_LC_STOP = 0x34, ZB_GPDF_CMD_MOVE_UP_W_ONOFF = 0x35, ZB_GPDF_CMD_MOVE_DOWN_W_ONOFF = 0x36,
  ZB_GPDF_CMD_STEP_UP_W_ONOFF = 0x37, ZB_GPDF_CMD_STEP_DOWN_W_ONOFF = 0x38, ZB_GPDF_CMD_MOVE_HUE_STOP = 0x40, ZB_GPDF_CMD_MOVE_HUE_UP = 0x41,
  ZB_GPDF_CMD_MOVE_HUE_DOWN = 0x42, ZB_GPDF_CMD_STEP_HUE_UP = 0x43, ZB_GPDF_CMD_STEP_HUE_DOWN = 0x44, ZB_GPDF_CMD_MOVE_SATURATION_STOP = 0x45,
  ZB_GPDF_CMD_MOVE_SATURATION_UP = 0x46, ZB_GPDF_CMD_MOVE_SATURATION_DOWN = 0x47, ZB_GPDF_CMD_STEP_SATURATION_UP = 0x48, ZB_GPDF_CMD_STEP_SATURATION_DOWN = 0x49,
  ZB_GPDF_CMD_MOVE_COLOR = 0x4A, ZB_GPDF_CMD_STEP_COLOR = 0x4B, ZB_GPDF_CMD_LOCK_DOOR = 0x50, ZB_GPDF_CMD_UNLOCK_DOOR = 0x51,
  ZB_GPDF_CMD_PRESS_1_OF_1 = 0x60, ZB_GPDF_CMD_RELEASE_1_OF_1 = 0x61, ZB_GPDF_CMD_PRESS_1_OF_2 = 0x62, ZB_GPDF_CMD_RELEASE_1_OF_2 = 0x63,
  ZB_GPDF_CMD_PRESS_2_OF_2 = 0x64, ZB_GPDF_CMD_RELEASE_2_OF_2 = 0x65, ZB_GPDF_CMD_SHORT_PRESS_1_OF_1 = 0x66, ZB_GPDF_CMD_SHORT_PRESS_1_OF_2 = 0x67,
  ZB_GPDF_CMD_SHORT_PRESS_2_OF_2 = 0x68, ZB_GPDF_CMD_8BIT_VECTOR_PRESS = 0x69, ZB_GPDF_CMD_8BIT_VECTOR_RELEASE = 0x6A, ZB_GPDF_CMD_ATTR_REPORT = 0xA0,
  ZB_GPDF_CMD_MANUF_SPEC_ATTR_REPORT = 0xA1, ZB_GPDF_CMD_MULTI_CLUSTER_ATTR_REPORT = 0xA2, ZB_GPDF_CMD_MANUF_SPEC_MULTI_CLUSTER_ATTR_REPORT = 0xA3, ZB_GPDF_CMD_REQUEST_ATTRIBUTES = 0xA4,
  ZB_GPDF_CMD_READ_ATTR_RESP = 0xA5, ZB_GPDF_CMD_ZCL_TUNNELING_FROM_ZGPD = 0xA6, ZB_GPDF_CMD_COMPACT_ATTR_REPORTING = 0xA8, ZB_GPDF_CMD_ATTR_REPORT_ANY = 0xAF,
  ZB_GPDF_CMD_MANUF_DEFINED_B0 = 0xB0, ZB_GPDF_CMD_MANUF_DEFINED_BF = 0xBF, ZB_GPDF_CMD_COMMISSIONING = 0xE0, ZB_GPDF_CMD_DECOMMISSIONING = 0xE1,
  ZB_GPDF_CMD_SUCCESS = 0xE2, ZB_GPDF_CMD_CHANNEL_REQUEST = 0xE3, ZB_GPDF_CMD_APPLICATION_DESCR = 0xE4, ZB_GPDF_CMD_COMMISSIONING_REPLY = 0xF0,
  ZB_GPDF_CMD_WRITE_ATTRIBUTES = 0xF1, ZB_GPDF_CMD_READ_ATTRIBUTES = 0xF2, ZB_GPDF_CMD_CHANNEL_CONFIGURATION = 0xF3, ZB_GPDF_CMD_ZCL_TUNNELING_TO_ZGPD = 0xF6
}
 Command identifiers sent from or to ZGPD. More...
 
enum  zgp_proxy_comm_mode_action_e { ZGP_PROXY_COMM_MODE_LEAVE, ZGP_PROXY_COMM_MODE_ENTER }
 
enum  zgp_proxy_comm_mode_ch_present_e { ZGP_PROXY_COMM_MODE_CHANNEL_PRESENT, ZGP_PROXY_COMM_MODE_CHANNEL_NOT_PRESENT }
 
enum  zgp_proxy_comm_mode_communication_e { ZGP_PROXY_COMM_MODE_BROADCAST, ZGP_PROXY_COMM_MODE_UNICAST }
 
enum  zgp_app_descr_status_e {
  ZGP_APP_TBL_ENT_STATUS_FREE = 0, ZGP_APP_TBL_ENT_STATUS_INIT_WITH_SW_INFO = 1, ZGP_APP_TBL_ENT_STATUS_INIT = 2, ZGP_APP_TBL_ENT_STATUS_APP_DESCR_PROCESS = 3,
  ZGP_APP_TBL_ENT_STATUS_COMPLETE = 4
}
 
enum  zgp_gp_attr_e {
  ZB_ZCL_ATTR_GPS_MAX_SINK_TABLE_ENTRIES_ID = 0x0000, ZB_ZCL_ATTR_GPS_SINK_TABLE_ID = 0x0001, ZB_ZCL_ATTR_GPS_COMMUNICATION_MODE_ID = 0x0002, ZB_ZCL_ATTR_GPS_COMMISSIONING_EXIT_MODE_ID = 0x0003,
  ZB_ZCL_ATTR_GPS_COMMISSIONING_WINDOW_ID = 0x0004, ZB_ZCL_ATTR_GPS_SECURITY_LEVEL_ID = 0x0005, ZB_ZCL_ATTR_GPS_FUNCTIONALITY_ID = 0x0006, ZB_ZCL_ATTR_GPS_ACTIVE_FUNCTIONALITY_ID = 0x0007,
  ZB_ZCL_ATTR_GPP_MAX_PROXY_TABLE_ENTRIES_ID = 0x0010, ZB_ZCL_ATTR_GPP_PROXY_TABLE_ID = 0x0011, ZB_ZCL_ATTR_GPP_NOTIFICATION_RETRY_NUMBER_ID = 0x0012, ZB_ZCL_ATTR_GPP_NOTIFICATION_RETRY_TIMER_ID = 0x0013,
  ZB_ZCL_ATTR_GPP_MAX_SEARCH_COUNTER_ID = 0x0014, ZB_ZCL_ATTR_GPP_BLOCKED_GPDID_ID = 0x0015, ZB_ZCL_ATTR_GPP_FUNCTIONALITY_ID = 0x0016, ZB_ZCL_ATTR_GPP_ACTIVE_FUNCTIONALITY_ID = 0x0017,
  ZB_ZCL_ATTR_GP_SHARED_SECURITY_KEY_TYPE_ID = 0x0020, ZB_ZCL_ATTR_GP_SHARED_SECURITY_KEY_ID = 0x0021, ZB_ZCL_ATTR_GP_LINK_KEY_ID = 0x0022
}
 

Functions

void zb_zgps_start_commissioning (zb_time_t timeout)
 Puts ZGPS into the commissioning mode. More...
 
void zb_zgps_start_commissioning_on_ep (zb_uint8_t ep, zb_time_t timeout)
 Puts ZGPS into the commissioning mode on a specific endpoint. More...
 
void zb_zgps_stop_commissioning (void)
 Switches ZGPS back to the operational mode from the commissioning mode. More...
 
void zb_zgps_accept_commissioning (zb_bool_t accept)
 Accepts/rejects ZGPD commissioning attempt. More...
 
void zb_zgps_delete_zgpd (zb_uint8_t buf_ref, zb_zgpd_id_t *zgpd_id)
 Removes all information about ZGPD from the stack. More...
 
void zb_zgps_delete_all_zgpd (void)
 Removes all information about all ZGPDs from the stack. More...
 
void zb_zgps_get_diag_data (zb_zgpd_id_t *zgpd_id, zb_uint8_t *lqi, zb_int8_t *rssi)
 Retrieves LQI and RSSI last received from the ZGPD. More...
 
void zb_zgps_set_security_level (zb_uint_t level)
 Sets gpsSecurityLevel GP cluster attribute of GPCB. More...
 
zb_uint8_t zb_zgps_get_security_level (void)
 Gets gpsSecurityLevel GP cluster attribute of the GPCB. More...
 
void zb_zgp_set_shared_security_key_type (zb_uint_t key_type)
 Sets gpSharedSecurityKeyType GP cluster attribute. More...
 
void zb_zgp_set_shared_security_key (zb_uint8_t *key)
 Sets gpSharedSecurityKey GP cluster attribute. More...
 
void zb_zgps_set_commissioning_exit_mode (zb_uint_t cem)
 Sets gpsCommissioningExitMode GP cluster attribute. More...
 
void zb_zgps_set_communication_mode (zgp_communication_mode_t mode)
 Sets gpsCommunicationMode GP cluster attribute of the GPCB. More...
 
zb_ret_t zb_zgp_convert_8bit_vector (zb_uint8_t vector_8bit_cmd_id, zb_uint8_t switch_type, zb_uint8_t num_of_contacts, zb_uint8_t contact_status, zb_uint8_t *zgp_cmd_out)
 The function may be overridden by the application to implement custom translation of 8-bit vector command (generic switch). More...
 
void zb_zgp_gpdf_raw_indication (zb_bufid_t buf_ref)
 Frees the incoming raw GPDF packet (buffer). This function can be overridden by the application to implement custom handling of the buffer. More...
 
void zb_zgp_set_skip_gpdf (zb_uint8_t skip)
 Sets ZBOSS to skip all incoming GPDFs. More...
 
zb_uint8_t zb_zgp_get_skip_gpdf (void)
 Checks if ZBOSS skips all incoming GPDFs. More...
 
void zb_zgp_sync_pib (zb_uint8_t param)
 Calls MLME-SET.request to sync SKIP_ALL_GPF attribute. More...
 
void zb_zgp_cluster_proxy_commissioning_mode_req (zb_uint8_t param, zb_uint8_t options, zb_uint16_t comm_wind, zb_uint8_t channel, zb_callback_t cb)
 Perform Proxy Commissioning mode request. More...
 
void zgp_cluster_send_proxy_commissioning_mode_enter_req (zb_uint8_t param, zb_uint8_t exit_mode, zb_uint16_t comm_window, zb_callback_t cb)
 Perform Proxy Commissioning mode enter request. More...
 
void zgp_cluster_send_proxy_commissioning_mode_leave_req (zb_uint8_t param, zb_callback_t cb)
 Perform Proxy Commissioning mode leave request. More...
 
void zb_zgp_cluster_gp_pairing_req (zb_uint8_t param, zb_uint16_t dst_addr, zb_uint8_t dst_addr_mode, zb_uint32_t options, zb_zgpd_addr_t gpd_id, zb_uint8_t endpoint, zb_uint8_t dev_id, zb_uint32_t sec_frame_counter, zb_uint8_t *key, zb_uint16_t assigned_alias, zb_uint8_t frwd_radius, zb_uint16_t group_id, zb_callback_t cb)
 Perform GP Pairing request. More...
 
void zgp_cluster_send_gp_sink_table_request (zb_uint8_t buf_ref, zb_uint16_t dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t options, zb_zgpd_id_t *zgpd_id, zb_uint8_t index, zb_callback_t cb)
 Perform send zcl gp sink table request for ZGP cluster. More...
 
void zgp_cluster_send_gp_proxy_table_request (zb_uint8_t buf_ref, zb_uint16_t dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t options, zb_zgpd_id_t *zgpd_id, zb_uint8_t index, zb_callback_t cb)
 Perform send zcl gp proxy table request for ZGP cluster. More...
 
void zgp_gp_set_shared_security_key_type (enum zb_zgp_security_key_type_e type)
 
void zgp_cluster_set_app_zcl_cmd_handler (zgp_cluster_app_zcl_cmd_handler_t handler)
 Setup specific application zcl command handler for test purpose. More...
 
void zgp_cluster_read_attrs (zb_uint8_t buf_ref, zb_uint16_t dst_addr, zb_uint8_t dst_addr_mode, zb_uint16_t *attr_ids, zb_uint8_t attr_cnt, zb_uint8_t dir, zb_uint8_t def_resp, zb_callback_t cb)
 Perform send general zcl read attributes command for ZGP cluster. More...
 
void zgp_cluster_read_attr (zb_uint8_t buf_ref, zb_uint16_t dst_addr, zb_uint8_t dst_addr_mode, zb_uint16_t attr_id, zb_uint8_t dir, zb_uint8_t def_resp, zb_callback_t cb)
 Perform send general zcl read attribute command for ZGP cluster. More...
 
void zgp_cluster_write_attr (zb_uint8_t buf_ref, zb_uint16_t dst_addr, zb_uint8_t dst_addr_mode, zb_uint16_t attr_id, zb_uint8_t attr_type, zb_uint8_t *attr_val, zb_uint8_t dir, zb_uint8_t def_resp, zb_callback_t cb)
 Perform send general zcl write attribute command for ZGP cluster. More...
 

Macro Definition Documentation

§ ZB_CGP_DATA_REQ_USE_CSMA_CA_BIT

#define ZB_CGP_DATA_REQ_USE_CSMA_CA_BIT   0x01

§ ZB_CGP_DATA_REQ_USE_MAC_ACK_BIT

#define ZB_CGP_DATA_REQ_USE_MAC_ACK_BIT   0X02

§ ZB_GP_DATA_REQ_ACTION_ADD_GPDF

#define ZB_GP_DATA_REQ_ACTION_ADD_GPDF   ZB_TRUE

§ ZB_GP_DATA_REQ_ACTION_REMOVE_GPDF

#define ZB_GP_DATA_REQ_ACTION_REMOVE_GPDF   ZB_FALSE

§ ZB_GP_DATA_REQ_FRAME_TYPE

#define ZB_GP_DATA_REQ_FRAME_TYPE (   tx_opt)    ((tx_opt >> 3) & 0x03)

§ ZB_GP_DATA_REQ_MAINT_FRAME_TYPE

#define ZB_GP_DATA_REQ_MAINT_FRAME_TYPE   0x08U

§ ZB_GP_DATA_REQ_USE_CSMA_CA_BIT

#define ZB_GP_DATA_REQ_USE_CSMA_CA_BIT   0x02U

§ ZB_GP_DATA_REQ_USE_GP_TX_QUEUE

#define ZB_GP_DATA_REQ_USE_GP_TX_QUEUE   0x01U

§ ZB_GP_DATA_REQ_USE_MAC_ACK_BIT

#define ZB_GP_DATA_REQ_USE_MAC_ACK_BIT   0x04U

§ ZB_GP_TX_QUEUE_ENTRY_LIFETIME_INF

#define ZB_GP_TX_QUEUE_ENTRY_LIFETIME_INF   ZB_MAX_TIME_VAL

§ ZB_GP_TX_QUEUE_ENTRY_LIFETIME_NONE

#define ZB_GP_TX_QUEUE_ENTRY_LIFETIME_NONE   ZB_MIN_TIME_VAL

§ ZB_GPDF_CMD_LVL_CTRL_STOP

#define ZB_GPDF_CMD_LVL_CTRL_STOP   ZB_GPDF_CMD_LC_STOP

§ ZB_GPDF_CMD_MOVE_DOWN_WITH_ON_OFF

#define ZB_GPDF_CMD_MOVE_DOWN_WITH_ON_OFF   ZB_GPDF_CMD_MOVE_DOWN_W_ONOFF

§ ZB_GPDF_CMD_MOVE_STEP_OFF

#define ZB_GPDF_CMD_MOVE_STEP_OFF   ZB_GPDF_CMD_STEP_DOWN_W_ONOFF

§ ZB_GPDF_CMD_MOVE_STEP_ON

#define ZB_GPDF_CMD_MOVE_STEP_ON   ZB_GPDF_CMD_STEP_UP_W_ONOFF

§ ZB_GPDF_CMD_MOVE_UP_WITH_ON_OFF

#define ZB_GPDF_CMD_MOVE_UP_WITH_ON_OFF   ZB_GPDF_CMD_MOVE_UP_W_ONOFF

§ ZB_GPDF_CMD_STORE_SCENE0

#define ZB_GPDF_CMD_STORE_SCENE0   ZB_GPDF_CMD_RECALL_SCENE8

§ ZB_GPDF_CMD_STORE_SCENE1

#define ZB_GPDF_CMD_STORE_SCENE1   ZB_GPDF_CMD_RECALL_SCENE9

§ ZB_GPDF_CMD_STORE_SCENE2

#define ZB_GPDF_CMD_STORE_SCENE2   ZB_GPDF_CMD_RECALL_SCENE10

§ ZB_GPDF_CMD_STORE_SCENE3

#define ZB_GPDF_CMD_STORE_SCENE3   ZB_GPDF_CMD_RECALL_SCENE11

§ ZB_ZGP_FILL_GP_PAIRING_OPTIONS

#define ZB_ZGP_FILL_GP_PAIRING_OPTIONS (   app_id,
  add_sink,
  remove_gpd,
  comm_mode,
  gpd_fixed,
  gpd_mac_sec_num_cap,
  sec_lvl,
  sec_key_type,
  frame_cnt_prsnt,
  gpd_sec_key_prsnt,
  assigned_alias_prsnt,
  frwrd_radius_prsnt 
)    (((app_id) & 7) | ((!!(add_sink)) << 3) | ((!!(remove_gpd)) << 4) | (((comm_mode) & 3) << 5) | (((!!(add_sink)) ? (!!(gpd_fixed)) : 0) << 7) | (((!!(add_sink)) ? (!!(gpd_mac_sec_num_cap)) : 0) << 8) | (((!!(add_sink)) ? ((sec_lvl) & 3) : 0) << 9) | (((!!(add_sink)) ? ((sec_key_type) & 7) : 0) << 11) | ((!!(frame_cnt_prsnt)) << 14) | (((!!(add_sink)) ? (!!(gpd_sec_key_prsnt)) : 0) << 15) | (((!!(add_sink)) ? (!!(assigned_alias_prsnt)) : 0) << 16) | (((!!(add_sink)) ? (!!(frwrd_radius_prsnt)) : 0) << 17))

Setup options for zb_zgp_cluster_gp_pairing_req()

Parameters
app_id[in] ZGPD application id (
See also
zb_zgp_app_id_t)
Parameters
add_sink[in] Add sink flag
remove_gpd[in] Remove GPD flag
comm_mode[in] Communication mode (
See also
zgp_communication_mode_t)
Parameters
gpd_fixed[in] ZGPD is fixed
gpd_mac_sec_num_cap[in] MAC sequence number capability
sec_lvl[in] SecurityLevel (
See also
zb_zgp_security_level_e)
Parameters
sec_key_type[in] SecurityKeyType (
See also
zb_zgp_security_key_type_e)
Parameters
gpd_sec_key_prsnt[in] Is key presented
assigned_alias_prsnt[in] Is assigned alias presented
frwrd_radius_prsnt[in] Is radius in the groupcast forwarding presented
See also
ZGP spec, A.3.3.5.2

§ ZB_ZGP_FILL_PROXY_COMM_MODE_OPTIONS

#define ZB_ZGP_FILL_PROXY_COMM_MODE_OPTIONS (   action,
  exit_mode,
  ch_present,
  communication 
)    ((!!(action)) | (((exit_mode) & 7) << 1) | ((!!(ch_present)) << 4) | (((communication)&3) << 5))

Setup options for zb_zgp_cluster_proxy_commissioning_mode_req()

Parameters
action[in] enter/exit (see zgp_proxy_comm_mode_action_t)
exit_mode[in] exit mode (see zgp_commissioning_exit_mode_t)
ch_present[in] is channel present (see zgp_proxy_comm_mode_ch_present_t)
communication[in] communication type (see zgp_proxy_comm_mode_communication_t)

§ ZB_ZGP_LVL_CTRL_SWITCH_DEV_ID

#define ZB_ZGP_LVL_CTRL_SWITCH_DEV_ID   ZB_ZGP_LEVEL_CONTROL_SWITCH_DEV_ID

§ ZGP_GP_SET_SHARED_SECURITY_KEY_TYPE

#define ZGP_GP_SET_SHARED_SECURITY_KEY_TYPE (   type)    zgp_gp_set_shared_security_key_type(type)

Typedef Documentation

§ zgp_app_descr_status_t

§ zgp_app_tbl_ent_info_t

§ zgp_app_tbl_ent_options_t

§ zgp_app_tbl_ent_t

§ zgp_approve_comm_params_t

GPD Commissioning params for Application approval.

§ zgp_cluster_app_zcl_cmd_handler_t

typedef zb_uint8_t(* zgp_cluster_app_zcl_cmd_handler_t) (zb_uint8_t buf_ref)

§ zgp_pair_group_list_t

§ zgp_proxy_comm_mode_action_t

§ zgp_proxy_comm_mode_ch_present_t

§ zgp_proxy_comm_mode_communication_t

§ zgp_raw_report_desc_t

Raw report descriptor received from the GPD.

§ zgp_runtime_app_tbl_ent_t

§ zgp_tbl_ent_t

typedef struct zgp_tbl_ent_s zgp_tbl_ent_t

Enumeration Type Documentation

§ zb_zgp_data_handle_e

Enumerator
ZB_ZGP_HANDLE_DEFAULT_HANDLE 
ZB_ZGP_HANDLE_REMOVE_CHANNEL_CONFIG 
ZB_ZGP_HANDLE_REMOVE_COMMISSIONING_REPLY 
ZB_ZGP_HANDLE_ADD_COMMISSIONING_REPLY 
ZB_ZGP_HANDLE_ADD_CHANNEL_CONFIG 
ZB_ZGP_HANDLE_REMOVE_AFTER_FAILED_COMM 
ZB_ZGP_HANDLE_REMOVE_BY_USER_REQ 
ZB_ZGP_HANDLE_APP_DATA 

The first handle that can be used by application for gp-data.req primitives. Application may use any greater or equal handle value to match request with confirmation.

See also
zb_zgps_send_data().

§ zgp_app_descr_status_e

Enumerator
ZGP_APP_TBL_ENT_STATUS_FREE 
ZGP_APP_TBL_ENT_STATUS_INIT_WITH_SW_INFO 
ZGP_APP_TBL_ENT_STATUS_INIT 
ZGP_APP_TBL_ENT_STATUS_APP_DESCR_PROCESS 
ZGP_APP_TBL_ENT_STATUS_COMPLETE 

§ zgp_gp_attr_e

Zigbee Green Power Cluster Attributes IDs

Enumerator
ZB_ZCL_ATTR_GPS_MAX_SINK_TABLE_ENTRIES_ID 
ZB_ZCL_ATTR_GPS_SINK_TABLE_ID 
ZB_ZCL_ATTR_GPS_COMMUNICATION_MODE_ID 
ZB_ZCL_ATTR_GPS_COMMISSIONING_EXIT_MODE_ID 
ZB_ZCL_ATTR_GPS_COMMISSIONING_WINDOW_ID 
ZB_ZCL_ATTR_GPS_SECURITY_LEVEL_ID 
ZB_ZCL_ATTR_GPS_FUNCTIONALITY_ID 
ZB_ZCL_ATTR_GPS_ACTIVE_FUNCTIONALITY_ID 
ZB_ZCL_ATTR_GPP_MAX_PROXY_TABLE_ENTRIES_ID 
ZB_ZCL_ATTR_GPP_PROXY_TABLE_ID 
ZB_ZCL_ATTR_GPP_NOTIFICATION_RETRY_NUMBER_ID 
ZB_ZCL_ATTR_GPP_NOTIFICATION_RETRY_TIMER_ID 
ZB_ZCL_ATTR_GPP_MAX_SEARCH_COUNTER_ID 
ZB_ZCL_ATTR_GPP_BLOCKED_GPDID_ID 
ZB_ZCL_ATTR_GPP_FUNCTIONALITY_ID 
ZB_ZCL_ATTR_GPP_ACTIVE_FUNCTIONALITY_ID 
ZB_ZCL_ATTR_GP_SHARED_SECURITY_KEY_TYPE_ID 
ZB_ZCL_ATTR_GP_SHARED_SECURITY_KEY_ID 
ZB_ZCL_ATTR_GP_LINK_KEY_ID 

§ zgp_proxy_comm_mode_action_e

Enumerator
ZGP_PROXY_COMM_MODE_LEAVE 
ZGP_PROXY_COMM_MODE_ENTER 

§ zgp_proxy_comm_mode_ch_present_e

Enumerator
ZGP_PROXY_COMM_MODE_CHANNEL_PRESENT 
ZGP_PROXY_COMM_MODE_CHANNEL_NOT_PRESENT 

§ zgp_proxy_comm_mode_communication_e

Enumerator
ZGP_PROXY_COMM_MODE_BROADCAST 
ZGP_PROXY_COMM_MODE_UNICAST 

Function Documentation

§ zb_zgp_cluster_gp_pairing_req()

void zb_zgp_cluster_gp_pairing_req ( zb_uint8_t  param,
zb_uint16_t  dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint32_t  options,
zb_zgpd_addr_t  gpd_id,
zb_uint8_t  endpoint,
zb_uint8_t  dev_id,
zb_uint32_t  sec_frame_counter,
zb_uint8_t key,
zb_uint16_t  assigned_alias,
zb_uint8_t  frwd_radius,
zb_uint16_t  group_id,
zb_callback_t  cb 
)

Perform GP Pairing request.

Parameters
param[in] Buffer reference
dst_addr[in] Destination address
dst_addr_mode[in] Destination address mode
options[in] Request options
gpd_id[in] ZGPD ID
endpoint[in] Endpoint of ZGPD if APP_ID eq 0010
dev_id[in] Device ID
sec_frame_counter[in] Security frame counter of ZGPD
key[in] Pointer to the security key
assigned_alias[in] Assigned alias in the groupcast forwarding of the GPDF packet
frwd_radius[in] Radius in the groupcast forwarding of the GPDF packet
cb[in] Callback call if needed after send request
See also
ZGP spec, A.3.3.5.2

§ zb_zgp_cluster_proxy_commissioning_mode_req()

void zb_zgp_cluster_proxy_commissioning_mode_req ( zb_uint8_t  param,
zb_uint8_t  options,
zb_uint16_t  comm_wind,
zb_uint8_t  channel,
zb_callback_t  cb 
)

Perform Proxy Commissioning mode request.

Parameters
param[in] Buffer reference
options[in] Request options (see ZB_ZGP_FILL_PROXY_COMM_MODE_OPTIONS)
comm_wind[in] Commissioning window
channel[in] Channel where perform commissioning (0x0b for channel 11)
cb[in] Callback call if needed after send request
See also
ZGP spec, A.3.3.5.3

§ zgp_cluster_read_attr()

void zgp_cluster_read_attr ( zb_uint8_t  buf_ref,
zb_uint16_t  dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint16_t  attr_id,
zb_uint8_t  dir,
zb_uint8_t  def_resp,
zb_callback_t  cb 
)

Perform send general zcl read attribute command for ZGP cluster.

Parameters
buf_ref[in] Buffer reference
dst_addr[in] Destination address
dst_addr_mode[in] Destination address mode
attr_id[in] Attribute ID
def_resp[in] Enable ZCL default response if TRUE
cb[in] Call callback if needed after sending request

§ zgp_cluster_read_attrs()

void zgp_cluster_read_attrs ( zb_uint8_t  buf_ref,
zb_uint16_t  dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint16_t attr_ids,
zb_uint8_t  attr_cnt,
zb_uint8_t  dir,
zb_uint8_t  def_resp,
zb_callback_t  cb 
)

Perform send general zcl read attributes command for ZGP cluster.

Parameters
buf_ref[in] Buffer reference
dst_addr[in] Destination address
dst_addr_mode[in] Destination address mode
attr_ids[in] Attribute IDs list
attr_cnt[in] Attribute IDs list size
def_resp[in] Enable ZCL default response if TRUE
cb[in] Call callback if needed after sending request

§ zgp_cluster_send_gp_proxy_table_request()

void zgp_cluster_send_gp_proxy_table_request ( zb_uint8_t  buf_ref,
zb_uint16_t  dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint8_t  options,
zb_zgpd_id_t zgpd_id,
zb_uint8_t  index,
zb_callback_t  cb 
)

Perform send zcl gp proxy table request for ZGP cluster.

Parameters
buf_ref[in] Buffer reference
dst_addr[in] Destination address
dst_addr_mode[in] Destination address mode
options[in] Request options
zgpd_id[in] Pointer to ZGPD ID
index[in] The Index field carries the index value of the Proxy Table entry is requested
cb[in] Call callback if needed after sending request
See also
ZGP spec, A.3.4.3.1

§ zgp_cluster_send_gp_sink_table_request()

void zgp_cluster_send_gp_sink_table_request ( zb_uint8_t  buf_ref,
zb_uint16_t  dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint8_t  options,
zb_zgpd_id_t zgpd_id,
zb_uint8_t  index,
zb_callback_t  cb 
)

Perform send zcl gp sink table request for ZGP cluster.

Parameters
buf_ref[in] Buffer reference
dst_addr[in] Destination address
dst_addr_mode[in] Destination address mode
options[in] Request options
zgpd_id[in] Pointer to ZGPD ID
index[in] The Index field carries the index value of the Sink Table entry is requested
cb[in] Call callback if needed after sending request
See also
ZGP spec, A.3.3.4.7

§ zgp_cluster_send_proxy_commissioning_mode_enter_req()

void zgp_cluster_send_proxy_commissioning_mode_enter_req ( zb_uint8_t  param,
zb_uint8_t  exit_mode,
zb_uint16_t  comm_window,
zb_callback_t  cb 
)

Perform Proxy Commissioning mode enter request.

Parameters
param[in] Buffer reference
exit_mode[in] exit mode (see zgp_commissioning_exit_mode_t)
comm_wind[in] Commissioning window
cb[in] Callback call if needed after send request
See also
ZGP spec, A.3.3.5.3

§ zgp_cluster_send_proxy_commissioning_mode_leave_req()

void zgp_cluster_send_proxy_commissioning_mode_leave_req ( zb_uint8_t  param,
zb_callback_t  cb 
)

Perform Proxy Commissioning mode leave request.

Parameters
param[in] Buffer reference
cb[in] Callback call if needed after send request
See also
ZGP spec, A.3.3.5.3

§ zgp_cluster_set_app_zcl_cmd_handler()

void zgp_cluster_set_app_zcl_cmd_handler ( zgp_cluster_app_zcl_cmd_handler_t  handler)

Setup specific application zcl command handler for test purpose.

Parameters
handler[in] Specific application zcl command handler pointer

§ zgp_cluster_write_attr()

void zgp_cluster_write_attr ( zb_uint8_t  buf_ref,
zb_uint16_t  dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint16_t  attr_id,
zb_uint8_t  attr_type,
zb_uint8_t attr_val,
zb_uint8_t  dir,
zb_uint8_t  def_resp,
zb_callback_t  cb 
)

Perform send general zcl write attribute command for ZGP cluster.

Parameters
buf_ref[in] Buffer reference
dst_addr[in] Destination address
dst_addr_mode[in] Destination address mode
attr_id[in] Attribute ID
attr_type[in] Attribute type
attr_val[in] Pointer to attribute value
def_resp[in] Enable ZCL default response if TRUE
cb[in] Call callback if needed after sending request

§ zgp_gp_set_shared_security_key_type()

void zgp_gp_set_shared_security_key_type ( enum zb_zgp_security_key_type_e  type)