Events Server#

API and Callbacks for the Events Server Cluster Component.

Modules#

sl_zigbee_af_zcl_event_t

Events Server

API#

bool
sl_zigbee_af_events_server_clear_event_log(uint8_t endpoint, sl_zigbee_af_event_log_id_t logId)

Clear all events in the specified event log.

void
sl_zigbee_af_events_server_print_event_log(uint8_t endpoint, sl_zigbee_af_event_log_id_t logId)

Print all events in the specified event log.

void
sl_zigbee_af_events_server_print_event(const sl_zigbee_af_zcl_event_t *event)

Print an event.

bool
sl_zigbee_af_events_server_get_event(uint8_t endpoint, sl_zigbee_af_event_log_id_t logId, uint8_t index, sl_zigbee_af_zcl_event_t *event)

Get an event from the specified event log.

bool
sl_zigbee_af_events_server_set_event(uint8_t endpoint, sl_zigbee_af_event_log_id_t logId, uint8_t index, const sl_zigbee_af_zcl_event_t *event)

Store an event in the specified event log.

uint8_t
sl_zigbee_af_events_server_add_event(uint8_t endpoint, sl_zigbee_af_event_log_id_t logId, const sl_zigbee_af_zcl_event_t *event)

Add an event to the specified event log.

void
sl_zigbee_af_events_server_publish_event_message(sl_802154_short_addr_t nodeId, uint8_t srcEndpoint, uint8_t dstEndpoint, sl_zigbee_af_event_log_id_t logId, uint8_t index, uint8_t eventControl)

Publish an event.

Macros#

#define
ZCL_EVENTS_INVALID_INDEX 0xFF

API Documentation#

sl_zigbee_af_events_server_clear_event_log#

bool sl_zigbee_af_events_server_clear_event_log (uint8_t endpoint, sl_zigbee_af_event_log_id_t logId)

Clear all events in the specified event log.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The endpoint for which the event log will be cleared.

sl_zigbee_af_event_log_id_tN/AlogId

The log to be cleared.

Returns

  • True if the log was successfully cleared or false if logId is invalid.


sl_zigbee_af_events_server_print_event_log#

void sl_zigbee_af_events_server_print_event_log (uint8_t endpoint, sl_zigbee_af_event_log_id_t logId)

Print all events in the specified event log.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The endpoint for which the event log will be printed.

sl_zigbee_af_event_log_id_tN/AlogId

The log to be printed.


sl_zigbee_af_events_server_print_event#

void sl_zigbee_af_events_server_print_event (const sl_zigbee_af_zcl_event_t * event)

Print an event.

Parameters
TypeDirectionArgument NameDescription
const sl_zigbee_af_zcl_event_t *N/Aevent

The event to print.


sl_zigbee_af_events_server_get_event#

bool sl_zigbee_af_events_server_get_event (uint8_t endpoint, sl_zigbee_af_event_log_id_t logId, uint8_t index, sl_zigbee_af_zcl_event_t * event)

Get an event from the specified event log.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The relevant endpoint.

sl_zigbee_af_event_log_id_tN/AlogId

The relevant log.

uint8_tN/Aindex

The index in the event log.

sl_zigbee_af_zcl_event_t *N/Aevent

The sl_zigbee_af_zcl_event_t structure describing the event.

This function can be used to get an event at a specific location in the specified log.

Returns

  • True if the event was found or false if the index is invalid.


sl_zigbee_af_events_server_set_event#

bool sl_zigbee_af_events_server_set_event (uint8_t endpoint, sl_zigbee_af_event_log_id_t logId, uint8_t index, const sl_zigbee_af_zcl_event_t * event)

Store an event in the specified event log.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The relevant endpoint.

sl_zigbee_af_event_log_id_tN/AlogId

The relevant log.

uint8_tN/Aindex

The index in the event log.

const sl_zigbee_af_zcl_event_t *N/Aevent

The sl_zigbee_af_zcl_event_t structure describing the event. If NULL, the event is removed from the server.

This function is used to set an event at a specific location in the specified log.

Returns

  • True if the event was set or removed or false if the index is invalid.


sl_zigbee_af_events_server_add_event#

uint8_t sl_zigbee_af_events_server_add_event (uint8_t endpoint, sl_zigbee_af_event_log_id_t logId, const sl_zigbee_af_zcl_event_t * event)

Add an event to the specified event log.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The relevant endpoint.

sl_zigbee_af_event_log_id_tN/AlogId

The relevant log.

const sl_zigbee_af_zcl_event_t *N/Aevent

The sl_zigbee_af_zcl_event_t structure describing the event.

This function is used to add an event at the next available location in the specified log. After the event log is full, new events will start overwriting old events at the beginning of the table.

Returns

  • the index of the location in the log where the event was added or ZCL_EVENTS_INVALID_INDEX if the specified event log is full.


sl_zigbee_af_events_server_publish_event_message#

void sl_zigbee_af_events_server_publish_event_message (sl_802154_short_addr_t nodeId, uint8_t srcEndpoint, uint8_t dstEndpoint, sl_zigbee_af_event_log_id_t logId, uint8_t index, uint8_t eventControl)

Publish an event.

Parameters
TypeDirectionArgument NameDescription
sl_802154_short_addr_tN/AnodeId

The destination nodeId.

uint8_tN/AsrcEndpoint

The source endpoint.

uint8_tN/AdstEndpoint

The destination endpoint.

sl_zigbee_af_event_log_id_tN/AlogId

The relevant log.

uint8_tN/Aindex

The index in the event log.

uint8_tN/AeventControl

Actions to be taken regarding this event. For example, Report event to HAN and/or Report event to WAN.

This function will locate the event in the specified log at the specified location and using the information from the event build and send a PublishEvent command.