Logo
Developing with ZBOSS for Zigbee
zb_zcl_calendar.h File Reference
#include "zboss_api_core.h"
#include "zboss_api_aps.h"
#include "zb_zcl_common.h"

Data Structures

struct  zb_zcl_calendar_get_calendar_payload_s
 
struct  zb_zcl_calendar_publish_calendar_payload_s
 
struct  zb_zcl_calendar_day_schedule_entries_s
 
struct  zb_zcl_calendar_publish_day_profile_payload_s
 
struct  zb_zcl_calendar_publish_week_profile_payload_s
 
struct  zb_zcl_calendar_season_entry_payload_s
 
struct  zb_zcl_calendar_publish_seasons_payload_s
 
struct  zb_zcl_calendar_cancel_calendar_payload_s
 
struct  zb_zcl_calendar_special_day_entry_s
 
struct  zb_zcl_calendar_publish_special_days_payload_s
 
struct  zb_zcl_calendar_get_day_profiles_payload_s
 
struct  zb_zcl_calendar_get_week_profiles_payload_s
 
struct  zb_zcl_calendar_get_seasons_payload_s
 
struct  zb_zcl_calendar_get_special_days_payload_s
 

Macros

#define ZB_ZCL_CLUSTER_ID_CALENDAR_SERVER_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_CALENDAR_CLIENT_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_CALENDAR_SERVER_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_CALENDAR_CLIENT_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CLUSTER_ID_CALENDAR_SERVER_ROLE_RECEIVED_CMD_LIST   ZB_ZCL_CLUSTER_ID_CALENDAR_CLIENT_ROLE_GENERATED_CMD_LIST
 
#define ZB_ZCL_CALENDAR_CALENDAR_TYPE_IS_VALID(_t)   (!((_t > ZB_ZCL_CALENDAR_TYPE_AUXILLARY_LOAD_SWITCH_CALENDAR)&&(_t < 0xff)))
 
#define ZB_ZCL_CALENDAR_CLUSTER_REVISION_DEFAULT   ((zb_uint16_t)0x0001u)
 Default value for Calendar cluster revision global attribute. More...
 
#define ZB_ZCL_DECLARE_CALENDAR_ATTR_LIST(attr_list)
 Declare attribute list for Calendar cluster (only cluster revision attribute) More...
 
#define ZB_ZCL_CALENDAR_GET_CALENDAR_PL_INIT   (zb_zcl_calendar_get_calendar_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_GET_DAY_PROFILES_PL_INIT   (zb_zcl_calendar_get_day_profiles_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_GET_WEEK_PROFILES_PL_INIT   (zb_zcl_calendar_get_week_profiles_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_GET_SEASONS_PL_INIT   (zb_zcl_calendar_get_seasons_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_GET_SPECIAL_DAYS_PL_INIT   (zb_zcl_calendar_get_special_days_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_GET_CALENDAR_PL_SIZE_IS_VALID(size)   ((size >= sizeof(zb_zcl_calendar_get_calendar_payload_t) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_GET_DAY_PROFILES_PL_SIZE_IS_VALID(size)   ((size >= sizeof(zb_zcl_calendar_get_day_profiles_payload_t) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_GET_WEEK_PROFILES_PL_SIZE_IS_VALID(size)   ((size >= sizeof(zb_zcl_calendar_get_week_profiles_payload_t) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_GET_SEASONS_PL_SIZE_IS_VALID(size)   ((size >= sizeof(zb_zcl_calendar_get_seasons_payload_t) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_GET_SPECIAL_DAYS_PL_SIZE_IS_VALID(size)   ((size >= sizeof(zb_zcl_calendar_get_special_days_payload_t) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_PUBLISH_CALENDAR_PL_INIT   (zb_zcl_calendar_publish_calendar_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_PUBLISH_DAY_PROFILE_PL_INIT   (zb_zcl_calendar_publish_day_profile_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_PUBLISH_WEEK_PROFILE_PL_INIT   (zb_zcl_calendar_publish_week_profile_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_PUBLISH_SEASONS_PL_INIT   (zb_zcl_calendar_publish_seasons_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_PUBLISH_SPECIAL_DAYS_PL_INIT   (zb_zcl_calendar_publish_special_days_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_CANCEL_CALENDAR_PL_INIT   (zb_zcl_calendar_cancel_calendar_payload_t) {0}
 
#define ZB_ZCL_CALENDAR_PUBLISH_CALENDAR_PL_EXPECTED_SIZE(pl)   (sizeof(zb_zcl_calendar_publish_calendar_payload_t)-sizeof((pl)->calendar_name)+1+ZB_ZCL_GET_STRING_LENGTH((pl)->calendar_name))
 
#define ZB_ZCL_CALENDAR_PUBLISH_CALENDAR_PL_SIZE_IS_VALID(pl, size)   ((size >= ZB_ZCL_CALENDAR_PUBLISH_CALENDAR_PL_EXPECTED_SIZE(pl)) ? ZB_TRUE : ZB_FALSE)
 
#define ZB_ZCL_CALENDAR_PUBLISH_DAY_PROFILE_PL_SIZE_IS_VALID(size)   ((size >= (sizeof(zb_zcl_calendar_publish_day_profile_payload_t)-sizeof(void *)-sizeof(zb_uint8_t)) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_PUBLISH_WEEK_PROFILE_PL_SIZE_IS_VALID(size)   ((size >= sizeof(zb_zcl_calendar_publish_week_profile_payload_t) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_PUBLISH_SEASONS_PL_SIZE_IS_VALID(size)   ((size >= (sizeof(zb_zcl_calendar_publish_seasons_payload_t)-sizeof(void *)-sizeof(zb_uint8_t)) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_PUBLISH_SPECIAL_DAYS_PL_SIZE_IS_VALID(size)   ((size >= (sizeof(zb_zcl_calendar_publish_special_days_payload_t)-sizeof(void *)-sizeof(zb_uint8_t)) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_CANCEL_CALENDAR_PL_SIZE_IS_VALID(size)   ((size >= sizeof(zb_zcl_calendar_cancel_calendar_payload_t) ? ZB_TRUE : ZB_FALSE))
 
#define ZB_ZCL_CALENDAR_SEND_CMD_PUBLISH_CALENDAR(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_PUBLISH_DAY_PROFILE(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_PUBLISH_WEEK_PROFILE(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_PUBLISH_SEASONS(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_PUBLISH_SPECIAL_DAYS(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_CANCEL_CALENDAR(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_GET_CALENDAR(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_GET_DAY_PROFILES(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_GET_WEEK_PROFILES(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_GET_SEASONS(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_GET_SPECIAL_DAYS(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CALENDAR_SEND_CMD_GET_CALENDAR_CANCELLATION(_param, _dst_addr, _addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_CLUSTER_ID_CALENDAR_SERVER_ROLE_INIT   zb_zcl_calendar_init_server
 
#define ZB_ZCL_CLUSTER_ID_CALENDAR_CLIENT_ROLE_INIT   zb_zcl_calendar_init_client
 

Typedefs

typedef enum zb_zcl_calendar_srv_attr_sets_e zb_zcl_calendar_srv_attr_sets_t
 
typedef enum zb_zcl_calendar_srv_auxiliary_switch_attr_set_e zb_zcl_calendar_srv_auxiliary_switch_attr_set_t
 
typedef enum zb_zcl_calendar_cli_cmd_e zb_zcl_calendar_cli_cmd_t
 
typedef enum zb_zcl_calendar_srv_cmd_e zb_zcl_calendar_srv_cmd_t
 
typedef enum zb_zcl_calendar_calendar_type_e zb_zcl_calendar_calendar_type_t
 
typedef struct zb_zcl_calendar_get_calendar_payload_s zb_zcl_calendar_get_calendar_payload_t
 
typedef enum zb_zcl_calendar_calendar_time_reference_e zb_zcl_calendar_calendar_time_reference_t
 
typedef struct zb_zcl_calendar_publish_calendar_payload_s zb_zcl_calendar_publish_calendar_payload_t
 
typedef struct zb_zcl_calendar_day_schedule_entries_s zb_zcl_calendar_day_schedule_entries_t
 
typedef struct zb_zcl_calendar_publish_day_profile_payload_s zb_zcl_calendar_publish_day_profile_payload_t
 
typedef struct zb_zcl_calendar_publish_week_profile_payload_s zb_zcl_calendar_publish_week_profile_payload_t
 
typedef struct zb_zcl_calendar_season_entry_payload_s zb_zcl_calendar_season_entry_payload_t
 
typedef struct zb_zcl_calendar_publish_seasons_payload_s zb_zcl_calendar_publish_seasons_payload_t
 
typedef struct zb_zcl_calendar_cancel_calendar_payload_s zb_zcl_calendar_cancel_calendar_payload_t
 
typedef struct zb_zcl_calendar_special_day_entry_s zb_zcl_calendar_special_day_entry_t
 
typedef struct zb_zcl_calendar_publish_special_days_payload_s zb_zcl_calendar_publish_special_days_payload_t
 
typedef struct zb_zcl_calendar_get_day_profiles_payload_s zb_zcl_calendar_get_day_profiles_payload_t
 
typedef struct zb_zcl_calendar_get_week_profiles_payload_s zb_zcl_calendar_get_week_profiles_payload_t
 
typedef struct zb_zcl_calendar_get_seasons_payload_s zb_zcl_calendar_get_seasons_payload_t
 
typedef struct zb_zcl_calendar_get_special_days_payload_s zb_zcl_calendar_get_special_days_payload_t
 

Enumerations

enum  zb_zcl_calendar_srv_attr_sets_e { ZB_ZCL_CALENDAR_SET_AUXILIARY_SWITCH_LABEL = 0x00 }
 
enum  zb_zcl_calendar_srv_auxiliary_switch_attr_set_e {
  ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_1_LABEL = 0x0000, ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_2_LABEL, ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_3_LABEL, ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_4_LABEL,
  ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_5_LABEL, ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_6_LABEL, ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_7_LABEL, ZB_ZCL_ATTR_CALENDAR_AUX_SWITCH_8_LABEL,
  ZB_ZCL_ATTR_CALENDAR_AUX_LOAD_SWITCH_STATE = 0x0080
}
 
enum  zb_zcl_calendar_cli_cmd_e {
  ZB_ZCL_CALENDAR_CLI_CMD_GET_CALENDAR = 0x00, ZB_ZCL_CALENDAR_CLI_CMD_GET_DAY_PROFILES, ZB_ZCL_CALENDAR_CLI_CMD_GET_WEEK_PROFILES, ZB_ZCL_CALENDAR_CLI_CMD_GET_SEASONS,
  ZB_ZCL_CALENDAR_CLI_CMD_GET_SPECIAL_DAYS, ZB_ZCL_CALENDAR_CLI_CMD_GET_CALENDAR_CANCELLATION
}
 
enum  zb_zcl_calendar_srv_cmd_e {
  ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_CALENDAR = 0x00, ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_DAY_PROFILE, ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_WEEK_PROFILE, ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_SEASONS,
  ZB_ZCL_CALENDAR_SRV_CMD_PUBLISH_SPECIAL_DAYS, ZB_ZCL_CALENDAR_SRV_CMD_CANCEL_CALENDAR
}
 
enum  zb_zcl_calendar_calendar_type_e {
  ZB_ZCL_CALENDAR_TYPE_DELIVERED_CALENDAR = 0x00, ZB_ZCL_CALENDAR_TYPE_RECEIVED_CALENDAR = 0x01, ZB_ZCL_CALENDAR_TYPE_DELIVERED_AND_RECEIVED_CALENDAR = 0x02, ZB_ZCL_CALENDAR_TYPE_FRIENDLY_CREDIT_CALENDAR = 0x03,
  ZB_ZCL_CALENDAR_TYPE_AUXILLARY_LOAD_SWITCH_CALENDAR = 0x04
}
 
enum  zb_zcl_calendar_calendar_time_reference_e { ZB_ZCL_CALENDAR_TIME_REFERENCE_UTC_TIME = 0x00, ZB_ZCL_CALENDAR_TIME_REFERENCE_STANDARD_TIME, ZB_ZCL_CALENDAR_TIME_REFERENCE_LOCAL_TIME }
 

Functions

void zb_zcl_calendar_send_cmd_publish_calendar (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_publish_calendar_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_publish_day_profile (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_publish_day_profile_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_publish_week_profile (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_publish_week_profile_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_publish_seasons (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_publish_seasons_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_publish_special_days (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_publish_special_days_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_get_calendar (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_get_calendar_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_get_day_profiles (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_get_day_profiles_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_get_week_profiles (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_get_week_profiles_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_get_seasons (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_get_seasons_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_get_special_days (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_get_special_days_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_get_calendar_cancellation (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_callback_t cb)
 
void zb_zcl_calendar_send_cmd_cancel_calendar (zb_uint8_t param, const zb_addr_u *dst_addr, zb_aps_addr_mode_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, const zb_zcl_calendar_cancel_calendar_payload_t *pl, zb_callback_t cb)
 
void zb_zcl_calendar_init_server (void)
 
void zb_zcl_calendar_init_client (void)
 

Macro Definition Documentation

§ ZB_ZCL_CLUSTER_ID_CALENDAR_CLIENT_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_CALENDAR_CLIENT_ROLE_INIT   zb_zcl_calendar_init_client

§ ZB_ZCL_CLUSTER_ID_CALENDAR_SERVER_ROLE_INIT

#define ZB_ZCL_CLUSTER_ID_CALENDAR_SERVER_ROLE_INIT   zb_zcl_calendar_init_server

Function Documentation

§ zb_zcl_calendar_init_client()

void zb_zcl_calendar_init_client ( void  )

§ zb_zcl_calendar_init_server()

void zb_zcl_calendar_init_server ( void  )