Trident IoT Zigbee SDK
 
Loading...
Searching...
No Matches
tr_zcl_endpoint_config.h
Go to the documentation of this file.
1
11#ifndef TR_ZCL_ENDPOINT_CONFIG_H
12#define TR_ZCL_ENDPOINT_CONFIG_H
13
14#include "zb_zcl_common.h"
15#include "zboss_api_internal.h"
16#include "tr_zcl_id.h"
17#include "tr_zcl_type.h"
19
20#define TR_DEVICE_MANUFACTURER_ID 0x1570U
21#define TR_GLOBAL_RESPONSE_POLICY ZB_ZCL_DISABLE_DEFAULT_RESPONSE
22
23#define TR_ZCL_NULL_EP_ID 0xFFU
24#define TR_ZCL_NULL_ID 0xFFFFU
25#define TR_ZCL_NON_MANUFACTURER_SPECIFIC 0xFFFFU
26
27/***************************************/
28/* Endpoint 1 */
29#define TR_DEVICE_EP1 1
30
31// Generated number of input and output clusters
32#define TR_DEVICE_NUM_IN_CLUSTERS_EP1 (0+1+1+1+1+1+1+1+1+1)
33#define TR_DEVICE_NUM_OUT_CLUSTERS_EP1 (0+1+1)
34
35#if defined ZB_APS_ENCRYPTION_PER_CLUSTER
36
37typedef ZB_PACKED_PRE struct tr_af_simple_desc_ep1_s
38{
39 zb_uint8_t endpoint; /* Endpoint */
40 zb_uint16_t app_profile_id; /* Application profile identifier */
41 zb_uint16_t app_device_id; /* Application device identifier */
42 zb_uint16_t app_device_version:4; /* Application device version */
43 zb_uint16_t reserved:4; /* Reserved */
44 zb_uint8_t app_input_cluster_count; /* Application input cluster count */
45 zb_uint8_t app_output_cluster_count; /* Application output cluster count */
46 /* Application input and output cluster list */
48 zb_uint8_t cluster_encryption[((TR_DEVICE_NUM_IN_CLUSTERS_EP1) + (TR_DEVICE_NUM_OUT_CLUSTERS_EP1) + 7) / 8];
49} ZB_PACKED_STRUCT tr_af_simple_desc_ep1_t;
50
51#else /* ZB_APS_ENCRYPTION_PER_CLUSTER */
52
53typedef ZB_PACKED_PRE struct tr_af_simple_desc_ep1_s
54{
55 zb_uint8_t endpoint; /* Endpoint */
56 zb_uint16_t app_profile_id; /* Application profile identifier */
57 zb_uint16_t app_device_id; /* Application device identifier */
58 zb_uint16_t app_device_version:4; /* Application device version */
59 zb_uint16_t reserved:4; /* Reserved */
60 zb_uint8_t app_input_cluster_count; /* Application input cluster count */
61 zb_uint8_t app_output_cluster_count; /* Application output cluster count */
62 /* Application input and output cluster list */
64} ZB_PACKED_STRUCT tr_af_simple_desc_ep1_t;
65
66#endif /* ZB_APS_ENCRYPTION_PER_CLUSTER */
67
68/********************************/
69/* Endpoint 1 Attribute Storage */
70// Generated cluster structs
71typedef struct
72{
73 zb_uint8_t version;
74 zb_uint8_t hw_version;
75 zb_uint8_t manufacturer_name[33];
76 zb_uint8_t model_identifier[33];
77 zb_uint8_t power_source;
80
81typedef struct
82{
85
86typedef struct
87{
88 zb_uint16_t identify_time;
91
92typedef struct
93{
97
98typedef struct
99{
100 zb_uint8_t scene_count;
101 zb_uint8_t current_scene;
102 zb_uint16_t current_group;
103 zb_uint8_t scene_valid;
107
108typedef struct
109{
112
113typedef struct
114{
117
129
145
146typedef struct
147{
150
151typedef struct
152{
153 zb_uint8_t cli_status;
156
171
172/***************************************/
173/* Endpoint 1 Default Attribute Values */
174// Generated default attribute values for basic server cluster
175#define BASIC_SERVER_VERSION_DEFAULT_EP1 8
176#define BASIC_SERVER_HW_VERSION_DEFAULT_EP1 1
177#define BASIC_SERVER_MANUFACTURER_NAME_DEFAULT_EP1 "Trident IoT"
178#define BASIC_SERVER_MODEL_IDENTIFIER_DEFAULT_EP1 "Door Lock"
179#define BASIC_SERVER_POWER_SOURCE_DEFAULT_EP1 3
180#define BASIC_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
181
182// Generated default attribute values for identify client cluster
183#define IDENTIFY_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 2
184
185// Generated default attribute values for identify server cluster
186#define IDENTIFY_SERVER_IDENTIFY_TIME_DEFAULT_EP1 0
187#define IDENTIFY_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 2
188
189// Generated default attribute values for groups server cluster
190#define GROUPS_SERVER_GROUP_NAME_SUPPORT_DEFAULT_EP1 0
191#define GROUPS_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
192
193// Generated default attribute values for scenes server cluster
194#define SCENES_SERVER_SCENE_COUNT_DEFAULT_EP1 0x00
195#define SCENES_SERVER_CURRENT_SCENE_DEFAULT_EP1 0x00
196#define SCENES_SERVER_CURRENT_GROUP_DEFAULT_EP1 0x0000
197#define SCENES_SERVER_SCENE_VALID_DEFAULT_EP1 0x00
198#define SCENES_SERVER_SCENE_NAME_SUPPORT_DEFAULT_EP1 0
199#define SCENES_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
200
201// Generated default attribute values for alarms server cluster
202#define ALARMS_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 0x0001
203
204// Generated default attribute values for time client cluster
205#define TIME_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 2
206
207// Generated default attribute values for poll control server cluster
208#define POLL_CONTROL_SERVER_CHECK_IN_INTERVAL_DEFAULT_EP1 0x00001950
209#define POLL_CONTROL_SERVER_LONG_POLL_INTERVAL_DEFAULT_EP1 0x00000014
210#define POLL_CONTROL_SERVER_SHORT_POLL_INTERVAL_DEFAULT_EP1 0x0002
211#define POLL_CONTROL_SERVER_FAST_POLL_TIMEOUT_DEFAULT_EP1 0x0028
212#define POLL_CONTROL_SERVER_CHECK_IN_INTERVAL_MIN_DEFAULT_EP1 0x000001e0
213#define POLL_CONTROL_SERVER_LONG_POLL_INTERVAL_MIN_DEFAULT_EP1 0x0000000c
214#define POLL_CONTROL_SERVER_FAST_POLL_TIMEOUT_MAX_DEFAULT_EP1 0x0010
215#define POLL_CONTROL_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
216
217// Generated default attribute values for door lock server cluster
218#define DOOR_LOCK_SERVER_LOCK_STATE_DEFAULT_EP1 0
219#define DOOR_LOCK_SERVER_LOCK_TYPE_DEFAULT_EP1 0
220#define DOOR_LOCK_SERVER_ACTUATOR_ENABLED_DEFAULT_EP1 1
221#define DOOR_LOCK_SERVER_NUM_TOTAL_USERS_SUPPORTED_DEFAULT_EP1 0x0008
222#define DOOR_LOCK_SERVER_NUM_PIN_USERS_SUPPORTED_DEFAULT_EP1 0x0008
223#define DOOR_LOCK_SERVER_MAX_PIN_LENGTH_DEFAULT_EP1 0x04
224#define DOOR_LOCK_SERVER_MIN_PIN_LENGTH_DEFAULT_EP1 0x04
225#define DOOR_LOCK_SERVER_REQUIRE_PIN_FOR_RF_OPERATION_DEFAULT_EP1 0x01
226#define DOOR_LOCK_SERVER_KEYPAD_OPERATION_EVENT_MASK_DEFAULT_EP1 0xFFFF
227#define DOOR_LOCK_SERVER_RF_OPERATION_EVENT_MASK_DEFAULT_EP1 0xFFFF
228#define DOOR_LOCK_SERVER_MANUAL_OPERATION_EVENT_MASK_DEFAULT_EP1 0xFFFF
229#define DOOR_LOCK_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
230
231// Generated default attribute values for diagnostics server cluster
232#define DIAGNOSTICS_SERVER_NUMBER_OF_RESETS_DEFAULT_EP1 0x0000
233#define DIAGNOSTICS_SERVER_MAC_RX_BCAST_DEFAULT_EP1 0x0000
234#define DIAGNOSTICS_SERVER_MAC_TX_BCAST_DEFAULT_EP1 0x0000
235#define DIAGNOSTICS_SERVER_MAC_RX_UCAST_DEFAULT_EP1 0x0000
236#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_DEFAULT_EP1 0x0000
237#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_RETRY_DEFAULT_EP1 0x0000
238#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_FAIL_DEFAULT_EP1 0x0000
239#define DIAGNOSTICS_SERVER_APS_RX_BCAST_DEFAULT_EP1 0x0000
240#define DIAGNOSTICS_SERVER_APS_TX_BCAST_DEFAULT_EP1 0x0000
241#define DIAGNOSTICS_SERVER_APS_UCAST_SUCCESS_DEFAULT_EP1 0x0000
242#define DIAGNOSTICS_SERVER_APS_TX_UCAST_RETRY_DEFAULT_EP1 0x0000
243#define DIAGNOSTICS_SERVER_APS_TX_UCAST_FAIL_DEFAULT_EP1 0x0000
244#define DIAGNOSTICS_SERVER_ROUTE_DISC_INITIATED_DEFAULT_EP1 0x0000
245#define DIAGNOSTICS_SERVER_NEIGHBOR_ADDED_DEFAULT_EP1 0x0000
246#define DIAGNOSTICS_SERVER_NEIGHBOR_REMOVED_DEFAULT_EP1 0x0000
247#define DIAGNOSTICS_SERVER_NEIGHBOR_STALE_DEFAULT_EP1 0x0000
248#define DIAGNOSTICS_SERVER_JOIN_INDICATION_DEFAULT_EP1 0x0000
249#define DIAGNOSTICS_SERVER_CHILD_MOVED_DEFAULT_EP1 0x0000
250#define DIAGNOSTICS_SERVER_NWK_FC_FAILURE_DEFAULT_EP1 0x0000
251#define DIAGNOSTICS_SERVER_APS_FC_FAILURE_DEFAULT_EP1 0x0000
252#define DIAGNOSTICS_SERVER_APS_UNAUTHORIZED_KEY_DEFAULT_EP1 0x0000
253#define DIAGNOSTICS_SERVER_NWK_DECRYPT_FAILURE_DEFAULT_EP1 0x0000
254#define DIAGNOSTICS_SERVER_APS_DECRYPT_FAILURE_DEFAULT_EP1 0x0000
255#define DIAGNOSTICS_SERVER_PACKET_BUFFER_ALLOC_FAILURES_DEFAULT_EP1 0x0000
256#define DIAGNOSTICS_SERVER_PHY_TO_MAC_QUEUE_LIMIT_REACHED_DEFAULT_EP1 0x0000
257#define DIAGNOSTICS_SERVER_PACKET_VALIDATE_DROP_COUNT_DEFAULT_EP1 0x0000
258#define DIAGNOSTICS_SERVER_AVERAGE_MAC_RETRY_PER_APS_MSG_SENT_DEFAULT_EP1 0x0000
259#define DIAGNOSTICS_SERVER_LAST_MESSAGE_LQI_DEFAULT_EP1 0x0000
260#define DIAGNOSTICS_SERVER_LAST_MESSAGE_RSSI_DEFAULT_EP1 0x0000
261#define DIAGNOSTICS_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
262
263// Generated default attribute values for remote cli server cluster
264#define REMOTE_CLI_SERVER_CLI_STATUS_DEFAULT_EP1 0x0000
265#define REMOTE_CLI_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 0x0001
266
267
268/**************************************/
269/* All Endpoint(s) Supported Commands */
270// Generated supported command(s) for alarms server cluster
271#define ALARMS_SERVER_SUPPORTED_COMMANDS_RECEIVE \
272 TR_ZCL_CMD_RESET_ALARM_ID, \
273 TR_ZCL_CMD_RESET_ALL_ALARMS_ID
274
275// Generated supported command(s) for basic server cluster
276#define BASIC_SERVER_SUPPORTED_COMMANDS_RECEIVE \
277 TR_ZCL_CMD_RESET_TO_FACTORY_DEFAULTS_ID
278
279// Generated supported command(s) for door lock server cluster
280#define DOOR_LOCK_SERVER_SUPPORTED_COMMANDS_RECEIVE \
281 TR_ZCL_CMD_LOCK_DOOR_ID, \
282 TR_ZCL_CMD_UNLOCK_DOOR_ID, \
283 TR_ZCL_CMD_SET_PIN_ID, \
284 TR_ZCL_CMD_GET_PIN_ID, \
285 TR_ZCL_CMD_CLEAR_PIN_ID, \
286 TR_ZCL_CMD_CLEAR_ALL_PINS_ID, \
287 TR_ZCL_CMD_SET_USER_STATUS_ID, \
288 TR_ZCL_CMD_GET_USER_STATUS_ID, \
289 TR_ZCL_CMD_SET_USER_TYPE_ID, \
290 TR_ZCL_CMD_GET_USER_TYPE_ID
291
292// Generated supported command(s) for groups server cluster
293#define GROUPS_SERVER_SUPPORTED_COMMANDS_RECEIVE \
294 TR_ZCL_CMD_ADD_GROUP_ID, \
295 TR_ZCL_CMD_VIEW_GROUP_ID, \
296 TR_ZCL_CMD_GET_GROUP_MEMBERSHIP_ID, \
297 TR_ZCL_CMD_REMOVE_GROUP_ID, \
298 TR_ZCL_CMD_REMOVE_ALL_GROUPS_ID, \
299 TR_ZCL_CMD_ADD_GROUP_IF_IDENTIFYING_ID
300
301// Generated supported command(s) for identify client cluster
302#define IDENTIFY_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
303 TR_ZCL_CMD_IDENTIFY_QUERY_RESPONSE_ID
304
305// Generated supported command(s) for identify server cluster
306#define IDENTIFY_SERVER_SUPPORTED_COMMANDS_RECEIVE \
307 TR_ZCL_CMD_IDENTIFY_ID, \
308 TR_ZCL_CMD_IDENTIFY_QUERY_ID, \
309 TR_ZCL_CMD_TRIGGER_EFFECT_ID
310
311// Generated supported command(s) for poll control server cluster
312#define POLL_CONTROL_SERVER_SUPPORTED_COMMANDS_RECEIVE \
313 TR_ZCL_CMD_CHECK_IN_RESPONSE_ID, \
314 TR_ZCL_CMD_FAST_POLL_STOP_ID, \
315 TR_ZCL_CMD_SET_LONG_POLL_INTERVAL_ID, \
316 TR_ZCL_CMD_SET_SHORT_POLL_INTERVAL_ID
317
318// Generated supported command(s) for remote cli server cluster
319#define REMOTE_CLI_SERVER_SUPPORTED_COMMANDS_RECEIVE \
320 TR_ZCL_CMD_CLI_COMMAND_ID, \
321 TR_ZCL_CMD_ENABLE_REMOTE_CLI_ID
322
323// Generated supported command(s) for scenes server cluster
324#define SCENES_SERVER_SUPPORTED_COMMANDS_RECEIVE \
325 TR_ZCL_CMD_ADD_SCENE_ID, \
326 TR_ZCL_CMD_VIEW_SCENE_ID, \
327 TR_ZCL_CMD_REMOVE_SCENE_ID, \
328 TR_ZCL_CMD_REMOVE_ALL_SCENES_ID, \
329 TR_ZCL_CMD_STORE_SCENE_ID, \
330 TR_ZCL_CMD_RECALL_SCENE_ID, \
331 TR_ZCL_CMD_GET_SCENE_MEMBERSHIP_ID
332
333// Generated supported command(s) for alarms server cluster
334#define ALARMS_SERVER_SUPPORTED_COMMANDS_SEND \
335 TR_ZCL_CMD_ALARM_ID
336
337// Generated supported command(s) for door lock server cluster
338#define DOOR_LOCK_SERVER_SUPPORTED_COMMANDS_SEND \
339 TR_ZCL_CMD_LOCK_DOOR_RESPONSE_ID, \
340 TR_ZCL_CMD_UNLOCK_DOOR_RESPONSE_ID, \
341 TR_ZCL_CMD_SET_PIN_RESPONSE_ID, \
342 TR_ZCL_CMD_GET_PIN_RESPONSE_ID, \
343 TR_ZCL_CMD_CLEAR_PIN_RESPONSE_ID, \
344 TR_ZCL_CMD_CLEAR_ALL_PINS_RESPONSE_ID, \
345 TR_ZCL_CMD_SET_USER_STATUS_RESPONSE_ID, \
346 TR_ZCL_CMD_GET_USER_STATUS_RESPONSE_ID, \
347 TR_ZCL_CMD_SET_USER_TYPE_RESPONSE_ID, \
348 TR_ZCL_CMD_GET_USER_TYPE_RESPONSE_ID, \
349 TR_ZCL_CMD_OPERATION_EVENT_NOTIFICATION_ID
350
351// Generated supported command(s) for groups server cluster
352#define GROUPS_SERVER_SUPPORTED_COMMANDS_SEND \
353 TR_ZCL_CMD_ADD_GROUP_RESPONSE_ID, \
354 TR_ZCL_CMD_VIEW_GROUP_RESPONSE_ID, \
355 TR_ZCL_CMD_GET_GROUP_MEMBERSHIP_RESPONSE_ID, \
356 TR_ZCL_CMD_REMOVE_GROUP_RESPONSE_ID
357
358// Generated supported command(s) for identify client cluster
359#define IDENTIFY_CLIENT_SUPPORTED_COMMANDS_SEND \
360 TR_ZCL_CMD_IDENTIFY_ID, \
361 TR_ZCL_CMD_IDENTIFY_QUERY_ID, \
362 TR_ZCL_CMD_TRIGGER_EFFECT_ID
363
364// Generated supported command(s) for identify server cluster
365#define IDENTIFY_SERVER_SUPPORTED_COMMANDS_SEND \
366 TR_ZCL_CMD_IDENTIFY_QUERY_RESPONSE_ID
367
368// Generated supported command(s) for poll control server cluster
369#define POLL_CONTROL_SERVER_SUPPORTED_COMMANDS_SEND \
370 TR_ZCL_CMD_CHECK_IN_ID
371
372// Generated supported command(s) for remote cli server cluster
373#define REMOTE_CLI_SERVER_SUPPORTED_COMMANDS_SEND \
374 TR_ZCL_CMD_CLI_COMMAND_RESPONSE_ID
375
376// Generated supported command(s) for scenes server cluster
377#define SCENES_SERVER_SUPPORTED_COMMANDS_SEND \
378 TR_ZCL_CMD_ADD_SCENE_RESPONSE_ID, \
379 TR_ZCL_CMD_VIEW_SCENE_RESPONSE_ID, \
380 TR_ZCL_CMD_REMOVE_SCENE_RESPONSE_ID, \
381 TR_ZCL_CMD_REMOVE_ALL_SCENES_RESPONSE_ID, \
382 TR_ZCL_CMD_STORE_SCENE_RESPONSE_ID, \
383 TR_ZCL_CMD_GET_SCENE_MEMBERSHIP_RESPONSE_ID
384
385/*******************************************/
386/* All Endpoint(s) nvram attribute storage */
387// Generated number of attributes stored in nvram
388#define TR_NUM_NVRAM_ATTR (0+1+1+1+1+1+1+1+1)
389
390#define TR_NVRAM_ATTR_STORAGE_CONFIG \
391 { \
392 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_CHECK_IN_INTERVAL_ID, \
393 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT32U_ATTR_TYPE }, \
394 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_LONG_POLL_INTERVAL_ID, \
395 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT32U_ATTR_TYPE }, \
396 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_SHORT_POLL_INTERVAL_ID, \
397 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT16U_ATTR_TYPE }, \
398 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_FAST_POLL_TIMEOUT_ID, \
399 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT16U_ATTR_TYPE }, \
400 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_DOOR_LOCK_ID,TR_ZCL_ATTR_DOOR_LOCK_REQUIRE_PIN_FOR_RF_OPERATION_ID, \
401 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BOOLEAN_ATTR_TYPE }, \
402 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_DOOR_LOCK_ID,TR_ZCL_ATTR_DOOR_LOCK_KEYPAD_OPERATION_EVENT_MASK_ID, \
403 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BITMAP16_ATTR_TYPE }, \
404 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_DOOR_LOCK_ID,TR_ZCL_ATTR_DOOR_LOCK_RF_OPERATION_EVENT_MASK_ID, \
405 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BITMAP16_ATTR_TYPE }, \
406 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_DOOR_LOCK_ID,TR_ZCL_ATTR_DOOR_LOCK_MANUAL_OPERATION_EVENT_MASK_ID, \
407 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BITMAP16_ATTR_TYPE }, \
408 }
409
410/****************************************/
411/* All Endpoint(s) Default Reporting Configs */
412typedef struct
413{
414 zb_uint8_t direction;
415 zb_uint8_t endpoint;
416 zb_uint16_t cluster_id;
417 zb_uint8_t cluster_role;
418 zb_uint16_t attr_id;
419 zb_uint16_t profile_id;
420 zb_uint16_t manuf_code;
421 zb_uint16_t min_interval;
422 zb_uint16_t max_interval;
423 zb_uint8_t data_type;
424 zb_uint32_t reportable_change;
426
427#ifdef TR_PLUGIN_ATTR_REPORT_TABLE_SIZE
428#define TR_ATTR_REPORT_TABLE_SIZE TR_PLUGIN_ATTR_REPORT_TABLE_SIZE
429#else
430#define TR_ATTR_REPORT_TABLE_SIZE 16
431#endif
432
433#define TR_DEVICE_NUM_DEFAULT_REPORTABLE_ATTRS 6
434
435/* {direction, endpoint, cluster_id, role, attribute_id, profile_id, manuf_code, min_interval, max_interval, data_type, reportable_change} */
436#define TR_DEVICE_REPORTING_CONFIG_DEFAULTS \
437 { \
438 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0003,TR_ZCL_CLUSTER_SERVER_ROLE,0x0000, \
439 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,900,TR_ZCL_INT16U_ATTR_TYPE,5 }, \
440 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0101,TR_ZCL_CLUSTER_SERVER_ROLE,0x0000, \
441 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_ENUM8_ATTR_TYPE,0 }, \
442 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0101,TR_ZCL_CLUSTER_SERVER_ROLE,0x0033, \
443 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_BOOLEAN_ATTR_TYPE,0 }, \
444 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0101,TR_ZCL_CLUSTER_SERVER_ROLE,0x0041, \
445 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_BITMAP16_ATTR_TYPE,0 }, \
446 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0101,TR_ZCL_CLUSTER_SERVER_ROLE,0x0042, \
447 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_BITMAP16_ATTR_TYPE,0 }, \
448 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0101,TR_ZCL_CLUSTER_SERVER_ROLE,0x0043, \
449 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_BITMAP16_ATTR_TYPE,0 }, \
450 }
451
452#define TR_TOTAL_ATTR_REPORT_TABLE_SIZE (TR_ATTR_REPORT_TABLE_SIZE + TR_DEVICE_NUM_DEFAULT_REPORTABLE_ATTRS)
453
454// Structure for cluster id/names
455typedef struct
456{
457 zb_uint16_t cluster_id;
458 zb_char_t *cluster_name;
460
462extern zb_af_endpoint_desc_t tr_endpoint_desc_ep1;
463extern zb_af_device_ctx_t tr_device_ctx;
464extern zb_zcl_reporting_info_t tr_device_reporting_info[TR_TOTAL_ATTR_REPORT_TABLE_SIZE];
465
466extern zb_zcl_diagnostics_ctx_t diagnostics_ctx_zcl;
467
471
472#endif /* TR_ZCL_ENDPOINT_CONFIG_H */
zb_af_endpoint_desc_t tr_endpoint_desc_ep1
ZB_PACKED_PRE struct tr_af_simple_desc_ep1_s tr_af_simple_desc_ep1_t
ZCL ID definitions.
includes Trident ZCL plugin header files or creates stubs that can be consumed by the end user.
ZCL definitions for types, enums, and data structures.
#define TR_TOTAL_ATTR_REPORT_TABLE_SIZE
Definition tr_zcl_endpoint_config.h:69
zb_af_device_ctx_t tr_device_ctx
tr_cluster_names_t tr_cluster_names[]
void tr_zcl_endpoint_config_reporting_init(void)
zb_zcl_diagnostics_ctx_t diagnostics_ctx_zcl
void tr_zcl_endpoint_config_attr_init(uint8_t endpoint)
void tr_zcl_endpoint_config_init(void)
zb_zcl_reporting_info_t tr_device_reporting_info[TR_TOTAL_ATTR_REPORT_TABLE_SIZE]
#define TR_DEVICE_NUM_IN_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:32
#define TR_DEVICE_NUM_OUT_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:33
Definition tr_zcl_endpoint_config.h:109
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:110
Definition tr_zcl_endpoint_config.h:72
zb_uint8_t power_source
Definition tr_zcl_endpoint_config.h:77
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:78
zb_uint8_t version
Definition tr_zcl_endpoint_config.h:73
zb_uint8_t hw_version
Definition tr_zcl_endpoint_config.h:74
Definition tr_zcl_endpoint_config.h:158
time_client_attr_ep1_t time_client
Definition tr_zcl_endpoint_config.h:165
basic_server_attr_ep1_t basic_server
Definition tr_zcl_endpoint_config.h:159
identify_server_attr_ep1_t identify_server
Definition tr_zcl_endpoint_config.h:161
alarms_server_attr_ep1_t alarms_server
Definition tr_zcl_endpoint_config.h:164
diagnostics_server_attr_ep1_t diagnostics_server
Definition tr_zcl_endpoint_config.h:168
identify_client_attr_ep1_t identify_client
Definition tr_zcl_endpoint_config.h:160
door_lock_server_attr_ep1_t door_lock_server
Definition tr_zcl_endpoint_config.h:167
poll_control_server_attr_ep1_t poll_control_server
Definition tr_zcl_endpoint_config.h:166
remote_cli_server_attr_ep1_t remote_cli_server
Definition tr_zcl_endpoint_config.h:169
groups_server_attr_ep1_t groups_server
Definition tr_zcl_endpoint_config.h:162
scenes_server_attr_ep1_t scenes_server
Definition tr_zcl_endpoint_config.h:163
Definition tr_zcl_endpoint_config.h:147
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:148
Definition tr_zcl_endpoint_config.h:131
zb_uint16_t manual_operation_event_mask
Definition tr_zcl_endpoint_config.h:142
zb_uint8_t actuator_enabled
Definition tr_zcl_endpoint_config.h:134
zb_uint16_t num_pin_users_supported
Definition tr_zcl_endpoint_config.h:136
zb_uint8_t lock_state
Definition tr_zcl_endpoint_config.h:132
zb_uint16_t rf_operation_event_mask
Definition tr_zcl_endpoint_config.h:141
zb_uint8_t max_pin_length
Definition tr_zcl_endpoint_config.h:137
zb_uint16_t num_total_users_supported
Definition tr_zcl_endpoint_config.h:135
zb_uint8_t min_pin_length
Definition tr_zcl_endpoint_config.h:138
zb_uint8_t require_pin_for_rf_operation
Definition tr_zcl_endpoint_config.h:139
zb_uint8_t lock_type
Definition tr_zcl_endpoint_config.h:133
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:143
zb_uint16_t keypad_operation_event_mask
Definition tr_zcl_endpoint_config.h:140
Definition tr_zcl_endpoint_config.h:93
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:95
zb_uint8_t group_name_support
Definition tr_zcl_endpoint_config.h:94
Definition tr_zcl_endpoint_config.h:82
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:83
Definition tr_zcl_endpoint_config.h:87
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:89
zb_uint16_t identify_time
Definition tr_zcl_endpoint_config.h:88
Definition tr_zcl_endpoint_config.h:119
zb_uint16_t fast_poll_timeout
Definition tr_zcl_endpoint_config.h:123
zb_uint32_t check_in_interval
Definition tr_zcl_endpoint_config.h:120
zb_uint32_t check_in_interval_min
Definition tr_zcl_endpoint_config.h:124
zb_uint32_t long_poll_interval
Definition tr_zcl_endpoint_config.h:121
zb_uint16_t short_poll_interval
Definition tr_zcl_endpoint_config.h:122
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:127
zb_uint32_t long_poll_interval_min
Definition tr_zcl_endpoint_config.h:125
zb_uint16_t fast_poll_timeout_max
Definition tr_zcl_endpoint_config.h:126
Definition tr_zcl_endpoint_config.h:152
zb_uint8_t cli_status
Definition tr_zcl_endpoint_config.h:153
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:154
Definition tr_zcl_endpoint_config.h:99
zb_uint8_t scene_name_support
Definition tr_zcl_endpoint_config.h:104
zb_uint8_t scene_count
Definition tr_zcl_endpoint_config.h:100
zb_uint16_t current_group
Definition tr_zcl_endpoint_config.h:102
zb_uint8_t scene_valid
Definition tr_zcl_endpoint_config.h:103
zb_uint8_t current_scene
Definition tr_zcl_endpoint_config.h:101
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:105
Definition tr_zcl_endpoint_config.h:114
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:115
Definition tr_zcl_endpoint_config.h:54
zb_uint16_t app_profile_id
Definition tr_zcl_endpoint_config.h:56
zb_uint8_t app_output_cluster_count
Definition tr_zcl_endpoint_config.h:61
zb_uint16_t app_cluster_list[(TR_DEVICE_NUM_IN_CLUSTERS_EP1)+(TR_DEVICE_NUM_OUT_CLUSTERS_EP1)]
Definition tr_zcl_endpoint_config.h:63
zb_uint8_t app_input_cluster_count
Definition tr_zcl_endpoint_config.h:60
zb_uint16_t reserved
Definition tr_zcl_endpoint_config.h:59
zb_uint8_t endpoint
Definition tr_zcl_endpoint_config.h:55
zb_uint16_t app_device_version
Definition tr_zcl_endpoint_config.h:58
zb_uint16_t app_device_id
Definition tr_zcl_endpoint_config.h:57
Definition tr_zcl_endpoint_config.h:413
zb_uint16_t cluster_id
Definition tr_zcl_endpoint_config.h:416
zb_uint8_t endpoint
Definition tr_zcl_endpoint_config.h:415
zb_uint16_t profile_id
Definition tr_zcl_endpoint_config.h:419
zb_uint32_t reportable_change
Definition tr_zcl_endpoint_config.h:424
zb_uint16_t max_interval
Definition tr_zcl_endpoint_config.h:422
zb_uint8_t cluster_role
Definition tr_zcl_endpoint_config.h:417
zb_uint8_t data_type
Definition tr_zcl_endpoint_config.h:423
zb_uint16_t attr_id
Definition tr_zcl_endpoint_config.h:418
zb_uint16_t manuf_code
Definition tr_zcl_endpoint_config.h:420
zb_uint8_t direction
Definition tr_zcl_endpoint_config.h:414
zb_uint16_t min_interval
Definition tr_zcl_endpoint_config.h:421
Definition tr_zcl_endpoint_config.h:456
zb_uint16_t cluster_id
Definition tr_zcl_endpoint_config.h:457
zb_char_t * cluster_name
Definition tr_zcl_endpoint_config.h:458
zb_uint8_t endpoint
Definition tr_nvram_attr.h:23