Developing with ZBOSS for Zigbee

Data Structures

struct  zb_zcl_drlc_lce_payload_s
 
struct  zb_zcl_drlc_cancel_lce_payload_s
 
struct  zb_zcl_drlc_report_event_status_payload_s
 
struct  zb_zcl_drlc_get_scheduled_events_payload_s
 

Macros

#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_REPORT_EVENT_STATUS_PAYLOAD_INIT
 
#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)
 

Typedefs

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_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
 

Enumerations

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_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)
 

Detailed Description

This section describes all commands structures and data payloads.

Macro Definition Documentation

◆ ZB_ZCL_DRLC_CANCEL_LCE_PAYLOAD_INIT

#define ZB_ZCL_DRLC_CANCEL_LCE_PAYLOAD_INIT   (zb_zcl_drlc_cancel_lce_payload_t) {0}

◆ ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT

#define ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT
Value:
{ \
.issuer_event_id = 0xFFFFFFFF, \
}

Initialize GetScheduledEvents command zb_zcl_drlc_get_scheduled_events_payload_t payload

◆ ZB_ZCL_DRLC_LCE_PAYLOAD_INIT

#define ZB_ZCL_DRLC_LCE_PAYLOAD_INIT
Value:
{ \
.cooling_temperature_offset = 0xFF, \
.heating_temperature_offset = 0xFF, \
.cooling_temperature_set_point = (zb_int16_t) 0x8000, \
.heating_temperature_set_point = (zb_int16_t) 0x8000, \
.average_load_adjustment_percentage = (zb_int8_t) 0x80, \
.duty_cycle = 0xFF, \
}

Initialize LoadControlEvent command zb_zcl_drlc_lce_payload_t payload

◆ ZB_ZCL_DRLC_REPORT_EVENT_STATUS_PAYLOAD_INIT

#define ZB_ZCL_DRLC_REPORT_EVENT_STATUS_PAYLOAD_INIT
Value:
{ \
.cooling_temperature_set_point_applied = (zb_uint16_t) 0x8000, \
.heating_temperature_set_point_applied = (zb_uint16_t) 0x8000, \
.average_load_adjustment_percentage_applied = (zb_int8_t) 0x80, \
.duty_cycle_applied = (zb_uint8_t) 0xFF, \
.signature = \
{ \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
}, \
}

Initialize ReportEventStatus command zb_zcl_drlc_report_event_status_payload_t payload

◆ ZB_ZCL_DRLC_SEND_CMD_CANCEL_ALL_LCE

#define ZB_ZCL_DRLC_SEND_CMD_CANCEL_ALL_LCE (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
_dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, NULL)

Macro for call zb_drlc_server_send_cancel_all_load_control_events function

◆ ZB_ZCL_DRLC_SEND_CMD_CANCEL_LCE

#define ZB_ZCL_DRLC_SEND_CMD_CANCEL_LCE (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
_dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, NULL)

Macro for call zb_drlc_server_send_cancel_load_control_event function

◆ ZB_ZCL_DRLC_SEND_CMD_GET_SCHEDULED_EVENTS

#define ZB_ZCL_DRLC_SEND_CMD_GET_SCHEDULED_EVENTS (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
_dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, NULL)

Macro for call zb_drlc_client_send_get_scheduled_events function

◆ ZB_ZCL_DRLC_SEND_CMD_LOAD_CONTROL_EVENT

#define ZB_ZCL_DRLC_SEND_CMD_LOAD_CONTROL_EVENT (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
_dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, NULL)

Macro for call zb_drlc_server_send_load_control_event function

◆ ZB_ZCL_DRLC_SEND_CMD_REPORT_EVENT_STATUS

#define ZB_ZCL_DRLC_SEND_CMD_REPORT_EVENT_STATUS (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
_dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload, NULL)

Macro for call zb_drlc_client_send_report_event_status function

Typedef Documentation

◆ zb_zcl_drlc_cancel_lce_payload_t

CancelLoadControlEvent command payload

See also
SE spec, Figure D-3

◆ zb_zcl_drlc_cli_cmd_t

Commands are generated by DRLC Client.

See also
SE spec, Table D-8

◆ zb_zcl_drlc_get_scheduled_events_payload_t

◆ zb_zcl_drlc_lce_payload_t

LoadControlEvent command payload.

See also
SE spec, Figure D-2

◆ zb_zcl_drlc_report_event_status_payload_t

◆ zb_zcl_drlc_srv_cmd_t

Commands are generated by DRLC Server.

See also
SE spec, Table D-1

Enumeration Type Documentation

◆ zb_zcl_drlc_cli_cmd_e

Commands are generated by DRLC Client.

See also
SE spec, Table D-8
Enumerator
ZB_ZCL_DRLC_CLI_CMD_REPORT_EVENT_STATUS 

ReportEventStatus is generated when the client device detects a change of state for an active LoadControl event.

See also
zb_zcl_drlc_report_event_status_payload_s
ZB_ZCL_DRLC_CLI_CMD_GET_SCHEDULED_EVENTS 

GetScheduledEvents is generated when the client device wishes to verify the available LoadControl events.

See also
zb_zcl_drlc_get_scheduled_events_payload_s

◆ zb_zcl_drlc_srv_cmd_e

Commands are generated by DRLC Server.

See also
SE spec, Table D-1
Enumerator
ZB_ZCL_DRLC_SRV_CMD_LOAD_CONTROL_EVENT 

LoadControlEvent is generated when the ESI wants to control one or more load control devices usually as the result of an energy curtailment command from the Smart Energy Network.

See also
zb_zcl_drlc_lce_payload_s
ZB_ZCL_DRLC_SRV_CMD_CANCEL_LOAD_CONTROL_EVENT 

CancelLoadControlEvent is generated when the ESI wants to cancel previously scheduled control of one or more load control devices, usually as the result of an energy curtailment command from the Smart Energy Network

See also
zb_zcl_drlc_cancel_lce_payload_s
ZB_ZCL_DRLC_SRV_CMD_CANCEL_ALL_LOAD_CONTROL_EVENTS 

CancellAllLoadControlEvents is generated when the ESI wants to cancel all events for control device(s)

Function Documentation

◆ zb_drlc_client_send_get_scheduled_events()

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 
)

Function for send GetScheduledEvents command. On receiver's side callback ZCL device callback ZB_ZCL_REGISTER_DEVICE_CB will be called with ZB_ZCL_DRLC_GET_SCHEDULED_EVENTS_CB_ID callback id.

Parameters
param- Reference to buffer.
dst_addr- Address of the device to send command to.
dst_addr_mode- Address mode for dst_addr.
dst_ep- Destination endpoint.
src_ep- Current endpoint.
payload- Packet payload (zb_zcl_drlc_get_scheduled_events_payload_t).
cb- Callback which should be called when the ZCL stack receives APS ack.
Usage

Example of sending GetScheduledEvents
static void ihd_dev_cmd_get_scheduled_events(zb_uint8_t param, zb_uint16_t user_param)
{
TRACE_MSG(TRACE_APP1, ">> ihd_dev_cmd_get_scheduled_events, param=%hd",(FMT__H, param));
if (!param)
{
zb_buf_get_out_delayed_ext(ihd_dev_cmd_get_scheduled_events, user_param, 0);
}
else
{
zb_uint32_t curr_time;
curr_time = ihd_dev_get_network_time(); /* NOTE: current function is called after time sync */
payload.start_time = curr_time; /* (M) */
payload.number_of_events = 0; /* (M) */
(zb_addr_u *)&g_dev_ctx.dev.lst[user_param].dev_addr,
g_dev_ctx.dev.lst[user_param].dev_ep,
IHD_DEV_ENDPOINT,
&payload);
}
TRACE_MSG(TRACE_APP1, "<< ihd_dev_cmd_get_scheduled_events", (FMT__0));
}

◆ zb_drlc_client_send_report_event_status()

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 
)

Function for send ReportEventStatus command. On sender's side callback ZCL device callback ZB_ZCL_REGISTER_DEVICE_CB will be called with one of ZB_ZCL_DRLC_LOAD_CONTROL_EVENT_CB_ID, ZB_ZCL_DRLC_CANCEL_LOAD_CONTROL_EVENT_CB_ID, ZB_ZCL_DRLC_CANCEL_ALL_LOAD_CONTROL_EVENTS_CB_ID callback ids on reception of LoadControlEvent, CancelLoadControlEvent, CancellAllLoadControlEvents commands respectively.
On receiver's side callback ZCL device callback ZB_ZCL_REGISTER_DEVICE_CB will be called with ZB_ZCL_DRLC_REPORT_EVENT_STATUS_CB_ID callback id.

Parameters
param- Reference to buffer.
dst_addr- Address of the device to send command to.
dst_addr_mode- Address mode for dst_addr.
dst_ep- Destination endpoint.
src_ep- Current endpoint.
payload- Packet payload (zb_zcl_drlc_report_event_status_payload_t).
cb- Callback which should be called when the ZCL stack receives APS ack.
Usage

Handle CancellAllLoadControlEvents command
/** Handle received DRLC - Cancel All Load Control Events command. */
static void ihd_handle_cancel_all_load_control_events(zb_uint8_t cancel_control, const zb_zcl_parsed_hdr_t *in_cmd_info)
{
zb_ieee_addr_t ieee_addr;
zb_uint8_t dev_idx;
if (zb_address_ieee_by_short(ZB_ZCL_PARSED_HDR_SHORT_DATA(in_cmd_info).source.u.short_addr, ieee_addr) == RET_OK)
{
dev_idx = ihd_dev_get_idx(ieee_addr,
in_cmd_info->cluster_id,
ZB_ZCL_PARSED_HDR_SHORT_DATA(in_cmd_info).src_endpoint);
TRACE_MSG(TRACE_APP1, ">> ihd_handle_cancel_all_load_control_events(cancel_control=0x%hx) <<",
(FMT__H, cancel_control));
if (dev_idx != 0xFF && ZB_ZCL_PARSED_HDR_SHORT_DATA(in_cmd_info).source.u.short_addr ==
zb_address_short_by_ieee(g_dev_ctx.dev.lst[dev_idx].dev_addr))
{
TRACE_MSG(TRACE_APP1, "cancel all events from binded drlc, schedule event_status", (FMT__0));
ZB_SCHEDULE_APP_CALLBACK2(ihd_send_report_event_status, 0, dev_idx);
}
}
}

Example of sending ReportEventStatus command
/** Send DRLC - Report Event Status command. */
void ihd_send_report_event_status(zb_uint8_t param, zb_uint16_t user_param)
{
TRACE_MSG(TRACE_APP1, ">> ihd_send_report_event_status param %hd", (FMT__H, param));
if (!param)
{
zb_buf_get_out_delayed_ext(ihd_send_report_event_status, user_param, 0);
}
else
{
ZB_ASSERT(g_dev_ctx.dev.lst[user_param].used);
/*Here we must get events if present and pass them to client*/
payload.issuer_event_id = 0x01; /* (M) */
payload.event_status_time = ihd_dev_get_network_time(); /* (M) */
payload.criticality_level_applied = 0x22; /* (M) */
payload.event_control = 0xbc; /* (M) */
param,
(zb_addr_u *)&g_dev_ctx.dev.lst[user_param].dev_addr,
g_dev_ctx.dev.lst[user_param].dev_ep,
IHD_DEV_ENDPOINT,
&payload);
}
TRACE_MSG(TRACE_APP1, "<< ihd_send_report_event_status", (FMT__0));
}

◆ zb_drlc_server_send_cancel_all_load_control_events()

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 
)

Function for send CancellAllLoadControlEvents command. On receiver's side callback ZCL device callback ZB_ZCL_REGISTER_DEVICE_CB will be called with ZB_ZCL_DRLC_CANCEL_ALL_LOAD_CONTROL_EVENTS_CB_ID

Parameters
param- Reference to buffer.
dst_addr- Address of the device to send command to.
dst_addr_mode- Address mode for dst_addr.
dst_ep- Destination endpoint.
src_ep- Current endpoint.
payload- Packet payload: pointer to zb_uint8_t, where "Cancel Control" field value is placed (see SE spec, D.2.2.3.3.1).
cb- Callback which should be called when the ZCL stack receives APS ack.
Usage

Example of sending CancellAllLoadControlEvents command
/** Send DRLC - Cancel All Load Control Events command. */
static void esi_dev_cmd_send_lce_event3(zb_uint8_t param)
{
zb_uint8_t cancel_control;
if (!param)
{
zb_buf_get_out_delayed(esi_dev_cmd_send_lce_event3);
}
else
{
cancel_control = 0;
&g_dev_ctx.drlc_client_address,
g_dev_ctx.drlc_client_ep,
ESI_DEV_ENDPOINT,
&cancel_control);
ZB_SCHEDULE_APP_ALARM(esi_dev_cmd_send_lce_event1, 0, ESI_LOAD_CONTROL_EVENT_GROUP_TIMEOUT);
}
}

◆ zb_drlc_server_send_cancel_load_control_event()

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 
)

Function for send CancelLoadControlEvent command. On receiver's side callback ZCL device callback ZB_ZCL_REGISTER_DEVICE_CB will be called with ZB_ZCL_DRLC_CANCEL_LOAD_CONTROL_EVENT_CB_ID

Parameters
param- Reference to buffer.
dst_addr- Address of the device to send command to.
dst_addr_mode- Address mode for dst_addr.
dst_ep- Destination endpoint.
src_ep- Current endpoint.
payload- Packet payload (zb_zcl_drlc_cancel_lce_payload_t).
cb- Callback which should be called when the ZCL stack receives APS ack.
Usage

Example of sending CancelLoadControlEvent command
/** Send DRLC - Cancel Load Control Event command. */
static void esi_dev_cmd_send_lce_event2(zb_uint8_t param)
{
if (!param)
{
zb_buf_get_out_delayed(esi_dev_cmd_send_lce_event2);
}
else
{
payload.issuer_event_id = 0x01;
payload.utility_enrollment_group = 0x88;
payload.cancel_control = 0;
payload.effective_time = 0; /* 0 means now */
/* Note: effective_time: This field is deprecated; a Cancel Load Control command shall
* now take immediate effect. A value of 0x00000000 shall be used in all Cancel Load Control
* commands. */
&g_dev_ctx.drlc_client_address,
g_dev_ctx.drlc_client_ep,
ESI_DEV_ENDPOINT,
&payload);
ZB_SCHEDULE_APP_ALARM(esi_dev_cmd_send_lce_event3, 0, ESI_LOAD_CONTROL_EVENT_TIMEOUT);
}
}

◆ zb_drlc_server_send_load_control_event()

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 
)

Function for send LoadControlEvent command. On sender's side callback ZCL device callback ZB_ZCL_REGISTER_DEVICE_CB will be called with ZB_ZCL_DRLC_GET_SCHEDULED_EVENTS_CB_ID callback id on reception of GetScheduledEvents command.
On receiver's side callback ZCL device callback ZB_ZCL_REGISTER_DEVICE_CB will be called with ZB_ZCL_DRLC_LOAD_CONTROL_EVENT_CB_ID callback id.

Parameters
param- Reference to buffer.
dst_addr- Address of the device to send command to.
dst_addr_mode- Address mode for dst_addr.
dst_ep- Destination endpoint.
src_ep- Current endpoint.
payload- Packet payload (zb_zcl_drlc_lce_payload_t).
cb- Callback which should be called when the ZCL stack receives APS ack.
Usage

Handle ZB_ZCL_DRLC_GET_SCHEDULED_EVENTS_CB_ID
/** Get application parameters for DRLC - Get Scheduled Events command.
Now emulate some real values. */
static void handle_get_scheduled_events(
{
TRACE_MSG(TRACE_APP1, ">> handle_get_scheduled_events(in=%p, out=%p) <<", (FMT__P_P, in,out));
TRACE_MSG(TRACE_APP1, "in->start_time = %d", (FMT__D, in->start_time));
TRACE_MSG(TRACE_APP1, "in->number_of_events(0-no limit) = %hd", (FMT__H, in->number_of_events));
TRACE_MSG(TRACE_APP1, "in->issuer_event_id = %x", (FMT__D, in->issuer_event_id));
/*Here we must get events if present and pass them to client*/
out->issuer_event_id = 0x01;
out->start_time = zb_get_utc_time()+3;
out->criticality_level = 0x56;
out->event_control = 0xab;
}

Example of sending LoadControlEvent command
/** Send DRLC - Load Control Event command.
Emulate real device behavior - send Load Control Event, then after 5 sec
(ESI_LOAD_CONTROL_EVENT_TIMEOUT) - Cancel Load Control Event, then after 5 sec - Cancel All
Load Control Events.
Repeat every 60 sec (ESI_LOAD_CONTROL_EVENT_GROUP_TIMEOUT).
*/
static void esi_dev_cmd_send_lce_event1(zb_uint8_t param)
{
if (!param)
{
zb_buf_get_out_delayed(esi_dev_cmd_send_lce_event1);
}
else
{
payload.issuer_event_id = 0x01;
payload.utility_enrollment_group = 0x88;
payload.start_time = zb_get_utc_time();
payload.duration_in_minutes = 1;
payload.criticality_level = 0x56;
payload.event_control = 0xab;
&g_dev_ctx.drlc_client_address,
g_dev_ctx.drlc_client_ep,
ESI_DEV_ENDPOINT,
&payload);
ZB_SCHEDULE_APP_ALARM(esi_dev_cmd_send_lce_event2, 0, ESI_LOAD_CONTROL_EVENT_TIMEOUT);
}
}
ZB_ZCL_DRLC_REPORT_EVENT_STATUS_PAYLOAD_INIT
#define ZB_ZCL_DRLC_REPORT_EVENT_STATUS_PAYLOAD_INIT
Definition: zb_zcl_drlc.h:416
zb_zcl_drlc_get_scheduled_events_payload_s::number_of_events
zb_uint8_t number_of_events
Definition: zb_zcl_drlc.h:389
zb_zcl_drlc_lce_payload_s::criticality_level
zb_uint8_t criticality_level
Definition: zb_zcl_drlc.h:251
zb_zcl_drlc_report_event_status_payload_s::event_status
zb_uint8_t event_status
Definition: zb_zcl_drlc.h:330
zb_int16_t
signed short zb_int16_t
Project-local 2-byte signed int type.
Definition: zb_types.h:155
zb_uint8_t
unsigned char zb_uint8_t
Project-local 1-byte unsigned int type.
Definition: zb_types.h:149
ZB_SCHEDULE_APP_CALLBACK2
#define ZB_SCHEDULE_APP_CALLBACK2(func, param, user_param)
Definition: zboss_api_core.h:333
zb_drlc_server_send_cancel_load_control_event
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)
zb_zcl_drlc_cancel_lce_payload_s::device_class
zb_uint16_t device_class
Definition: zb_zcl_drlc.h:298
zb_buf_get_out_delayed
#define zb_buf_get_out_delayed(callback)
Allocate OUT buffer, call a callback when the buffer is available.
Definition: zboss_api_buf.h:268
zb_zcl_drlc_cancel_lce_payload_s::effective_time
zb_uint32_t effective_time
Definition: zb_zcl_drlc.h:314
zb_zcl_drlc_lce_payload_t
struct zb_zcl_drlc_lce_payload_s zb_zcl_drlc_lce_payload_t
zb_addr_u
Union to address either long or short address.
zb_zcl_drlc_lce_payload_s::start_time
zb_uint32_t start_time
Definition: zb_zcl_drlc.h:240
zb_zcl_drlc_lce_payload_s::event_control
zb_uint8_t event_control
Definition: zb_zcl_drlc.h:278
zb_zcl_drlc_get_scheduled_events_payload_s::start_time
zb_uint32_t start_time
Definition: zb_zcl_drlc.h:384
zb_zcl_parsed_hdr_s
Definition: zb_zcl_common.h:1041
zb_buf_get_out_delayed_ext
#define zb_buf_get_out_delayed_ext(callback, arg, max_size)
Allocate OUT buffer, call a callback when the buffer is available.
Definition: zboss_api_buf.h:302
zb_zcl_drlc_cancel_lce_payload_s
Definition: zb_zcl_drlc.h:285
zb_zcl_drlc_get_scheduled_events_payload_s
Definition: zb_zcl_drlc.h:377
zb_uint32_t
unsigned int zb_uint32_t
Project-local 4-byte unsigned int type.
Definition: zb_types.h:197
ZB_ZCL_DRLC_LCE_NO_SIGNATURE
@ ZB_ZCL_DRLC_LCE_NO_SIGNATURE
Definition: zb_zcl_drlc.h:139
zb_zcl_drlc_report_event_status_payload_s::event_control
zb_uint8_t event_control
Definition: zb_zcl_drlc.h:362
zb_zcl_drlc_report_event_status_payload_t
struct zb_zcl_drlc_report_event_status_payload_s zb_zcl_drlc_report_event_status_payload_t
zb_zcl_drlc_cancel_lce_payload_s::issuer_event_id
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:292
ZB_SCHEDULE_APP_ALARM
#define ZB_SCHEDULE_APP_ALARM(func, param, timeout_bi)
Definition: zboss_api_core.h:356
zb_int8_t
signed char zb_int8_t
Project-local 1-byte signed int type.
Definition: zb_types.h:151
zb_zcl_drlc_lce_payload_s::device_class
zb_uint16_t device_class
Definition: zb_zcl_drlc.h:229
ZB_ZCL_PARSED_HDR_SHORT_DATA
#define ZB_ZCL_PARSED_HDR_SHORT_DATA(header)
Extract common addressing data from parsed ZCL structure.
Definition: zb_zcl_common.h:1105
ZB_APS_ADDR_MODE_64_ENDP_PRESENT
#define ZB_APS_ADDR_MODE_64_ENDP_PRESENT
Definition: zboss_api_aps.h:108
ZB_ZCL_DRLC_SEND_CMD_GET_SCHEDULED_EVENTS
#define ZB_ZCL_DRLC_SEND_CMD_GET_SCHEDULED_EVENTS(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
Definition: zb_zcl_drlc.h:572
ZB_ZCL_DRLC_DEVICE_CLASS_SMART_APPLIANCE
@ ZB_ZCL_DRLC_DEVICE_CLASS_SMART_APPLIANCE
Definition: zb_zcl_drlc.h:98
zb_address_ieee_by_short
zb_ret_t zb_address_ieee_by_short(zb_uint16_t short_addr, zb_ieee_addr_t ieee_address)
zb_drlc_server_send_load_control_event
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)
ZB_ZCL_DRLC_DEVICE_CLASS_POOL_PUMP
@ ZB_ZCL_DRLC_DEVICE_CLASS_POOL_PUMP
Definition: zb_zcl_drlc.h:97
zb_drlc_server_send_cancel_all_load_control_events
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)
zb_ieee_addr_t
zb_64bit_addr_t zb_ieee_addr_t
Long (64-bit) device address.
Definition: zb_types.h:550
ZB_ZCL_DRLC_LCE_PAYLOAD_INIT
#define ZB_ZCL_DRLC_LCE_PAYLOAD_INIT
Definition: zb_zcl_drlc.h:400
zb_zcl_drlc_report_event_status_payload_s::issuer_event_id
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:327
zb_zcl_drlc_cancel_lce_payload_s::utility_enrollment_group
zb_uint8_t utility_enrollment_group
Definition: zb_zcl_drlc.h:304
RET_OK
#define RET_OK
Error codes for non-void stack functions. In general, function can return OK, BLOCKED or some error....
Definition: zb_errors.h:77
zb_zcl_drlc_cancel_lce_payload_s::cancel_control
zb_uint8_t cancel_control
Definition: zb_zcl_drlc.h:308
ZB_ZCL_DRLC_SEND_CMD_CANCEL_ALL_LCE
#define ZB_ZCL_DRLC_SEND_CMD_CANCEL_ALL_LCE(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
Definition: zb_zcl_drlc.h:565
zb_zcl_drlc_lce_payload_s
Definition: zb_zcl_drlc.h:216
zb_drlc_client_send_get_scheduled_events
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)
zb_zcl_drlc_report_event_status_payload_s::signature_type
zb_uint8_t signature_type
Definition: zb_zcl_drlc.h:365
zb_uint16_t
unsigned short zb_uint16_t
Project-local 2-byte unsigned int type.
Definition: zb_types.h:153
ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT
#define ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT
Definition: zb_zcl_drlc.h:436
zb_zcl_drlc_lce_payload_s::issuer_event_id
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:222
ZB_ZCL_DRLC_EVENT_REJECTED_UNDEFINED_EVENT
@ ZB_ZCL_DRLC_EVENT_REJECTED_UNDEFINED_EVENT
Definition: zb_zcl_drlc.h:131
zb_zcl_drlc_get_scheduled_events_payload_s::issuer_event_id
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:395
ZB_ZCL_DRLC_SEND_CMD_REPORT_EVENT_STATUS
#define ZB_ZCL_DRLC_SEND_CMD_REPORT_EVENT_STATUS(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
Definition: zb_zcl_drlc.h:579
zb_zcl_drlc_get_scheduled_events_payload_t
struct zb_zcl_drlc_get_scheduled_events_payload_s zb_zcl_drlc_get_scheduled_events_payload_t
ZB_ZCL_DRLC_SEND_CMD_CANCEL_LCE
#define ZB_ZCL_DRLC_SEND_CMD_CANCEL_LCE(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
Definition: zb_zcl_drlc.h:558
zb_address_short_by_ieee
zb_uint16_t zb_address_short_by_ieee(zb_ieee_addr_t ieee_address)
ZB_ZCL_DRLC_SEND_CMD_LOAD_CONTROL_EVENT
#define ZB_ZCL_DRLC_SEND_CMD_LOAD_CONTROL_EVENT(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
Definition: zb_zcl_drlc.h:551
zb_zcl_drlc_report_event_status_payload_s::criticality_level_applied
zb_uint8_t criticality_level_applied
Definition: zb_zcl_drlc.h:338
zb_drlc_client_send_report_event_status
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)
zb_zcl_drlc_report_event_status_payload_s
Definition: zb_zcl_drlc.h:320
zb_zcl_drlc_lce_payload_s::duration_in_minutes
zb_uint16_t duration_in_minutes
Definition: zb_zcl_drlc.h:245
zb_zcl_drlc_lce_payload_s::utility_enrollment_group
zb_uint8_t utility_enrollment_group
Definition: zb_zcl_drlc.h:235
zb_zcl_drlc_report_event_status_payload_s::event_status_time
zb_uint32_t event_status_time
Definition: zb_zcl_drlc.h:335