nRF5 SDK for Thread and Zigbee v1.0.0
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Events cluster commands

Data Structures

struct  zb_zcl_events_get_event_log_payload_s
 
struct  zb_zcl_events_clear_event_log_request_s
 
struct  zb_zcl_events_publish_event_payload_s
 
struct  zb_zcl_events_sub_log_payload_s
 
struct  zb_zcl_events_publish_event_log_payload_s
 
struct  zb_zcl_events_clear_event_log_response_s
 

Macros

#define ZB_ZCL_GET_LOG_ID_FIELD(x)   ((x) & 0xF)
 
#define ZB_ZCL_SET_LOG_ID_FIELD(x, val)   ((x) &= (0xF0 | ((val) & 0xF)))
 
#define ZB_ZCL_GET_EVENT_CONTROL_FIELD(x)   (((x) & 0xF0) >> 4)
 
#define ZB_ZCL_SET_EVENT_CONTROL_FIELD(x, val)   ((x) &= (0xF | ((val) & 0xF) << 4)
 
#define ZB_ZCL_GET_LOG_PAYLOAD_CONTROL_FIELD(x)   ((x) & 0xF)
 
#define ZB_ZCL_SET_LOG_PAYLOAD_CONTROL_FIELD(x, val)   ((x) &= (0xF0 | ((val) & 0xF)))
 
#define ZB_ZCL_GET_NUMBER_OF_EVENTS(x)   (((x) & 0xF0) >> 4)
 
#define ZB_ZCL_SET_NUMBER_OF_EVENTS(x, val)   ((x) &= (0xF | ((val) & 0xF) << 4))
 
#define ZB_ZCL_EVENTS_GET_EVENT_LOG_INIT   (zb_zcl_events_get_event_log_payload_t) {0}
 
#define ZB_ZCL_EVENTS_PUBLISH_EVENT_LOG_PAYLOAD_INIT   (zb_zcl_events_publish_event_log_payload_t) {0}
 
#define ZB_ZCL_EVENTS_SEND_CMD_PUBLISH_EVENT(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_EVENTS_SEND_CMD_PUBLISH_EVENT_LOG(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_EVENTS_SEND_CMD_CLEAR_EVENT_LOG_RESPONSE(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_EVENTS_SEND_CMD_GET_EVENT_LOG(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 
#define ZB_ZCL_EVENTS_SEND_CMD_CLEAR_EVENT_LOG_REQUEST(_param, _dst_addr, _dst_addr_mode, _dst_ep, _src_ep, _payload)
 

Typedefs

typedef enum
zb_zcl_events_srv_cmd_e 
zb_zcl_events_srv_cmd_t
 
typedef enum
zb_zcl_events_cli_cmd_e 
zb_zcl_events_cli_cmd_t
 
typedef enum zb_zcl_events_log_id_e zb_zcl_events_log_id_t
 
typedef struct
zb_zcl_events_get_event_log_payload_s 
zb_zcl_events_get_event_log_payload_t
 
typedef struct
zb_zcl_events_clear_event_log_request_s 
zb_zcl_events_clear_event_log_request_t
 
typedef struct
zb_zcl_events_publish_event_payload_s 
zb_zcl_events_publish_event_payload_t
 
typedef struct
zb_zcl_events_sub_log_payload_s 
zb_zcl_events_sub_log_payload_t
 
typedef struct
zb_zcl_events_publish_event_log_payload_s 
zb_zcl_events_publish_event_log_payload_t
 
typedef enum
zb_zcl_events_cleared_events_logs_bitmap_e 
zb_zcl_events_cleared_events_logs_bitmap_t
 
typedef struct
zb_zcl_events_clear_event_log_response_s 
zb_zcl_events_clear_event_log_response_t
 

Enumerations

enum  zb_zcl_events_srv_cmd_e { ZB_ZCL_EVENTS_SRV_CMD_PUBLISH_EVENT = 0x00, ZB_ZCL_EVENTS_SRV_CMD_PUBLISH_EVENT_LOG = 0x01, ZB_ZCL_EVENTS_SRV_CMD_CLEAR_EVENT_LOG_RESPONSE = 0x02 }
 
enum  zb_zcl_events_cli_cmd_e { ZB_ZCL_EVENTS_CLI_CMD_GET_EVENT_LOG = 0x00, ZB_ZCL_EVENTS_CLI_CMD_CLEAR_EVENT_LOG_REQUEST = 0x01 }
 
enum  zb_zcl_events_log_id_e {
  ZB_ZCL_EVENTS_LOG_ID_ALL_LOGS = 0x00, ZB_ZCL_EVENTS_LOG_ID_TAMPER_LOG, ZB_ZCL_EVENTS_LOG_ID_FAULT_LOG, ZB_ZCL_EVENTS_LOG_ID_GENERAL_EVENT_LOG,
  ZB_ZCL_EVENTS_LOG_ID_SECURITY_EVENT_LOG, ZB_ZCL_EVENTS_LOG_ID_NETWORK_EVENT_LOG
}
 
enum  zb_zcl_events_cleared_events_logs_bitmap_e {
  ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_ALL = 1 << 0, ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_TAMPER = 1 << 1, ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_FAULT = 1 << 2, ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_GENERAL = 1 << 3,
  ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_SECURITY = 1 << 4, ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_NETWORK = 1 << 5
}
 

Functions

zb_void_t zb_events_server_send_publish_event (zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_events_publish_event_payload_t *payload)
 
zb_void_t zb_events_server_send_publish_event_log (zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_events_publish_event_log_payload_t *payload)
 
zb_void_t zb_events_server_send_clear_event_log_response (zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_uint8_t *payload)
 
zb_void_t zb_events_client_send_get_event_log (zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_events_get_event_log_payload_t *payload)
 
zb_void_t zb_events_client_send_clear_event_log_request (zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_uint8_t *payload)
 

Detailed Description

Macro Definition Documentation

#define ZB_ZCL_EVENTS_GET_EVENT_LOG_INIT   (zb_zcl_events_get_event_log_payload_t) {0}

Macro for initializing GetEventLog Command payload, see zb_zcl_events_get_event_log_payload_t

#define ZB_ZCL_EVENTS_PUBLISH_EVENT_LOG_PAYLOAD_INIT   (zb_zcl_events_publish_event_log_payload_t) {0}

Macro for initializing PublishEventLog Command payload see zb_zcl_events_publish_event_log_payload_t

#define ZB_ZCL_EVENTS_SEND_CMD_CLEAR_EVENT_LOG_REQUEST (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_events_client_send_clear_event_log_request(_param, _dst_addr, _dst_addr_mode, \
_dst_ep, _src_ep, _payload)
zb_void_t zb_events_client_send_clear_event_log_request(zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_uint8_t *payload)

Macro for call zb_events_client_send_clear_event_log_request function

#define ZB_ZCL_EVENTS_SEND_CMD_CLEAR_EVENT_LOG_RESPONSE (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_events_server_send_clear_event_log_response(_param, _dst_addr, _dst_addr_mode, \
_dst_ep, _src_ep, _payload)
zb_void_t zb_events_server_send_clear_event_log_response(zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_uint8_t *payload)

Macro for call zb_events_server_send_clear_event_log_response function

#define ZB_ZCL_EVENTS_SEND_CMD_GET_EVENT_LOG (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_events_client_send_get_event_log(_param, _dst_addr, _dst_addr_mode, \
_dst_ep, _src_ep, _payload)
zb_void_t zb_events_client_send_get_event_log(zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_events_get_event_log_payload_t *payload)

Macro for call zb_events_client_send_get_event_log function

#define ZB_ZCL_EVENTS_SEND_CMD_PUBLISH_EVENT (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_events_server_send_publish_event(_param, _dst_addr, _dst_addr_mode, \
_dst_ep, _src_ep, _payload)
zb_void_t zb_events_server_send_publish_event(zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_events_publish_event_payload_t *payload)

Macro for call zb_events_server_send_publish_event function

#define ZB_ZCL_EVENTS_SEND_CMD_PUBLISH_EVENT_LOG (   _param,
  _dst_addr,
  _dst_addr_mode,
  _dst_ep,
  _src_ep,
  _payload 
)
Value:
zb_events_server_send_publish_event_log(_param, _dst_addr, _dst_addr_mode, \
_dst_ep, _src_ep, _payload)
zb_void_t zb_events_server_send_publish_event_log(zb_uint8_t param, zb_addr_u *dst_addr, zb_uint8_t dst_addr_mode, zb_uint8_t dst_ep, zb_uint8_t src_ep, zb_zcl_events_publish_event_log_payload_t *payload)

Macro for call zb_events_server_send_publish_event_log function

#define ZB_ZCL_GET_EVENT_CONTROL_FIELD (   x)    (((x) & 0xF0) >> 4)

Macro for get event_control value from 8-bit field

Parameters
x- 8-bit field that contains event_control value in the most significant nibble.
See also
zb_zcl_events_get_event_log_payload_t
#define ZB_ZCL_GET_LOG_ID_FIELD (   x)    ((x) & 0xF)

Macro for get log_id value from 8-bit field

Parameters
x- 8-bit field that contains log_id value in the least significant nibble.
See also
zb_zcl_events_publish_event_payload_t, zb_zcl_events_get_event_log_payload_t, zb_zcl_events_clear_event_log_request_t, zb_zcl_events_sub_log_payload_t
#define ZB_ZCL_GET_LOG_PAYLOAD_CONTROL_FIELD (   x)    ((x) & 0xF)

Macro for get log_payload_control value from 8-bit field

Parameters
x- 8-bit field that contains log_payload_control value in the least significant nibble
See also
zb_zcl_events_sub_log_payload_t
#define ZB_ZCL_GET_NUMBER_OF_EVENTS (   x)    (((x) & 0xF0) >> 4)

Macro for get number_of_events value from 8-bit field

Parameters
x- 8-bit field that contains number_of_events value in the most significant nibble.
See also
zb_zcl_events_sub_log_payload_t
#define ZB_ZCL_SET_EVENT_CONTROL_FIELD (   x,
  val 
)    ((x) &= (0xF | ((val) & 0xF) << 4)

Macro for set event_control value to 8-bit field

Parameters
x- 8-bit field to store event_control value in the most significant nibble.
See also
zb_zcl_events_get_event_log_payload_t
#define ZB_ZCL_SET_LOG_ID_FIELD (   x,
  val 
)    ((x) &= (0xF0 | ((val) & 0xF)))

Macro for set log_id value to 8-bit field

Parameters
x- 8-bit field to store log_id value in the least significant nibble
val- value to assigning
See also
zb_zcl_events_publish_event_payload_t, zb_zcl_events_get_event_log_payload_t, zb_zcl_events_clear_event_log_request_t, zb_zcl_events_sub_log_payload_t
#define ZB_ZCL_SET_LOG_PAYLOAD_CONTROL_FIELD (   x,
  val 
)    ((x) &= (0xF0 | ((val) & 0xF)))

Macro for set log_payload_control value to 8-bit field

Parameters
x- 8-bit field to store log_payload_control value in the least significant nibble.
val- value to assigning
See also
zb_zcl_events_sub_log_payload_t
#define ZB_ZCL_SET_NUMBER_OF_EVENTS (   x,
  val 
)    ((x) &= (0xF | ((val) & 0xF) << 4))

Macro for set number_of_events value to 8-bit field

Parameters
x- 8-bit field to store number_of_events value in the most significant nibble.
val- value to assigning
See also
zb_zcl_events_sub_log_payload_t

Typedef Documentation

ClearEventLogRequest command payload

See also
SE spec, subclause D.11.2.3.2

Cleared Events Logs Bitmap

Note
It is understood that certain markets may require that event logs cannot be cleared; this BitMask provides a method for the server device to indicate which logs have been successfully cleared.
See also
SE spec, Table D-191 and zb_zcl_events_clear_event_log_response_t::cleared_events_logs

Commands are generated by Events Client.

See also
SE spec, subclause 11.2.3

GetEventLog Command payload.

See also
SE spec, subclause 11.2.3.1

Log ID enumeration

See also
SE spec, Table D-186

PublishEventLog Command payload

See also
SE spec, subclause 11.2.4.2

PublishEvent Command payload

See also
SE spec, subclause 11.2.4.1

Commands are generated by Events Server.

See also
SE spec, subclause 11.2.4

Publish Event Log Sub-Payload

See also
SE spec, Figure D-175
zb_zcl_events_publish_event_log_payload_t::log_payload

Enumeration Type Documentation

Cleared Events Logs Bitmap

Note
It is understood that certain markets may require that event logs cannot be cleared; this BitMask provides a method for the server device to indicate which logs have been successfully cleared.
See also
SE spec, Table D-191 and zb_zcl_events_clear_event_log_response_t::cleared_events_logs
Enumerator
ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_ALL 

All logs cleared

ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_TAMPER 

Tamper log cleared

ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_FAULT 

Fault log cleared

ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_GENERAL 

General event log cleared

ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_SECURITY 

Security event log cleared

ZB_ZCL_EVENTS_CLEARED_EVENTS_LOGS_NETWORK 

network event log cleared

Commands are generated by Events Client.

See also
SE spec, subclause 11.2.3
Enumerator
ZB_ZCL_EVENTS_CLI_CMD_GET_EVENT_LOG 

The GetEventLog command allows a client to request events from a server’s event logs. One or more PublishEventLog commands are returned on receipt of this command.

See also
zb_zcl_events_get_event_log_payload_t
ZB_ZCL_EVENTS_CLI_CMD_CLEAR_EVENT_LOG_REQUEST 

This command requests that an Events server device clear the specified event log(s). The Events server device SHOULD clear the requested events logs, however it is understood that market specific restrictions may be applied to prevent this.

See also
zb_zcl_events_clear_event_log_request_s

Log ID enumeration

See also
SE spec, Table D-186
Enumerator
ZB_ZCL_EVENTS_LOG_ID_ALL_LOGS 

All logs

ZB_ZCL_EVENTS_LOG_ID_TAMPER_LOG 

Tamper Log

ZB_ZCL_EVENTS_LOG_ID_FAULT_LOG 

Fault Log

ZB_ZCL_EVENTS_LOG_ID_GENERAL_EVENT_LOG 

General Event Log

ZB_ZCL_EVENTS_LOG_ID_SECURITY_EVENT_LOG 

Security Event Log

ZB_ZCL_EVENTS_LOG_ID_NETWORK_EVENT_LOG 

Network Event Log

Commands are generated by Events Server.

See also
SE spec, subclause 11.2.4
Enumerator
ZB_ZCL_EVENTS_SRV_CMD_PUBLISH_EVENT 

This command is generated upon an event trigger from within the reporting device and if enabled by the associated Event Configuration (bitmap) attribute in the Device Management cluster

See also
zb_zcl_events_publish_event_payload_t
ZB_ZCL_EVENTS_SRV_CMD_PUBLISH_EVENT_LOG 

This command is generated on receipt of a Get Event Log command. The command shall return the most recent event first, up to the number of events requested.

See also
zb_zcl_events_publish_event_log_payload_t
ZB_ZCL_EVENTS_SRV_CMD_CLEAR_EVENT_LOG_RESPONSE 

This command is generated on receipt of a Clear Event Log Request command.

See also
zb_zcl_events_clear_event_log_response_t

Function Documentation

zb_void_t zb_events_client_send_clear_event_log_request ( zb_uint8_t  param,
zb_addr_u dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint8_t  dst_ep,
zb_uint8_t  src_ep,
zb_uint8_t payload 
)

Function for send ClearEventLogRequest command.

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.
zb_void_t zb_events_client_send_get_event_log ( zb_uint8_t  param,
zb_addr_u dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint8_t  dst_ep,
zb_uint8_t  src_ep,
zb_zcl_events_get_event_log_payload_t payload 
)

Function for send GetEventLog command.

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_events_get_event_log_payload_t).
zb_void_t zb_events_server_send_clear_event_log_response ( zb_uint8_t  param,
zb_addr_u dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint8_t  dst_ep,
zb_uint8_t  src_ep,
zb_uint8_t payload 
)

Function for send ClearEventLogResponse command.

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.
zb_void_t zb_events_server_send_publish_event ( zb_uint8_t  param,
zb_addr_u dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint8_t  dst_ep,
zb_uint8_t  src_ep,
zb_zcl_events_publish_event_payload_t payload 
)

Function for send PublishEvent command.

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_events_publish_event_payload_t).
zb_void_t zb_events_server_send_publish_event_log ( zb_uint8_t  param,
zb_addr_u dst_addr,
zb_uint8_t  dst_addr_mode,
zb_uint8_t  dst_ep,
zb_uint8_t  src_ep,
zb_zcl_events_publish_event_log_payload_t payload 
)

Function for send PublishEventLog command.

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_events_publish_event_log_payload_t).