Zigbee Protocol Controller 1.6.0
zcl_command_parser.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
14// This file is generated by ZCL Advanced Platform generator. Please don't edit manually.
15
16
17
18
66#ifndef ZIGPC_ZCLCMDPARSE_H
67#define ZIGPC_ZCLCMDPARSE_H
68
69// Unify shared components
70#include "sl_status.h"
71
72#include "zigpc_common_zigbee.h"
73#include "zcl_definitions.h"
74
75#ifdef __cplusplus
76extern "C" {
77#endif
78
79
84typedef struct {
85 uint16_t timeout;
87
92typedef struct {
93 uint8_t status;
94 uint16_t group_id;
96
101typedef struct {
102 uint8_t status;
103 uint16_t group_id;
105 const char* group_name;
107
112typedef struct {
113 uint8_t capacity;
115 uint16_t *group_list;
117
122typedef struct {
123 uint8_t status;
124 uint16_t group_id;
126
131typedef struct {
135
140typedef struct {
142
147typedef struct {
150
155typedef struct {
158
163typedef struct {
164 uint8_t status;
166
171typedef struct {
172 uint8_t status;
174
179typedef struct {
180 uint8_t status;
182
187typedef struct {
188 uint8_t status;
190
195typedef struct {
196 uint16_t log_entryid;
198 uint8_t event_type;
201 uint16_t userid;
202 uint8_t pin_length;
203 const char* pin;
205
210typedef struct {
211 uint8_t status;
213
218typedef struct {
219 uint16_t userid;
220 uint8_t user_status;
221 uint8_t user_type;
222 uint8_t code_length;
223 const char* code;
225
230typedef struct {
231 uint8_t status;
233
238typedef struct {
239 uint8_t status;
241
246typedef struct {
247 uint8_t status;
249
254typedef struct {
255 uint16_t userid;
256 uint8_t user_status;
258
263typedef struct {
264 uint8_t status;
266
271typedef struct {
272 uint8_t scheduleid;
273 uint16_t userid;
274 uint8_t status;
275 uint8_t days_mask;
276 uint8_t start_hour;
277 uint8_t start_minute;
278 uint8_t end_hour;
279 uint8_t end_minute;
281
286typedef struct {
287 uint8_t status;
289
294typedef struct {
295 uint8_t status;
297
302typedef struct {
303 uint8_t scheduleid;
304 uint16_t userid;
305 uint8_t status;
309
314typedef struct {
315 uint8_t status;
317
322typedef struct {
323 uint8_t status;
325
330typedef struct {
332 uint8_t status;
337
342typedef struct {
343 uint8_t status;
345
350typedef struct {
351 uint8_t status;
353
358typedef struct {
359 uint16_t userid;
360 uint8_t user_type;
362
367typedef struct {
368 uint8_t status;
370
375typedef struct {
376 uint16_t userid;
377 uint8_t user_status;
378 uint8_t user_type;
380 const char* rfid_code;
382
387typedef struct {
388 uint8_t status;
390
395typedef struct {
396 uint8_t status;
398
403typedef struct {
405
410typedef struct {
413 uint16_t userid;
414 uint8_t pin_length;
415 const char* pin;
417 uint8_t data_length;
418 const char* data;
420
425typedef struct {
428 uint16_t userid;
429 uint8_t pin_length;
430 const char* pin;
431 uint8_t user_type;
432 uint8_t user_status;
434 uint8_t data_length;
435 const char* data;
437
442typedef struct {
444
449typedef struct {
451
456typedef struct {
458 uint8_t day_of_week;
459 uint8_t mode;
461 zigpc_zcl_transition_type_t *transitions;
463
468typedef struct {
469 uint16_t time_of_day;
470 uint8_t relay_status;
473 int16_t set_point;
474 uint16_t unread_entries;
476
481typedef struct {
482 uint16_t zone_status;
484 uint8_t zoneid;
485 uint16_t delay;
487
492typedef struct {
493 uint16_t zone_type;
496
501typedef struct {
503
508typedef struct {
509 uint16_t attributeid;
513
518typedef union {
566
568 const zigbee_eui64_t eui64,
569 const zigbee_endpoint_id_t endpoint,
571);
572
583
596 zcl_command_id_t command_id,
598
611 zcl_command_id_t command_id,
613
614#ifdef __cplusplus
615}
616#endif
617
618#endif /* ZIGPC_ZCLCMDPARSE_H */
619
#define data
Definition: ctimer.c:49
uint32_t sl_status_t
Definition: sl_status.h:139
uint8_t zigbee_eui64_t[ZIGBEE_EUI64_SIZE]
Zigbee Device EUI64 ID.
Definition: zigpc_common_zigbee.h:193
uint16_t zcl_cluster_id_t
A representation of the endpoint cluster id used in ZCL.
Definition: zigpc_common_zigbee.h:254
uint8_t zigbee_endpoint_id_t
A representation of the endpoint id used on the Zigbee protocol.
Definition: zigpc_common_zigbee.h:248
uint8_t zcl_command_id_t
Definition: zigpc_common_zigbee.h:265
sl_status_t zigpc_zclcmdparse_register_callback(zcl_cluster_id_t cluster_id, zcl_command_id_t command_id, zigpc_zclcmdparse_callback_t callback)
Register a callback when a particular command is parsed based on the ZCL Cluster ID + ZCL Command ID ...
void(* zigpc_zclcmdparse_callback_t)(const zigbee_eui64_t eui64, const zigbee_endpoint_id_t endpoint, const zigpc_zclcmdparse_callback_data_t *data)
Definition: zcl_command_parser.h:567
sl_status_t zigpc_zclcmdparse_remove_callback(zcl_cluster_id_t cluster_id, zcl_command_id_t command_id, zigpc_zclcmdparse_callback_t callback)
Remove a registered callback when a particular command is parsed based on the ZCL Cluster ID + ZCL Co...
sl_status_t zigpc_zclcmdparse_setup(void)
Initialize the command parser component. This function should Listen to gateway cluster commands rece...
SL Status Codes.
Data for DoorLock/ClearAllPINCodesResponse command.
Definition: zcl_command_parser.h:238
uint8_t status
Definition: zcl_command_parser.h:239
Data for DoorLock/ClearAllRFIDCodesResponse command.
Definition: zcl_command_parser.h:395
uint8_t status
Definition: zcl_command_parser.h:396
Data for DoorLock/ClearHolidayScheduleResponse command.
Definition: zcl_command_parser.h:342
uint8_t status
Definition: zcl_command_parser.h:343
Data for DoorLock/ClearPINCodeResponse command.
Definition: zcl_command_parser.h:230
uint8_t status
Definition: zcl_command_parser.h:231
Data for DoorLock/ClearRFIDCodeResponse command.
Definition: zcl_command_parser.h:387
uint8_t status
Definition: zcl_command_parser.h:388
Data for DoorLock/ClearWeekdayScheduleResponse command.
Definition: zcl_command_parser.h:286
uint8_t status
Definition: zcl_command_parser.h:287
Data for DoorLock/ClearYearDayScheduleResponse command.
Definition: zcl_command_parser.h:314
uint8_t status
Definition: zcl_command_parser.h:315
Data for DoorLock/GetCredentialStatusResponse command.
Definition: zcl_command_parser.h:449
Data for DoorLock/GetHolidayScheduleResponse command.
Definition: zcl_command_parser.h:330
uint8_t status
Definition: zcl_command_parser.h:332
uint8_t operating_mode_during_holiday
Definition: zcl_command_parser.h:335
uint32_t local_end_time
Definition: zcl_command_parser.h:334
uint32_t local_start_time
Definition: zcl_command_parser.h:333
uint8_t holiday_scheduleid
Definition: zcl_command_parser.h:331
Data for DoorLock/GetLogRecordResponse command.
Definition: zcl_command_parser.h:195
uint8_t pin_length
Definition: zcl_command_parser.h:202
uint8_t event_id_or_alarm_code
Definition: zcl_command_parser.h:200
uint8_t event_type
Definition: zcl_command_parser.h:198
uint16_t log_entryid
Definition: zcl_command_parser.h:196
uint32_t timestamp
Definition: zcl_command_parser.h:197
uint8_t source_operation_event
Definition: zcl_command_parser.h:199
uint16_t userid
Definition: zcl_command_parser.h:201
const char * pin
Definition: zcl_command_parser.h:203
Data for DoorLock/GetPINCodeResponse command.
Definition: zcl_command_parser.h:218
uint8_t user_type
Definition: zcl_command_parser.h:221
uint16_t userid
Definition: zcl_command_parser.h:219
uint8_t code_length
Definition: zcl_command_parser.h:222
const char * code
Definition: zcl_command_parser.h:223
uint8_t user_status
Definition: zcl_command_parser.h:220
Data for DoorLock/GetRFIDCodeResponse command.
Definition: zcl_command_parser.h:375
const char * rfid_code
Definition: zcl_command_parser.h:380
uint16_t userid
Definition: zcl_command_parser.h:376
uint8_t rfid_code_length
Definition: zcl_command_parser.h:379
uint8_t user_type
Definition: zcl_command_parser.h:378
uint8_t user_status
Definition: zcl_command_parser.h:377
Data for DoorLock/GetUserResponse command.
Definition: zcl_command_parser.h:403
Data for DoorLock/GetUserStatusResponse command.
Definition: zcl_command_parser.h:254
uint16_t userid
Definition: zcl_command_parser.h:255
uint8_t user_status
Definition: zcl_command_parser.h:256
Data for DoorLock/GetUserTypeResponse command.
Definition: zcl_command_parser.h:358
uint16_t userid
Definition: zcl_command_parser.h:359
uint8_t user_type
Definition: zcl_command_parser.h:360
Data for DoorLock/GetWeekdayScheduleResponse command.
Definition: zcl_command_parser.h:271
uint16_t userid
Definition: zcl_command_parser.h:273
uint8_t start_minute
Definition: zcl_command_parser.h:277
uint8_t start_hour
Definition: zcl_command_parser.h:276
uint8_t end_hour
Definition: zcl_command_parser.h:278
uint8_t end_minute
Definition: zcl_command_parser.h:279
uint8_t status
Definition: zcl_command_parser.h:274
uint8_t days_mask
Definition: zcl_command_parser.h:275
uint8_t scheduleid
Definition: zcl_command_parser.h:272
Data for DoorLock/GetYearDayScheduleResponse command.
Definition: zcl_command_parser.h:302
uint32_t local_start_time
Definition: zcl_command_parser.h:306
uint8_t scheduleid
Definition: zcl_command_parser.h:303
uint32_t local_end_time
Definition: zcl_command_parser.h:307
uint8_t status
Definition: zcl_command_parser.h:305
uint16_t userid
Definition: zcl_command_parser.h:304
Data for DoorLock/LockDoorResponse command.
Definition: zcl_command_parser.h:163
uint8_t status
Definition: zcl_command_parser.h:164
Data for DoorLock/OperatingEventNotification command.
Definition: zcl_command_parser.h:410
const char * data
Definition: zcl_command_parser.h:418
uint8_t operation_event_code
Definition: zcl_command_parser.h:412
uint8_t operation_event_source
Definition: zcl_command_parser.h:411
uint8_t pin_length
Definition: zcl_command_parser.h:414
const char * pin
Definition: zcl_command_parser.h:415
uint8_t data_length
Definition: zcl_command_parser.h:417
uint16_t userid
Definition: zcl_command_parser.h:413
uint32_t local_time
Definition: zcl_command_parser.h:416
Data for DoorLock/ProgrammingEventNotification command.
Definition: zcl_command_parser.h:425
const char * pin
Definition: zcl_command_parser.h:430
uint8_t user_type
Definition: zcl_command_parser.h:431
const char * data
Definition: zcl_command_parser.h:435
uint32_t local_time
Definition: zcl_command_parser.h:433
uint8_t user_status
Definition: zcl_command_parser.h:432
uint8_t data_length
Definition: zcl_command_parser.h:434
uint16_t userid
Definition: zcl_command_parser.h:428
uint8_t program_event_source
Definition: zcl_command_parser.h:426
uint8_t pin_length
Definition: zcl_command_parser.h:429
uint8_t program_event_code
Definition: zcl_command_parser.h:427
Data for DoorLock/SetCredentialResponse command.
Definition: zcl_command_parser.h:442
Data for DoorLock/SetHolidayScheduleResponse command.
Definition: zcl_command_parser.h:322
uint8_t status
Definition: zcl_command_parser.h:323
Data for DoorLock/SetPINCodeResponse command.
Definition: zcl_command_parser.h:210
uint8_t status
Definition: zcl_command_parser.h:211
Data for DoorLock/SetRFIDCodeResponse command.
Definition: zcl_command_parser.h:367
uint8_t status
Definition: zcl_command_parser.h:368
Data for DoorLock/SetUserStatusResponse command.
Definition: zcl_command_parser.h:246
uint8_t status
Definition: zcl_command_parser.h:247
Data for DoorLock/SetUserTypeResponse command.
Definition: zcl_command_parser.h:350
uint8_t status
Definition: zcl_command_parser.h:351
Data for DoorLock/SetWeekdayScheduleResponse command.
Definition: zcl_command_parser.h:263
uint8_t status
Definition: zcl_command_parser.h:264
Data for DoorLock/SetYearDayScheduleResponse command.
Definition: zcl_command_parser.h:294
uint8_t status
Definition: zcl_command_parser.h:295
Data for DoorLock/ToggleResponse command.
Definition: zcl_command_parser.h:179
uint8_t status
Definition: zcl_command_parser.h:180
Data for DoorLock/UnlockDoorResponse command.
Definition: zcl_command_parser.h:171
uint8_t status
Definition: zcl_command_parser.h:172
Data for DoorLock/UnlockWithTimeoutResponse command.
Definition: zcl_command_parser.h:187
uint8_t status
Definition: zcl_command_parser.h:188
Data for ElectricalMeasurement/GetMeasurementProfile command.
Definition: zcl_command_parser.h:508
uint16_t attributeid
Definition: zcl_command_parser.h:509
uint8_t number_of_intervals
Definition: zcl_command_parser.h:511
Data for ElectricalMeasurement/GetProfileInfo command.
Definition: zcl_command_parser.h:501
Data for Groups/AddGroupResponse command.
Definition: zcl_command_parser.h:92
uint8_t status
Definition: zcl_command_parser.h:93
uint16_t group_id
Definition: zcl_command_parser.h:94
Data for Groups/GetGroupMembershipResponse command.
Definition: zcl_command_parser.h:112
uint16_t * group_list
Definition: zcl_command_parser.h:115
uint8_t group_list_count
Definition: zcl_command_parser.h:114
uint8_t capacity
Definition: zcl_command_parser.h:113
Data for Groups/RemoveGroupResponse command.
Definition: zcl_command_parser.h:122
uint16_t group_id
Definition: zcl_command_parser.h:124
uint8_t status
Definition: zcl_command_parser.h:123
Data for Groups/ViewGroupResponse command.
Definition: zcl_command_parser.h:101
uint8_t group_name_length
Definition: zcl_command_parser.h:104
uint8_t status
Definition: zcl_command_parser.h:102
uint16_t group_id
Definition: zcl_command_parser.h:103
const char * group_name
Definition: zcl_command_parser.h:105
Data for IASZone/ZoneEnrollRequest command.
Definition: zcl_command_parser.h:492
uint16_t zone_type
Definition: zcl_command_parser.h:493
uint16_t manufacturer_code
Definition: zcl_command_parser.h:494
Data for IASZone/ZoneStatusChangeNotification command.
Definition: zcl_command_parser.h:481
uint8_t zoneid
Definition: zcl_command_parser.h:484
uint8_t extended_status
Definition: zcl_command_parser.h:483
uint16_t zone_status
Definition: zcl_command_parser.h:482
uint16_t delay
Definition: zcl_command_parser.h:485
Data for Identify/IdentifyQueryResponse command.
Definition: zcl_command_parser.h:84
uint16_t timeout
Definition: zcl_command_parser.h:85
Data for PollControl/CheckInResponse command.
Definition: zcl_command_parser.h:131
uint16_t fast_poll_timeout
Definition: zcl_command_parser.h:133
bool start_fast_polling
Definition: zcl_command_parser.h:132
Data for PollControl/FastPollStop command.
Definition: zcl_command_parser.h:140
Data for PollControl/SetLongPollInterval command.
Definition: zcl_command_parser.h:147
uint32_t new_long_poll_interval
Definition: zcl_command_parser.h:148
Data for PollControl/SetShortPollInterval command.
Definition: zcl_command_parser.h:155
uint16_t new_short_poll_interval
Definition: zcl_command_parser.h:156
Data for Thermostat/GetRelayStatusLogResponse command.
Definition: zcl_command_parser.h:468
uint8_t humidity_percentage
Definition: zcl_command_parser.h:472
uint8_t relay_status
Definition: zcl_command_parser.h:470
uint16_t time_of_day
Definition: zcl_command_parser.h:469
uint16_t unread_entries
Definition: zcl_command_parser.h:474
int16_t local_temperature
Definition: zcl_command_parser.h:471
int16_t set_point
Definition: zcl_command_parser.h:473
Data for Thermostat/GetWeeklyScheduleResponse command.
Definition: zcl_command_parser.h:456
uint8_t transitions_count
Definition: zcl_command_parser.h:460
uint8_t mode
Definition: zcl_command_parser.h:459
zigpc_zcl_transition_type_t * transitions
Definition: zcl_command_parser.h:461
uint8_t number_of_transitions
Definition: zcl_command_parser.h:457
uint8_t day_of_week
Definition: zcl_command_parser.h:458
Container for the different types of command data that can be received.
Definition: zcl_command_parser.h:518
zigpc_zclcmdparse_door_lock_operating_event_notification_t door_lock_operating_event_notification
Definition: zcl_command_parser.h:555
zigpc_zclcmdparse_thermostat_get_relay_status_log_response_t thermostat_get_relay_status_log_response
Definition: zcl_command_parser.h:560
zigpc_zclcmdparse_door_lock_get_user_status_response_t door_lock_get_user_status_response
Definition: zcl_command_parser.h:538
zigpc_zclcmdparse_door_lock_get_weekday_schedule_response_t door_lock_get_weekday_schedule_response
Definition: zcl_command_parser.h:540
zigpc_zclcmdparse_identify_identify_query_response_t identify_identify_query_response
Definition: zcl_command_parser.h:519
zigpc_zclcmdparse_electrical_measurement_get_measurement_profile_t electrical_measurement_get_measurement_profile
Definition: zcl_command_parser.h:564
zigpc_zclcmdparse_door_lock_clear_weekday_schedule_response_t door_lock_clear_weekday_schedule_response
Definition: zcl_command_parser.h:541
zigpc_zclcmdparse_door_lock_get_credential_status_response_t door_lock_get_credential_status_response
Definition: zcl_command_parser.h:558
zigpc_zclcmdparse_door_lock_set_rfid_code_response_t door_lock_set_rfid_code_response
Definition: zcl_command_parser.h:550
zigpc_zclcmdparse_door_lock_programming_event_notification_t door_lock_programming_event_notification
Definition: zcl_command_parser.h:556
zigpc_zclcmdparse_door_lock_get_rfid_code_response_t door_lock_get_rfid_code_response
Definition: zcl_command_parser.h:551
zigpc_zclcmdparse_door_lock_get_log_record_response_t door_lock_get_log_record_response
Definition: zcl_command_parser.h:532
zigpc_zclcmdparse_groups_view_group_response_t groups_view_group_response
Definition: zcl_command_parser.h:521
zigpc_zclcmdparse_door_lock_clear_holiday_schedule_response_t door_lock_clear_holiday_schedule_response
Definition: zcl_command_parser.h:547
zigpc_zclcmdparse_door_lock_unlock_door_response_t door_lock_unlock_door_response
Definition: zcl_command_parser.h:529
zigpc_zclcmdparse_door_lock_clear_all_rfid_codes_response_t door_lock_clear_all_rfid_codes_response
Definition: zcl_command_parser.h:553
zigpc_zclcmdparse_door_lock_unlock_with_timeout_response_t door_lock_unlock_with_timeout_response
Definition: zcl_command_parser.h:531
zigpc_zclcmdparse_door_lock_get_pin_code_response_t door_lock_get_pin_code_response
Definition: zcl_command_parser.h:534
zigpc_zclcmdparse_door_lock_set_holiday_schedule_response_t door_lock_set_holiday_schedule_response
Definition: zcl_command_parser.h:545
zigpc_zclcmdparse_door_lock_toggle_response_t door_lock_toggle_response
Definition: zcl_command_parser.h:530
zigpc_zclcmdparse_poll_control_check_in_response_t poll_control_check_in_response
Definition: zcl_command_parser.h:524
zigpc_zclcmdparse_door_lock_set_weekday_schedule_response_t door_lock_set_weekday_schedule_response
Definition: zcl_command_parser.h:539
zigpc_zclcmdparse_groups_add_group_response_t groups_add_group_response
Definition: zcl_command_parser.h:520
zigpc_zclcmdparse_ias_zone_zone_status_change_notification_t ias_zone_zone_status_change_notification
Definition: zcl_command_parser.h:561
zigpc_zclcmdparse_door_lock_clear_year_day_schedule_response_t door_lock_clear_year_day_schedule_response
Definition: zcl_command_parser.h:544
zigpc_zclcmdparse_door_lock_clear_rfid_code_response_t door_lock_clear_rfid_code_response
Definition: zcl_command_parser.h:552
zigpc_zclcmdparse_poll_control_set_short_poll_interval_t poll_control_set_short_poll_interval
Definition: zcl_command_parser.h:527
zigpc_zclcmdparse_groups_get_group_membership_response_t groups_get_group_membership_response
Definition: zcl_command_parser.h:522
zigpc_zclcmdparse_door_lock_get_user_type_response_t door_lock_get_user_type_response
Definition: zcl_command_parser.h:549
zigpc_zclcmdparse_door_lock_lock_door_response_t door_lock_lock_door_response
Definition: zcl_command_parser.h:528
zigpc_zclcmdparse_door_lock_set_pin_code_response_t door_lock_set_pin_code_response
Definition: zcl_command_parser.h:533
zigpc_zclcmdparse_door_lock_get_user_response_t door_lock_get_user_response
Definition: zcl_command_parser.h:554
zigpc_zclcmdparse_groups_remove_group_response_t groups_remove_group_response
Definition: zcl_command_parser.h:523
zigpc_zclcmdparse_poll_control_fast_poll_stop_t poll_control_fast_poll_stop
Definition: zcl_command_parser.h:525
zigpc_zclcmdparse_thermostat_get_weekly_schedule_response_t thermostat_get_weekly_schedule_response
Definition: zcl_command_parser.h:559
zigpc_zclcmdparse_door_lock_set_user_status_response_t door_lock_set_user_status_response
Definition: zcl_command_parser.h:537
zigpc_zclcmdparse_door_lock_set_credential_response_t door_lock_set_credential_response
Definition: zcl_command_parser.h:557
zigpc_zclcmdparse_door_lock_set_year_day_schedule_response_t door_lock_set_year_day_schedule_response
Definition: zcl_command_parser.h:542
zigpc_zclcmdparse_poll_control_set_long_poll_interval_t poll_control_set_long_poll_interval
Definition: zcl_command_parser.h:526
zigpc_zclcmdparse_ias_zone_zone_enroll_request_t ias_zone_zone_enroll_request
Definition: zcl_command_parser.h:562
zigpc_zclcmdparse_door_lock_get_year_day_schedule_response_t door_lock_get_year_day_schedule_response
Definition: zcl_command_parser.h:543
zigpc_zclcmdparse_door_lock_set_user_type_response_t door_lock_set_user_type_response
Definition: zcl_command_parser.h:548
zigpc_zclcmdparse_door_lock_clear_all_pin_codes_response_t door_lock_clear_all_pin_codes_response
Definition: zcl_command_parser.h:536
zigpc_zclcmdparse_door_lock_clear_pin_code_response_t door_lock_clear_pin_code_response
Definition: zcl_command_parser.h:535
zigpc_zclcmdparse_door_lock_get_holiday_schedule_response_t door_lock_get_holiday_schedule_response
Definition: zcl_command_parser.h:546
zigpc_zclcmdparse_electrical_measurement_get_profile_info_t electrical_measurement_get_profile_info
Definition: zcl_command_parser.h:563