11#ifndef TR_ZCL_ENDPOINT_CONFIG_H
12#define TR_ZCL_ENDPOINT_CONFIG_H
14#include "zb_zcl_common.h"
15#include "zboss_api_internal.h"
21#define TR_DEVICE_MANUFACTURER_ID 0x1570U
22#define TR_GLOBAL_RESPONSE_POLICY ZB_ZCL_DISABLE_DEFAULT_RESPONSE
24#define TR_ZCL_NULL_EP_ID 0xFFU
25#define TR_ZCL_NULL_ID 0xFFFFU
26#define TR_ZCL_NON_MANUFACTURER_SPECIFIC 0xFFFFU
28#define TR_DEVICE_EP_COUNT (2)
32#define TR_DEVICE_EP1 1
35#define TR_DEVICE_NUM_IN_CLUSTERS_EP1 (0+1+1+1+1+1+1+1)
36#define TR_DEVICE_NUM_OUT_CLUSTERS_EP1 (0+1+1+1+1+1)
39#if (TR_DEVICE_NUM_IN_CLUSTERS_EP1 + TR_DEVICE_NUM_OUT_CLUSTERS_EP1) > ZB_ZCL_CLUSTER_HANDLERS_TABLE_SIZE
40#error "Maximum number of clusters exceeded on endpoint 1! Must be less than ZB_ZCL_CLUSTER_HANDLERS_TABLE_SIZE"
43#if defined ZB_APS_ENCRYPTION_PER_CLUSTER
82 zb_uint8_t hw_version;
83 zb_uint8_t manufacturer_name[33];
84 zb_uint8_t model_identifier[33];
85 zb_uint8_t power_source;
86 zb_uint16_t cluster_revision_server;
91 zb_uint8_t battery_voltage;
92 zb_uint8_t battery_size;
93 zb_uint8_t battery_quantity;
94 zb_uint8_t battery_alarm_mask;
95 zb_uint8_t battery_voltage_min_threshold;
96 zb_uint32_t battery_alarm_state;
97 zb_uint16_t cluster_revision_server;
102 zb_uint16_t cluster_revision_client;
108 zb_uint16_t cluster_revision_server;
135 zb_ieee_addr_t upgrade_server_id;
138 zb_uint32_t downloaded_file_version;
139 zb_uint8_t image_upgrade_status;
141 zb_uint16_t image_type_id;
142 zb_uint16_t minimum_block_request_period;
143 zb_uint16_t cluster_revision_client;
150 zb_uint16_t short_poll_interval;
152 zb_uint32_t check_in_interval_min;
153 zb_uint32_t long_poll_interval_min;
154 zb_uint16_t fast_poll_timeout_max;
155 zb_uint16_t cluster_revision_server;
160 zb_uint16_t cluster_revision_server;
165 zb_uint8_t cli_status;
166 zb_uint16_t cluster_revision_server;
188#define BASIC_SERVER_VERSION_DEFAULT_EP1 8
189#define BASIC_SERVER_HW_VERSION_DEFAULT_EP1 1
190#define BASIC_SERVER_MANUFACTURER_NAME_DEFAULT_EP1 "Trident IoT"
191#define BASIC_SERVER_MODEL_IDENTIFIER_DEFAULT_EP1 "Light Switch"
192#define BASIC_SERVER_POWER_SOURCE_DEFAULT_EP1 4
193#define BASIC_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
196#define POWER_CONFIGURATION_SERVER_BATTERY_VOLTAGE_DEFAULT_EP1 30
197#define POWER_CONFIGURATION_SERVER_BATTERY_SIZE_DEFAULT_EP1 2
198#define POWER_CONFIGURATION_SERVER_BATTERY_QUANTITY_DEFAULT_EP1 1
199#define POWER_CONFIGURATION_SERVER_BATTERY_ALARM_MASK_DEFAULT_EP1 1
200#define POWER_CONFIGURATION_SERVER_BATTERY_VOLTAGE_MIN_THRESHOLD_DEFAULT_EP1 23
201#define POWER_CONFIGURATION_SERVER_BATTERY_ALARM_STATE_DEFAULT_EP1 0
202#define POWER_CONFIGURATION_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 2
205#define IDENTIFY_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 2
208#define IDENTIFY_SERVER_IDENTIFY_TIME_DEFAULT_EP1 0
209#define IDENTIFY_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 2
212#define GROUPS_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 3
215#define SCENES_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 3
218#define ON_OFF_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 2
221#define ON_OFF_SWITCH_CONFIGURATION_SERVER_SWITCH_TYPE_DEFAULT_EP1 1
222#define ON_OFF_SWITCH_CONFIGURATION_SERVER_SWITCH_ACTIONS_DEFAULT_EP1 2
223#define ON_OFF_SWITCH_CONFIGURATION_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 1
226#define OVER_THE_AIR_BOOTLOADING_CLIENT_UPGRADE_SERVER_ID_DEFAULT_EP1 (zb_ieee_addr_t){ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
227#define OVER_THE_AIR_BOOTLOADING_CLIENT_FILE_OFFSET_DEFAULT_EP1 0xffffffff
228#define OVER_THE_AIR_BOOTLOADING_CLIENT_CURRENT_FILE_VERSION_DEFAULT_EP1 0x01020304
229#define OVER_THE_AIR_BOOTLOADING_CLIENT_DOWNLOADED_FILE_VERSION_DEFAULT_EP1 0xffffffff
230#define OVER_THE_AIR_BOOTLOADING_CLIENT_IMAGE_UPGRADE_STATUS_DEFAULT_EP1 0x00
231#define OVER_THE_AIR_BOOTLOADING_CLIENT_MANUFACTURER_ID_DEFAULT_EP1 0x1570
232#define OVER_THE_AIR_BOOTLOADING_CLIENT_IMAGE_TYPE_ID_DEFAULT_EP1 0x0004
233#define OVER_THE_AIR_BOOTLOADING_CLIENT_MINIMUM_BLOCK_REQUEST_PERIOD_DEFAULT_EP1 0x0000
234#define OVER_THE_AIR_BOOTLOADING_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP1 4
237#define POLL_CONTROL_SERVER_CHECK_IN_INTERVAL_DEFAULT_EP1 0x000004b0
238#define POLL_CONTROL_SERVER_LONG_POLL_INTERVAL_DEFAULT_EP1 0x00000018
239#define POLL_CONTROL_SERVER_SHORT_POLL_INTERVAL_DEFAULT_EP1 0x0002
240#define POLL_CONTROL_SERVER_FAST_POLL_TIMEOUT_DEFAULT_EP1 0x0028
241#define POLL_CONTROL_SERVER_CHECK_IN_INTERVAL_MIN_DEFAULT_EP1 0x000000F0
242#define POLL_CONTROL_SERVER_LONG_POLL_INTERVAL_MIN_DEFAULT_EP1 0x00000008
243#define POLL_CONTROL_SERVER_FAST_POLL_TIMEOUT_MAX_DEFAULT_EP1 0x0028
244#define POLL_CONTROL_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
247#define DIAGNOSTICS_SERVER_NUMBER_OF_RESETS_DEFAULT_EP1 0x0000
248#define DIAGNOSTICS_SERVER_MAC_RX_BCAST_DEFAULT_EP1 0x0000
249#define DIAGNOSTICS_SERVER_MAC_TX_BCAST_DEFAULT_EP1 0x0000
250#define DIAGNOSTICS_SERVER_MAC_RX_UCAST_DEFAULT_EP1 0x0000
251#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_DEFAULT_EP1 0x0000
252#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_RETRY_DEFAULT_EP1 0x0000
253#define DIAGNOSTICS_SERVER_MAC_TX_UCAST_FAIL_DEFAULT_EP1 0x0000
254#define DIAGNOSTICS_SERVER_APS_RX_BCAST_DEFAULT_EP1 0x0000
255#define DIAGNOSTICS_SERVER_APS_TX_BCAST_DEFAULT_EP1 0x0000
256#define DIAGNOSTICS_SERVER_APS_UCAST_SUCCESS_DEFAULT_EP1 0x0000
257#define DIAGNOSTICS_SERVER_APS_TX_UCAST_RETRY_DEFAULT_EP1 0x0000
258#define DIAGNOSTICS_SERVER_APS_TX_UCAST_FAIL_DEFAULT_EP1 0x0000
259#define DIAGNOSTICS_SERVER_ROUTE_DISC_INITIATED_DEFAULT_EP1 0x0000
260#define DIAGNOSTICS_SERVER_NEIGHBOR_ADDED_DEFAULT_EP1 0x0000
261#define DIAGNOSTICS_SERVER_NEIGHBOR_REMOVED_DEFAULT_EP1 0x0000
262#define DIAGNOSTICS_SERVER_NEIGHBOR_STALE_DEFAULT_EP1 0x0000
263#define DIAGNOSTICS_SERVER_JOIN_INDICATION_DEFAULT_EP1 0x0000
264#define DIAGNOSTICS_SERVER_CHILD_MOVED_DEFAULT_EP1 0x0000
265#define DIAGNOSTICS_SERVER_NWK_FC_FAILURE_DEFAULT_EP1 0x0000
266#define DIAGNOSTICS_SERVER_APS_FC_FAILURE_DEFAULT_EP1 0x0000
267#define DIAGNOSTICS_SERVER_APS_UNAUTHORIZED_KEY_DEFAULT_EP1 0x0000
268#define DIAGNOSTICS_SERVER_NWK_DECRYPT_FAILURE_DEFAULT_EP1 0x0000
269#define DIAGNOSTICS_SERVER_APS_DECRYPT_FAILURE_DEFAULT_EP1 0x0000
270#define DIAGNOSTICS_SERVER_PACKET_BUFFER_ALLOC_FAILURES_DEFAULT_EP1 0x0000
271#define DIAGNOSTICS_SERVER_PHY_TO_MAC_QUEUE_LIMIT_REACHED_DEFAULT_EP1 0x0000
272#define DIAGNOSTICS_SERVER_PACKET_VALIDATE_DROP_COUNT_DEFAULT_EP1 0x0000
273#define DIAGNOSTICS_SERVER_AVERAGE_MAC_RETRY_PER_APS_MSG_SENT_DEFAULT_EP1 0x0000
274#define DIAGNOSTICS_SERVER_LAST_MESSAGE_LQI_DEFAULT_EP1 0x0000
275#define DIAGNOSTICS_SERVER_LAST_MESSAGE_RSSI_DEFAULT_EP1 0x0000
276#define DIAGNOSTICS_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 3
279#define REMOTE_CLI_SERVER_CLI_STATUS_DEFAULT_EP1 0x0000
280#define REMOTE_CLI_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP1 0x0001
284#define TR_DEVICE_EP2 2
287#define TR_DEVICE_NUM_IN_CLUSTERS_EP2 (0+1+1+1+1)
288#define TR_DEVICE_NUM_OUT_CLUSTERS_EP2 (0+1+1+1+1)
291#if (TR_DEVICE_NUM_IN_CLUSTERS_EP2 + TR_DEVICE_NUM_OUT_CLUSTERS_EP2) > ZB_ZCL_CLUSTER_HANDLERS_TABLE_SIZE
292#error "Maximum number of clusters exceeded on endpoint 2! Must be less than ZB_ZCL_CLUSTER_HANDLERS_TABLE_SIZE"
295#if defined ZB_APS_ENCRYPTION_PER_CLUSTER
400#define BASIC_SERVER_VERSION_DEFAULT_EP2 8
401#define BASIC_SERVER_HW_VERSION_DEFAULT_EP2 1
402#define BASIC_SERVER_MANUFACTURER_NAME_DEFAULT_EP2 ""
403#define BASIC_SERVER_MODEL_IDENTIFIER_DEFAULT_EP2 ""
404#define BASIC_SERVER_POWER_SOURCE_DEFAULT_EP2 4
405#define BASIC_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP2 3
408#define POWER_CONFIGURATION_SERVER_BATTERY_VOLTAGE_DEFAULT_EP2 30
409#define POWER_CONFIGURATION_SERVER_BATTERY_SIZE_DEFAULT_EP2 2
410#define POWER_CONFIGURATION_SERVER_BATTERY_QUANTITY_DEFAULT_EP2 1
411#define POWER_CONFIGURATION_SERVER_BATTERY_ALARM_MASK_DEFAULT_EP2 1
412#define POWER_CONFIGURATION_SERVER_BATTERY_VOLTAGE_MIN_THRESHOLD_DEFAULT_EP2 23
413#define POWER_CONFIGURATION_SERVER_BATTERY_ALARM_STATE_DEFAULT_EP2 0
414#define POWER_CONFIGURATION_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP2 2
417#define IDENTIFY_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP2 2
420#define IDENTIFY_SERVER_IDENTIFY_TIME_DEFAULT_EP2 0
421#define IDENTIFY_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP2 2
424#define GROUPS_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP2 3
427#define SCENES_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP2 3
430#define ON_OFF_CLIENT_CLUSTER_REVISION_CLIENT_DEFAULT_EP2 2
433#define ON_OFF_SWITCH_CONFIGURATION_SERVER_SWITCH_TYPE_DEFAULT_EP2 1
434#define ON_OFF_SWITCH_CONFIGURATION_SERVER_SWITCH_ACTIONS_DEFAULT_EP2 2
435#define ON_OFF_SWITCH_CONFIGURATION_SERVER_CLUSTER_REVISION_SERVER_DEFAULT_EP2 1
440#define TR_ZCL_CLUSTER_BASIC_SERVER_EP_COUNT (0+1+1)
441#define TR_ZCL_CLUSTER_POWER_CONFIGURATION_SERVER_EP_COUNT (0+1+1)
442#define TR_ZCL_CLUSTER_IDENTIFY_CLIENT_EP_COUNT (0+1+1)
443#define TR_ZCL_CLUSTER_IDENTIFY_SERVER_EP_COUNT (0+1+1)
444#define TR_ZCL_CLUSTER_GROUPS_CLIENT_EP_COUNT (0+1+1)
445#define TR_ZCL_CLUSTER_SCENES_CLIENT_EP_COUNT (0+1+1)
446#define TR_ZCL_CLUSTER_ON_OFF_CLIENT_EP_COUNT (0+1+1)
447#define TR_ZCL_CLUSTER_ON_OFF_SWITCH_CONFIGURATION_SERVER_EP_COUNT (0+1+1)
448#define TR_ZCL_CLUSTER_OVER_THE_AIR_BOOTLOADING_CLIENT_EP_COUNT (0+1)
449#define TR_ZCL_CLUSTER_POLL_CONTROL_SERVER_EP_COUNT (0+1)
450#define TR_ZCL_CLUSTER_DIAGNOSTICS_SERVER_EP_COUNT (0+1)
451#define TR_ZCL_CLUSTER_REMOTE_CLI_SERVER_EP_COUNT (0+1)
456#define TR_ZCL_ATTR_BASIC_VERSION_SUPPORTED
457#define TR_ZCL_ATTR_BASIC_HW_VERSION_SUPPORTED
458#define TR_ZCL_ATTR_BASIC_MANUFACTURER_NAME_SUPPORTED
459#define TR_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_SUPPORTED
460#define TR_ZCL_ATTR_BASIC_POWER_SOURCE_SUPPORTED
461#define TR_ZCL_ATTR_BASIC_CLUSTER_REVISION_SERVER_SUPPORTED
462#define TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_VOLTAGE_SUPPORTED
463#define TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_SIZE_SUPPORTED
464#define TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_QUANTITY_SUPPORTED
465#define TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_ALARM_MASK_SUPPORTED
466#define TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_VOLTAGE_MIN_THRESHOLD_SUPPORTED
467#define TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_ALARM_STATE_SUPPORTED
468#define TR_ZCL_ATTR_POWER_CONFIGURATION_CLUSTER_REVISION_SERVER_SUPPORTED
469#define TR_ZCL_ATTR_IDENTIFY_CLUSTER_REVISION_CLIENT_SUPPORTED
470#define TR_ZCL_ATTR_IDENTIFY_IDENTIFY_TIME_SUPPORTED
471#define TR_ZCL_ATTR_IDENTIFY_CLUSTER_REVISION_SERVER_SUPPORTED
472#define TR_ZCL_ATTR_GROUPS_CLUSTER_REVISION_CLIENT_SUPPORTED
473#define TR_ZCL_ATTR_SCENES_CLUSTER_REVISION_CLIENT_SUPPORTED
474#define TR_ZCL_ATTR_ON_OFF_CLUSTER_REVISION_CLIENT_SUPPORTED
475#define TR_ZCL_ATTR_ON_OFF_SWITCH_CONFIGURATION_SWITCH_TYPE_SUPPORTED
476#define TR_ZCL_ATTR_ON_OFF_SWITCH_CONFIGURATION_SWITCH_ACTIONS_SUPPORTED
477#define TR_ZCL_ATTR_ON_OFF_SWITCH_CONFIGURATION_CLUSTER_REVISION_SERVER_SUPPORTED
478#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_UPGRADE_SERVER_ID_SUPPORTED
479#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_FILE_OFFSET_SUPPORTED
480#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_CURRENT_FILE_VERSION_SUPPORTED
481#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_DOWNLOADED_FILE_VERSION_SUPPORTED
482#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_IMAGE_UPGRADE_STATUS_SUPPORTED
483#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_MANUFACTURER_ID_SUPPORTED
484#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_IMAGE_TYPE_ID_SUPPORTED
485#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_MINIMUM_BLOCK_REQUEST_PERIOD_SUPPORTED
486#define TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_CLUSTER_REVISION_CLIENT_SUPPORTED
487#define TR_ZCL_ATTR_POLL_CONTROL_CHECK_IN_INTERVAL_SUPPORTED
488#define TR_ZCL_ATTR_POLL_CONTROL_LONG_POLL_INTERVAL_SUPPORTED
489#define TR_ZCL_ATTR_POLL_CONTROL_SHORT_POLL_INTERVAL_SUPPORTED
490#define TR_ZCL_ATTR_POLL_CONTROL_FAST_POLL_TIMEOUT_SUPPORTED
491#define TR_ZCL_ATTR_POLL_CONTROL_CHECK_IN_INTERVAL_MIN_SUPPORTED
492#define TR_ZCL_ATTR_POLL_CONTROL_LONG_POLL_INTERVAL_MIN_SUPPORTED
493#define TR_ZCL_ATTR_POLL_CONTROL_FAST_POLL_TIMEOUT_MAX_SUPPORTED
494#define TR_ZCL_ATTR_POLL_CONTROL_CLUSTER_REVISION_SERVER_SUPPORTED
495#define TR_ZCL_ATTR_DIAGNOSTICS_NUMBER_OF_RESETS_SUPPORTED
496#define TR_ZCL_ATTR_DIAGNOSTICS_MAC_RX_BCAST_SUPPORTED
497#define TR_ZCL_ATTR_DIAGNOSTICS_MAC_TX_BCAST_SUPPORTED
498#define TR_ZCL_ATTR_DIAGNOSTICS_MAC_RX_UCAST_SUPPORTED
499#define TR_ZCL_ATTR_DIAGNOSTICS_MAC_TX_UCAST_SUPPORTED
500#define TR_ZCL_ATTR_DIAGNOSTICS_MAC_TX_UCAST_RETRY_SUPPORTED
501#define TR_ZCL_ATTR_DIAGNOSTICS_MAC_TX_UCAST_FAIL_SUPPORTED
502#define TR_ZCL_ATTR_DIAGNOSTICS_APS_RX_BCAST_SUPPORTED
503#define TR_ZCL_ATTR_DIAGNOSTICS_APS_TX_BCAST_SUPPORTED
504#define TR_ZCL_ATTR_DIAGNOSTICS_APS_UCAST_SUCCESS_SUPPORTED
505#define TR_ZCL_ATTR_DIAGNOSTICS_APS_TX_UCAST_RETRY_SUPPORTED
506#define TR_ZCL_ATTR_DIAGNOSTICS_APS_TX_UCAST_FAIL_SUPPORTED
507#define TR_ZCL_ATTR_DIAGNOSTICS_ROUTE_DISC_INITIATED_SUPPORTED
508#define TR_ZCL_ATTR_DIAGNOSTICS_NEIGHBOR_ADDED_SUPPORTED
509#define TR_ZCL_ATTR_DIAGNOSTICS_NEIGHBOR_REMOVED_SUPPORTED
510#define TR_ZCL_ATTR_DIAGNOSTICS_NEIGHBOR_STALE_SUPPORTED
511#define TR_ZCL_ATTR_DIAGNOSTICS_JOIN_INDICATION_SUPPORTED
512#define TR_ZCL_ATTR_DIAGNOSTICS_CHILD_MOVED_SUPPORTED
513#define TR_ZCL_ATTR_DIAGNOSTICS_NWK_FC_FAILURE_SUPPORTED
514#define TR_ZCL_ATTR_DIAGNOSTICS_APS_FC_FAILURE_SUPPORTED
515#define TR_ZCL_ATTR_DIAGNOSTICS_APS_UNAUTHORIZED_KEY_SUPPORTED
516#define TR_ZCL_ATTR_DIAGNOSTICS_NWK_DECRYPT_FAILURE_SUPPORTED
517#define TR_ZCL_ATTR_DIAGNOSTICS_APS_DECRYPT_FAILURE_SUPPORTED
518#define TR_ZCL_ATTR_DIAGNOSTICS_PACKET_BUFFER_ALLOC_FAILURES_SUPPORTED
519#define TR_ZCL_ATTR_DIAGNOSTICS_PHY_TO_MAC_QUEUE_LIMIT_REACHED_SUPPORTED
520#define TR_ZCL_ATTR_DIAGNOSTICS_PACKET_VALIDATE_DROP_COUNT_SUPPORTED
521#define TR_ZCL_ATTR_DIAGNOSTICS_AVERAGE_MAC_RETRY_PER_APS_MSG_SENT_SUPPORTED
522#define TR_ZCL_ATTR_DIAGNOSTICS_LAST_MESSAGE_LQI_SUPPORTED
523#define TR_ZCL_ATTR_DIAGNOSTICS_LAST_MESSAGE_RSSI_SUPPORTED
524#define TR_ZCL_ATTR_DIAGNOSTICS_CLUSTER_REVISION_SERVER_SUPPORTED
525#define TR_ZCL_ATTR_REMOTE_CLI_CLI_STATUS_SUPPORTED
526#define TR_ZCL_ATTR_REMOTE_CLI_CLUSTER_REVISION_SERVER_SUPPORTED
531#define BASIC_SERVER_SUPPORTED_COMMANDS_RECEIVE \
532 TR_ZCL_CMD_RESET_TO_FACTORY_DEFAULTS_ID
535#define GROUPS_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
536 TR_ZCL_CMD_ADD_GROUP_RESPONSE_ID, \
537 TR_ZCL_CMD_VIEW_GROUP_RESPONSE_ID, \
538 TR_ZCL_CMD_GET_GROUP_MEMBERSHIP_RESPONSE_ID, \
539 TR_ZCL_CMD_REMOVE_GROUP_RESPONSE_ID
542#define IDENTIFY_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
543 TR_ZCL_CMD_IDENTIFY_QUERY_RESPONSE_ID
546#define IDENTIFY_SERVER_SUPPORTED_COMMANDS_RECEIVE \
547 TR_ZCL_CMD_IDENTIFY_ID, \
548 TR_ZCL_CMD_IDENTIFY_QUERY_ID, \
549 TR_ZCL_CMD_TRIGGER_EFFECT_ID
552#define OVER_THE_AIR_BOOTLOADING_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
553 TR_ZCL_CMD_IMAGE_NOTIFY_ID, \
554 TR_ZCL_CMD_QUERY_NEXT_IMAGE_RESPONSE_ID, \
555 TR_ZCL_CMD_IMAGE_BLOCK_RESPONSE_ID, \
556 TR_ZCL_CMD_UPGRADE_END_RESPONSE_ID
559#define POLL_CONTROL_SERVER_SUPPORTED_COMMANDS_RECEIVE \
560 TR_ZCL_CMD_CHECK_IN_RESPONSE_ID, \
561 TR_ZCL_CMD_FAST_POLL_STOP_ID, \
562 TR_ZCL_CMD_SET_LONG_POLL_INTERVAL_ID, \
563 TR_ZCL_CMD_SET_SHORT_POLL_INTERVAL_ID
566#define REMOTE_CLI_SERVER_SUPPORTED_COMMANDS_RECEIVE \
567 TR_ZCL_CMD_CLI_COMMAND_ID, \
568 TR_ZCL_CMD_ENABLE_REMOTE_CLI_ID
571#define SCENES_CLIENT_SUPPORTED_COMMANDS_RECEIVE \
572 TR_ZCL_CMD_ADD_SCENE_RESPONSE_ID, \
573 TR_ZCL_CMD_VIEW_SCENE_RESPONSE_ID, \
574 TR_ZCL_CMD_REMOVE_SCENE_RESPONSE_ID, \
575 TR_ZCL_CMD_REMOVE_ALL_SCENES_RESPONSE_ID, \
576 TR_ZCL_CMD_STORE_SCENE_RESPONSE_ID, \
577 TR_ZCL_CMD_GET_SCENE_MEMBERSHIP_RESPONSE_ID
580#define GROUPS_CLIENT_SUPPORTED_COMMANDS_SEND \
581 TR_ZCL_CMD_ADD_GROUP_ID, \
582 TR_ZCL_CMD_VIEW_GROUP_ID, \
583 TR_ZCL_CMD_GET_GROUP_MEMBERSHIP_ID, \
584 TR_ZCL_CMD_REMOVE_GROUP_ID, \
585 TR_ZCL_CMD_REMOVE_ALL_GROUPS_ID, \
586 TR_ZCL_CMD_ADD_GROUP_IF_IDENTIFYING_ID
589#define IDENTIFY_CLIENT_SUPPORTED_COMMANDS_SEND \
590 TR_ZCL_CMD_IDENTIFY_ID, \
591 TR_ZCL_CMD_IDENTIFY_QUERY_ID, \
592 TR_ZCL_CMD_TRIGGER_EFFECT_ID
595#define IDENTIFY_SERVER_SUPPORTED_COMMANDS_SEND \
596 TR_ZCL_CMD_IDENTIFY_QUERY_RESPONSE_ID
599#define ON_OFF_CLIENT_SUPPORTED_COMMANDS_SEND \
605#define OVER_THE_AIR_BOOTLOADING_CLIENT_SUPPORTED_COMMANDS_SEND \
606 TR_ZCL_CMD_QUERY_NEXT_IMAGE_REQUEST_ID, \
607 TR_ZCL_CMD_IMAGE_BLOCK_REQUEST_ID, \
608 TR_ZCL_CMD_UPGRADE_END_REQUEST_ID
611#define POLL_CONTROL_SERVER_SUPPORTED_COMMANDS_SEND \
612 TR_ZCL_CMD_CHECK_IN_ID
615#define REMOTE_CLI_SERVER_SUPPORTED_COMMANDS_SEND \
616 TR_ZCL_CMD_CLI_COMMAND_RESPONSE_ID
619#define SCENES_CLIENT_SUPPORTED_COMMANDS_SEND \
620 TR_ZCL_CMD_ADD_SCENE_ID, \
621 TR_ZCL_CMD_VIEW_SCENE_ID, \
622 TR_ZCL_CMD_REMOVE_SCENE_ID, \
623 TR_ZCL_CMD_REMOVE_ALL_SCENES_ID, \
624 TR_ZCL_CMD_STORE_SCENE_ID, \
625 TR_ZCL_CMD_RECALL_SCENE_ID, \
626 TR_ZCL_CMD_GET_SCENE_MEMBERSHIP_ID
631#define TR_NUM_NVRAM_ATTR (0+1+1+1+1+1+1+1+1+1+1+1+1)
633#define TR_NVRAM_ATTR_STORAGE_CONFIG \
635 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POWER_CONFIGURATION_ID,TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_ALARM_MASK_ID, \
636 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BITMAP8_ATTR_TYPE }, \
637 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POWER_CONFIGURATION_ID,TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_VOLTAGE_MIN_THRESHOLD_ID, \
638 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT8U_ATTR_TYPE }, \
639 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POWER_CONFIGURATION_ID,TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_ALARM_STATE_ID, \
640 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BITMAP32_ATTR_TYPE }, \
641 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_OVER_THE_AIR_BOOTLOADING_ID,TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_FILE_OFFSET_ID, \
642 TR_ZCL_CLUSTER_CLIENT_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT32U_ATTR_TYPE }, \
643 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_OVER_THE_AIR_BOOTLOADING_ID,TR_ZCL_ATTR_OVER_THE_AIR_BOOTLOADING_IMAGE_UPGRADE_STATUS_ID, \
644 TR_ZCL_CLUSTER_CLIENT_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_ENUM8_ATTR_TYPE }, \
645 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_CHECK_IN_INTERVAL_ID, \
646 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT32U_ATTR_TYPE }, \
647 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_LONG_POLL_INTERVAL_ID, \
648 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT32U_ATTR_TYPE }, \
649 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_SHORT_POLL_INTERVAL_ID, \
650 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT16U_ATTR_TYPE }, \
651 { TR_DEVICE_EP1,TR_ZCL_CLUSTER_POLL_CONTROL_ID,TR_ZCL_ATTR_POLL_CONTROL_FAST_POLL_TIMEOUT_ID, \
652 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT16U_ATTR_TYPE }, \
653 { TR_DEVICE_EP2,TR_ZCL_CLUSTER_POWER_CONFIGURATION_ID,TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_ALARM_MASK_ID, \
654 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BITMAP8_ATTR_TYPE }, \
655 { TR_DEVICE_EP2,TR_ZCL_CLUSTER_POWER_CONFIGURATION_ID,TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_VOLTAGE_MIN_THRESHOLD_ID, \
656 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_INT8U_ATTR_TYPE }, \
657 { TR_DEVICE_EP2,TR_ZCL_CLUSTER_POWER_CONFIGURATION_ID,TR_ZCL_ATTR_POWER_CONFIGURATION_BATTERY_ALARM_STATE_ID, \
658 TR_ZCL_CLUSTER_SERVER_ROLE,TR_ZCL_NON_MANUFACTURER_SPECIFIC,TR_ZCL_BITMAP32_ATTR_TYPE }, \
672 zb_uint16_t min_interval;
673 zb_uint16_t max_interval;
675 zb_uint32_t reportable_change;
678#ifdef TR_PLUGIN_ATTR_REPORT_TABLE_SIZE
679#define TR_ATTR_REPORT_TABLE_SIZE TR_PLUGIN_ATTR_REPORT_TABLE_SIZE
681#define TR_ATTR_REPORT_TABLE_SIZE 16
684#define TR_DEVICE_NUM_DEFAULT_REPORTABLE_ATTRS 3
687#define TR_DEVICE_REPORTING_CONFIG_DEFAULTS \
689 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0001,TR_ZCL_CLUSTER_SERVER_ROLE,0x003E, \
690 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_BITMAP32_ATTR_TYPE,0 }, \
691 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x01,0x0003,TR_ZCL_CLUSTER_SERVER_ROLE,0x0000, \
692 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,900,TR_ZCL_INT16U_ATTR_TYPE,5 }, \
693 { ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT,0x02,0x0003,TR_ZCL_CLUSTER_SERVER_ROLE,0x0000, \
694 0x0104,TR_ZCL_NON_MANUFACTURER_SPECIFIC,1,65534,TR_ZCL_INT16U_ATTR_TYPE,0 }, \
697#define TR_TOTAL_ATTR_REPORT_TABLE_SIZE (TR_ATTR_REPORT_TABLE_SIZE + TR_DEVICE_NUM_DEFAULT_REPORTABLE_ATTRS)
703 zb_char_t *cluster_name;
zb_uint16_t long_poll_interval
Definition tr_zcl_cmd_structs.h:4008
zb_uint16_t profile_id
Definition tr_zcl_cmd_structs.h:3928
zb_uint32_t file_offset
Definition tr_zcl_cmd_structs.h:612
zb_uint16_t fast_poll_timeout
Definition tr_zcl_cmd_structs.h:886
zb_uint32_t current_file_version
Definition tr_zcl_cmd_structs.h:601
zb_uint16_t manufacturer_id
Definition tr_zcl_cmd_structs.h:599
zb_uint16_t check_in_interval
Definition tr_zcl_cmd_structs.h:4065
zb_uint16_t identify_time
Definition tr_zcl_cmd_structs.h:17
zb_uint8_t direction
Definition tr_zcl_cmd_structs.h:1564
zb_uint8_t version
Definition tr_zcl_cmd_structs.h:3930
#define TR_TOTAL_ATTR_REPORT_TABLE_SIZE
Definition tr_zcl_endpoint_config.h:587
zb_af_device_ctx_t tr_device_ctx
tr_cluster_names_t tr_cluster_names[]
#define TR_DEVICE_NUM_IN_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:35
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
void tr_zcl_endpoint_config_reporting_init(void)
#define TR_DEVICE_NUM_OUT_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:36
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]
ZCL command structure definitions.
zb_af_endpoint_desc_t tr_endpoint_desc_ep2
#define TR_DEVICE_NUM_IN_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:35
ZB_PACKED_PRE struct tr_af_simple_desc_ep2_s tr_af_simple_desc_ep2_t
#define TR_DEVICE_NUM_OUT_CLUSTERS_EP2
Definition tr_zcl_endpoint_config.h:288
#define TR_DEVICE_NUM_IN_CLUSTERS_EP2
Definition tr_zcl_endpoint_config.h:287
#define TR_DEVICE_NUM_OUT_CLUSTERS_EP1
Definition tr_zcl_endpoint_config.h:36
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.
Definition tr_zcl_endpoint_config.h:80
Definition tr_zcl_endpoint_config.h:332
zb_uint8_t hw_version
Definition tr_zcl_endpoint_config.h:334
zb_uint8_t manufacturer_name[33]
Definition tr_zcl_endpoint_config.h:335
zb_uint8_t version
Definition tr_zcl_endpoint_config.h:333
zb_uint8_t power_source
Definition tr_zcl_endpoint_config.h:337
zb_uint8_t model_identifier[33]
Definition tr_zcl_endpoint_config.h:336
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:338
Definition tr_zcl_endpoint_config.h:194
over_the_air_bootloading_client_attr_ep1_t over_the_air_bootloading_client
Definition tr_zcl_endpoint_config.h:201
scenes_client_attr_ep1_t scenes_client
Definition tr_zcl_endpoint_config.h:176
diagnostics_server_attr_ep1_t diagnostics_server
Definition tr_zcl_endpoint_config.h:223
poll_control_server_attr_ep1_t poll_control_server
Definition tr_zcl_endpoint_config.h:220
remote_cli_server_attr_ep1_t remote_cli_server
Definition tr_zcl_endpoint_config.h:224
on_off_client_attr_ep1_t on_off_client
Definition tr_zcl_endpoint_config.h:177
groups_client_attr_ep1_t groups_client
Definition tr_zcl_endpoint_config.h:175
on_off_switch_configuration_server_attr_ep1_t on_off_switch_configuration_server
Definition tr_zcl_endpoint_config.h:178
Definition tr_zcl_endpoint_config.h:386
power_configuration_server_attr_ep2_t power_configuration_server
Definition tr_zcl_endpoint_config.h:388
identify_client_attr_ep2_t identify_client
Definition tr_zcl_endpoint_config.h:389
identify_server_attr_ep2_t identify_server
Definition tr_zcl_endpoint_config.h:390
on_off_switch_configuration_server_attr_ep2_t on_off_switch_configuration_server
Definition tr_zcl_endpoint_config.h:394
on_off_client_attr_ep2_t on_off_client
Definition tr_zcl_endpoint_config.h:393
scenes_client_attr_ep2_t scenes_client
Definition tr_zcl_endpoint_config.h:392
basic_server_attr_ep2_t basic_server
Definition tr_zcl_endpoint_config.h:387
groups_client_attr_ep2_t groups_client
Definition tr_zcl_endpoint_config.h:391
Definition tr_zcl_endpoint_config.h:199
Definition tr_zcl_endpoint_config.h:112
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:113
Definition tr_zcl_endpoint_config.h:364
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:365
Definition tr_zcl_endpoint_config.h:105
Definition tr_zcl_endpoint_config.h:353
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:354
Definition tr_zcl_endpoint_config.h:94
Definition tr_zcl_endpoint_config.h:358
zb_uint16_t identify_time
Definition tr_zcl_endpoint_config.h:359
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:360
Definition tr_zcl_endpoint_config.h:122
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:123
Definition tr_zcl_endpoint_config.h:374
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:375
Definition tr_zcl_endpoint_config.h:127
zb_uint8_t switch_type
Definition tr_zcl_endpoint_config.h:128
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:130
zb_uint8_t switch_actions
Definition tr_zcl_endpoint_config.h:129
Definition tr_zcl_endpoint_config.h:379
zb_uint8_t switch_actions
Definition tr_zcl_endpoint_config.h:381
zb_uint8_t switch_type
Definition tr_zcl_endpoint_config.h:380
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:382
Definition tr_zcl_endpoint_config.h:132
Definition tr_zcl_endpoint_config.h:157
Definition tr_zcl_endpoint_config.h:90
Definition tr_zcl_endpoint_config.h:342
zb_uint8_t battery_quantity
Definition tr_zcl_endpoint_config.h:345
zb_uint8_t battery_voltage_min_threshold
Definition tr_zcl_endpoint_config.h:347
zb_uint8_t battery_size
Definition tr_zcl_endpoint_config.h:344
zb_uint16_t cluster_revision_server
Definition tr_zcl_endpoint_config.h:349
zb_uint8_t battery_voltage
Definition tr_zcl_endpoint_config.h:343
zb_uint32_t battery_alarm_state
Definition tr_zcl_endpoint_config.h:348
zb_uint8_t battery_alarm_mask
Definition tr_zcl_endpoint_config.h:346
Definition tr_zcl_endpoint_config.h:204
Definition tr_zcl_endpoint_config.h:117
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:118
Definition tr_zcl_endpoint_config.h:369
zb_uint16_t cluster_revision_client
Definition tr_zcl_endpoint_config.h:370
Definition tr_zcl_endpoint_config.h:62
zb_uint16_t app_profile_id
Definition tr_zcl_endpoint_config.h:64
zb_uint8_t app_output_cluster_count
Definition tr_zcl_endpoint_config.h:69
zb_uint16_t app_cluster_list[(TR_DEVICE_NUM_IN_CLUSTERS_EP1)+(TR_DEVICE_NUM_OUT_CLUSTERS_EP1)]
Definition tr_zcl_endpoint_config.h:71
zb_uint8_t app_input_cluster_count
Definition tr_zcl_endpoint_config.h:68
zb_uint16_t reserved
Definition tr_zcl_endpoint_config.h:67
zb_uint8_t endpoint
Definition tr_zcl_endpoint_config.h:63
zb_uint16_t app_device_version
Definition tr_zcl_endpoint_config.h:66
zb_uint16_t app_device_id
Definition tr_zcl_endpoint_config.h:65
Definition tr_zcl_endpoint_config.h:314
zb_uint8_t app_output_cluster_count
Definition tr_zcl_endpoint_config.h:321
zb_uint16_t app_profile_id
Definition tr_zcl_endpoint_config.h:316
zb_uint8_t endpoint
Definition tr_zcl_endpoint_config.h:315
zb_uint16_t app_device_id
Definition tr_zcl_endpoint_config.h:317
zb_uint16_t reserved
Definition tr_zcl_endpoint_config.h:319
zb_uint8_t app_input_cluster_count
Definition tr_zcl_endpoint_config.h:320
zb_uint16_t app_cluster_list[(TR_DEVICE_NUM_IN_CLUSTERS_EP2)+(TR_DEVICE_NUM_OUT_CLUSTERS_EP2)]
Definition tr_zcl_endpoint_config.h:323
zb_uint16_t app_device_version
Definition tr_zcl_endpoint_config.h:318
Definition tr_zcl_endpoint_config.h:560
Definition tr_zcl_endpoint_config.h:591
zb_uint8_t endpoint
Definition tr_nvram_attr.h:176
zb_uint16_t cluster_id
Definition tr_nvram_attr.h:177
zb_uint8_t cluster_role
Definition tr_nvram_attr.h:179
zb_uint16_t manuf_code
Definition tr_nvram_attr.h:180
zb_uint16_t attr_id
Definition tr_nvram_attr.h:178
zb_uint8_t data_type
Definition tr_nvram_attr.h:181