|
Developing with ZBOSS for Zigbee
|
|
#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) |
|
|
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) |
|
This section describes all commands structures and data payloads.
◆ ZB_ZCL_DRLC_CANCEL_LCE_PAYLOAD_INIT
◆ ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT
#define ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT |
◆ 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, \
.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 |
|
) |
| |
◆ 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 |
|
) |
| |
◆ 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 |
|
) |
| |
◆ 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 |
|
) |
| |
◆ 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 |
|
) |
| |
◆ zb_zcl_drlc_cancel_lce_payload_t
◆ 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
◆ 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
◆ zb_zcl_drlc_cli_cmd_e
Commands are generated by DRLC Client.
- See also
- SE spec, Table D-8
◆ 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)
|
◆ zb_drlc_client_send_get_scheduled_events()
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
{
TRACE_MSG(TRACE_APP1, ">> ihd_dev_cmd_get_scheduled_events, param=%hd",(FMT__H, param));
if (!param)
{
}
else
{
curr_time = ihd_dev_get_network_time();
(
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()
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
{
{
dev_idx = ihd_dev_get_idx(ieee_addr,
in_cmd_info->cluster_id,
TRACE_MSG(TRACE_APP1, ">> ihd_handle_cancel_all_load_control_events(cancel_control=0x%hx) <<",
(FMT__H, cancel_control));
{
TRACE_MSG(TRACE_APP1, "cancel all events from binded drlc, schedule event_status", (FMT__0));
}
}
}
Example of sending ReportEventStatus command
{
TRACE_MSG(TRACE_APP1, ">> ihd_send_report_event_status param %hd", (FMT__H, param));
if (!param)
{
}
else
{
ZB_ASSERT(g_dev_ctx.dev.lst[user_param].used);
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()
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
static void esi_dev_cmd_send_lce_event3(
zb_uint8_t param)
{
if (!param)
{
}
else
{
cancel_control = 0;
&g_dev_ctx.drlc_client_address,
g_dev_ctx.drlc_client_ep,
ESI_DEV_ENDPOINT,
&cancel_control);
}
}
◆ zb_drlc_server_send_cancel_load_control_event()
◆ zb_drlc_server_send_load_control_event()
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
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));
}
Example of sending LoadControlEvent command
static void esi_dev_cmd_send_lce_event1(
zb_uint8_t param)
{
if (!param)
{
}
else
{
&g_dev_ctx.drlc_client_address,
g_dev_ctx.drlc_client_ep,
ESI_DEV_ENDPOINT,
&payload);
}
}
#define ZB_ZCL_DRLC_REPORT_EVENT_STATUS_PAYLOAD_INIT
Definition: zb_zcl_drlc.h:416
zb_uint8_t number_of_events
Definition: zb_zcl_drlc.h:389
zb_uint8_t criticality_level
Definition: zb_zcl_drlc.h:251
zb_uint8_t event_status
Definition: zb_zcl_drlc.h:330
signed short zb_int16_t
Project-local 2-byte signed int type.
Definition: zb_types.h:155
unsigned char zb_uint8_t
Project-local 1-byte unsigned int type.
Definition: zb_types.h:149
#define ZB_SCHEDULE_APP_CALLBACK2(func, param, user_param)
Definition: zboss_api_core.h:333
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_uint16_t device_class
Definition: zb_zcl_drlc.h:298
#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_uint32_t effective_time
Definition: zb_zcl_drlc.h:314
struct zb_zcl_drlc_lce_payload_s zb_zcl_drlc_lce_payload_t
Union to address either long or short address.
zb_uint32_t start_time
Definition: zb_zcl_drlc.h:240
zb_uint8_t event_control
Definition: zb_zcl_drlc.h:278
zb_uint32_t start_time
Definition: zb_zcl_drlc.h:384
Definition: zb_zcl_common.h:1041
#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
Definition: zb_zcl_drlc.h:285
Definition: zb_zcl_drlc.h:377
unsigned int zb_uint32_t
Project-local 4-byte unsigned int type.
Definition: zb_types.h:197
@ ZB_ZCL_DRLC_LCE_NO_SIGNATURE
Definition: zb_zcl_drlc.h:139
zb_uint8_t event_control
Definition: zb_zcl_drlc.h:362
struct zb_zcl_drlc_report_event_status_payload_s zb_zcl_drlc_report_event_status_payload_t
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:292
#define ZB_SCHEDULE_APP_ALARM(func, param, timeout_bi)
Definition: zboss_api_core.h:356
signed char zb_int8_t
Project-local 1-byte signed int type.
Definition: zb_types.h:151
zb_uint16_t device_class
Definition: zb_zcl_drlc.h:229
#define ZB_ZCL_PARSED_HDR_SHORT_DATA(header)
Extract common addressing data from parsed ZCL structure.
Definition: zb_zcl_common.h:1105
#define ZB_APS_ADDR_MODE_64_ENDP_PRESENT
Definition: zboss_api_aps.h:108
#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
Definition: zb_zcl_drlc.h:98
zb_ret_t zb_address_ieee_by_short(zb_uint16_t short_addr, zb_ieee_addr_t ieee_address)
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
Definition: zb_zcl_drlc.h:97
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_64bit_addr_t zb_ieee_addr_t
Long (64-bit) device address.
Definition: zb_types.h:550
#define ZB_ZCL_DRLC_LCE_PAYLOAD_INIT
Definition: zb_zcl_drlc.h:400
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:327
zb_uint8_t utility_enrollment_group
Definition: zb_zcl_drlc.h:304
#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_uint8_t cancel_control
Definition: zb_zcl_drlc.h:308
#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
Definition: zb_zcl_drlc.h:216
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_uint8_t signature_type
Definition: zb_zcl_drlc.h:365
unsigned short zb_uint16_t
Project-local 2-byte unsigned int type.
Definition: zb_types.h:153
#define ZB_ZCL_DRLC_CMD_GET_SCHEDULED_EVENTS_PAYLOAD_INIT
Definition: zb_zcl_drlc.h:436
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:222
@ ZB_ZCL_DRLC_EVENT_REJECTED_UNDEFINED_EVENT
Definition: zb_zcl_drlc.h:131
zb_uint32_t issuer_event_id
Definition: zb_zcl_drlc.h:395
#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
struct zb_zcl_drlc_get_scheduled_events_payload_s zb_zcl_drlc_get_scheduled_events_payload_t
#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_uint16_t zb_address_short_by_ieee(zb_ieee_addr_t ieee_address)
#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_uint8_t criticality_level_applied
Definition: zb_zcl_drlc.h:338
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)
Definition: zb_zcl_drlc.h:320
zb_uint16_t duration_in_minutes
Definition: zb_zcl_drlc.h:245
zb_uint8_t utility_enrollment_group
Definition: zb_zcl_drlc.h:235
zb_uint32_t event_status_time
Definition: zb_zcl_drlc.h:335