Logo
Developing with ZBOSS for Zigbee
zb_zcl_drlc.h File Reference

Data Structures

struct  zb_zcl_drlc_lce_payload_s
 
struct  zb_zcl_drlc_cancel_lce_payload_s
 
struct  zb_zcl_drlc_cancel_alce_payload_s
 
struct  zb_zcl_drlc_report_event_status_payload_s
 
struct  zb_zcl_drlc_get_scheduled_events_payload_s
 
struct  zb_zcl_drlc_client_attrs_s
 DRLC client cluster attributes. More...
 

Macros

#define ZB_ZCL_DRLC_CLUSTER_REVISION_DEFAULT   ((zb_uint16_t)0x0002u)
 Default value for DRLC cluster revision global attribute. More...
 
#define ZB_ZCL_DRLC_CLUSTER_REVISION_MAX   ZB_ZCL_DRLC_CLUSTER_REVISION_DEFAULT
 Maximal value for implemented DRLC cluster revision global attribute. More...
 
#define ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT_IS_VALID(size)   ((size) >= sizeof(zb_zcl_drlc_lce_payload_t))
 
#define ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT_IS_VALID(size)   ((size) >= sizeof(zb_zcl_drlc_cancel_lce_payload_t))
 
#define ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS_IS_VALID(size)   ((size) >= sizeof(zb_zcl_drlc_cancel_alce_payload_t))
 
#define ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS_IS_VALID(size)   ((size) >= sizeof(zb_zcl_drlc_report_event_status_payload_t))
 
#define ZB_ZCL_DRLC_LCE_PAYLOAD_INIT
 
#define ZB_ZCL_DRLC_CANCEL_LCE_PAYLOAD_INIT   (zb_zcl_drlc_cancel_lce_payload_t) {0}
 
#define ZB_ZCL_DRLC_CANCEL_ALCE_PAYLOAD_INIT   (zb_zcl_drlc_cancel_alce_payload_t) {0}
 
#define ZB_ZCL_DRLC_REPORT_EVENT_STATUS_PAYLOAD_INIT
 
#define ZB_ZCL_DRLC_GET_SCHEDULED_EVENTS_PAYLOAD_SIZE_IS_VALID(size)
 
#define ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT
 
#define ZB_ZCL_DRLC_SEND_CMD_LOAD_CONTROL_EVENT(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_DRLC_SEND_CMD_CANCEL_LCE(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_DRLC_SEND_CMD_CANCEL_ALL_LCE(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_DRLC_SEND_CMD_GET_SCHEDULED_EVENTS(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_DRLC_SEND_CMD_REPORT_EVENT_STATUS(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_DRLC_SEND_CMD_REPORT_EVENT_STATUS_TSN(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, _tsn)
 
#define ZB_ZCL_DECLARE_DRLC_ATTRIB_LIST(attr_list, utility_enrollment_group, start_randomization_munutes, duration_randomization_minutes, device_class)
 Declare attribute list for DRLC cluster. More...
 
#define ZB_ZCL_DECLARE_DRLC_ATTR_LIST_INIT
 
#define ZB_ZCL_DECLARE_DRLC_ATTR_LIST(attr_list, attrs)
 Declare attribute list for DRLC cluster. More...
 
#define ZB_ZCL_CLUSTER_ID_DRLC_SERVER_ROLE_INIT   zb_zcl_drlc_init_server
 
#define ZB_ZCL_CLUSTER_ID_DRLC_CLIENT_ROLE_INIT   zb_zcl_drlc_init_client
 

Typedefs

typedef enum zb_zcl_drlc_cli_attr_e zb_zcl_drlc_cli_attr_t
 
typedef enum zb_zcl_drlc_criticality_levels_e zb_zcl_drlc_criticality_levels_t
 
typedef enum zb_zcl_drlc_device_class_e zb_zcl_drlc_device_class_t
 
typedef enum zb_zcl_drlc_event_status_e zb_zcl_drlc_event_status_t
 
typedef enum zb_zcl_drlc_signature_type_e zb_zcl_drlc_signature_type_t
 
typedef enum zb_zcl_drlc_srv_cmd_e zb_zcl_drlc_srv_cmd_t
 
typedef enum zb_zcl_drlc_cli_cmd_e zb_zcl_drlc_cli_cmd_t
 
typedef struct zb_zcl_drlc_lce_payload_s zb_zcl_drlc_lce_payload_t
 
typedef struct zb_zcl_drlc_cancel_lce_payload_s zb_zcl_drlc_cancel_lce_payload_t
 
typedef struct zb_zcl_drlc_cancel_alce_payload_s zb_zcl_drlc_cancel_alce_payload_t
 
typedef struct zb_zcl_drlc_report_event_status_payload_s zb_zcl_drlc_report_event_status_payload_t
 
typedef struct zb_zcl_drlc_get_scheduled_events_payload_s zb_zcl_drlc_get_scheduled_events_payload_t
 
typedef struct zb_zcl_drlc_client_attrs_s zb_zcl_drlc_client_attrs_t
 DRLC client cluster attributes. More...
 

Enumerations

enum  zb_zcl_drlc_cli_attr_e { ZB_ZCL_ATTR_DRLC_UTILITY_ENROLLMENT_GROUP = 0x0000, ZB_ZCL_ATTR_DRLC_START_RANDOMIZATION_MINUTES = 0x0001, ZB_ZCL_ATTR_DRLC_DURATION_RANDOMIZATION_MINUTES = 0x0002, ZB_ZCL_ATTR_DRLC_DEVICE_CLASS_VALUE = 0x0003 }
 
enum  zb_zcl_drlc_criticality_levels_e {
  ZB_ZCL_DRLC_CRITICALITY_LEVEL_0 = 0x00, ZB_ZCL_DRLC_CRITICALITY_LEVEL_1, ZB_ZCL_DRLC_CRITICALITY_LEVEL_2, ZB_ZCL_DRLC_CRITICALITY_LEVEL_3,
  ZB_ZCL_DRLC_CRITICALITY_LEVEL_4, ZB_ZCL_DRLC_CRITICALITY_LEVEL_5, ZB_ZCL_DRLC_CRITICALITY_LEVEL_6, ZB_ZCL_DRLC_CRITICALITY_LEVEL_7,
  ZB_ZCL_DRLC_CRITICALITY_LEVEL_8, ZB_ZCL_DRLC_CRITICALITY_LEVEL_9
}
 
enum  zb_zcl_drlc_device_class_e {
  ZB_ZCL_DRLC_DEVICE_CLASS_HVAC = 1 << 0, ZB_ZCL_DRLC_DEVICE_CLASS_STRIP_HEATER = 1 << 1, ZB_ZCL_DRLC_DEVICE_CLASS_WATER_HEATER = 1 << 2, ZB_ZCL_DRLC_DEVICE_CLASS_POOL_PUMP = 1 << 3,
  ZB_ZCL_DRLC_DEVICE_CLASS_SMART_APPLIANCE = 1 << 4, ZB_ZCL_DRLC_DEVICE_CLASS_IRRIGATION_PUMP = 1 << 5, ZB_ZCL_DRLC_DEVICE_CLASS_MCI_LOADS = 1 << 6, ZB_ZCL_DRLC_DEVICE_CLASS_SIMPLE_LOADS = 1 << 7,
  ZB_ZCL_DRLC_DEVICE_CLASS_EXTERIOR_LIGHTNING = 1 << 8, ZB_ZCL_DRLC_DEVICE_CLASS_INTERIOR_LIGHTNING = 1 << 9, ZB_ZCL_DRLC_DEVICE_CLASS_ELECTRIC_VEHICLE = 1 << 10, ZB_ZCL_DRLC_DEVICE_CLASS_GENERATION_SYSTEMS = 1 << 11
}
 
enum  zb_zcl_drlc_event_status_e {
  ZB_ZCL_DRLC_EVENT_RESERVED_00 = 0x00, ZB_ZCL_DRLC_EVENT_LCE_RECEIVED, ZB_ZCL_DRLC_EVENT_EVENT_STARTED, ZB_ZCL_DRLC_EVENT_EVENT_COMPLETED,
  ZB_ZCL_DRLC_EVENT_OPT_OUT, ZB_ZCL_DRLC_EVENT_OPT_IN, ZB_ZCL_DRLC_EVENT_EVENT_CANCELLED, ZB_ZCL_DRLC_EVENT_EVENT_SUPERSEDED,
  ZB_ZCL_DRLC_EVENT_EVENT_PARTIALLY_OPT_OUT, ZB_ZCL_DRLC_EVENT_EVENT_PARTIALLY_OPT_IN, ZB_ZCL_DRLC_EVENT_EVENT_COMPLETED_NO_USER, ZB_ZCL_DRLC_EVENT_RESERVED_0B,
  ZB_ZCL_DRLC_EVENT_RESERVED_F7 = 0xF7, ZB_ZCL_DRLC_EVENT_REJECTED_INVALID_CANCEL_CMD, ZB_ZCL_DRLC_EVENT_REJECTED_INVALID_EFFECTIVE_TIME, ZB_ZCL_DRLC_EVENT_RESERVED_FA,
  ZB_ZCL_DRLC_EVENT_REJECTED_EXPIRED, ZB_ZCL_DRLC_EVENT_RESERVED_FC, ZB_ZCL_DRLC_EVENT_REJECTED_UNDEFINED_EVENT, ZB_ZCL_DRLC_EVENT_REJECTED,
  ZB_ZCL_DRLC_EVENT_RESERVED_FF
}
 
enum  zb_zcl_drlc_signature_type_e { ZB_ZCL_DRLC_LCE_NO_SIGNATURE = 0x00, ZB_ZCL_DRLC_LCE_SIGNATURE_ECDSA, ZB_ZCL_DRLC_LCE_SIGNATURE_RESERVED }
 
enum  zb_zcl_drlc_srv_cmd_e { ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT = 0x00, ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT = 0x01, ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS = 0x02 }
 
enum  zb_zcl_drlc_cli_cmd_e { ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS = 0x00, ZB_ZCL_DRLC_CLI_CMD_GET_SCHEDULED_EVENTS = 0x01 }
 

Functions

void zb_drlc_server_send_load_control_event (zb_uint8_t param, zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_drlc_lce_payload_t *payload, zb_callback_t cb)
 
void zb_drlc_server_send_cancel_load_control_event (zb_uint8_t param, zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_drlc_cancel_lce_payload_t *payload, zb_callback_t cb)
 
void zb_drlc_server_send_cancel_all_load_control_events (zb_uint8_t param, zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_uint8_t *payload, zb_callback_t cb)
 
void zb_drlc_client_send_report_event_status (zb_uint8_t param, zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_drlc_report_event_status_payload_t *payload, zb_callback_t cb)
 
void zb_drlc_client_send_report_event_status_tsn (zb_uint8_t param, zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_drlc_report_event_status_payload_t *payload, zb_uint8_t tsn, zb_callback_t cb)
 
void zb_drlc_client_send_get_scheduled_events (zb_uint8_t param, zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_drlc_get_scheduled_events_payload_t *payload, zb_callback_t cb)
 
void zb_zcl_drlc_init_server (void)
 
void zb_zcl_drlc_init_client (void)
 

Macro Definition Documentation

§ ZB_ZCL_CLUSTER_ID_DRLC_CLIENT_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_DRLC_CLIENT_ROLE_INIT   zb_zcl_drlc_init_client

§ ZB_ZCL_CLUSTER_ID_DRLC_SERVER_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_DRLC_SERVER_ROLE_INIT   zb_zcl_drlc_init_server

Function Documentation

§ zb_zcl_drlc_init_client()

void zb_zcl_drlc_init_client ( void  )

§ zb_zcl_drlc_init_server()

void zb_zcl_drlc_init_server ( void  )

Internal handler for DRLC Cluster commands