From 7b2912a9e5be3cb7e69e80fed315aa017f75127e Mon Sep 17 00:00:00 2001 From: WanqQixiang Date: Mon, 13 Mar 2023 17:24:34 +0800 Subject: [PATCH] submodule: Update connectedhomeip submodule to bc8c9ece1 to support ESP32-C6 and ESP32-H2-MP docs: Add details for esp32h2, esp32c2, and esp32c6 --- .gitlab-ci.yml | 35 +- README.md | 6 +- components/esp_matter/CMakeLists.txt | 10 +- components/esp_matter/esp_matter.h | 9 +- .../esp_matter/esp_matter_attribute_utils.cpp | 4 +- components/esp_matter/esp_matter_client.cpp | 6 +- components/esp_matter/esp_matter_cluster.cpp | 3 +- components/esp_matter/esp_matter_command.cpp | 14 +- components/esp_matter/esp_matter_core.cpp | 40 +- components/esp_matter/esp_matter_ota.cpp | 1 + .../zap-generated/callback-stub.cpp | 61 - .../esp_matter_bridge/esp_matter_bridge.h | 2 +- .../esp_matter_commissioner.cpp | 3 + .../esp_matter_controller_cluster_command.cpp | 6 +- .../esp_matter_controller_cluster_command.h | 2 +- .../esp_matter_controller_pairing_command.cpp | 5 +- .../esp_matter_controller_pairing_command.h | 2 +- .../esp_matter_controller_read_command.cpp | 2 +- .../esp_matter_controller_read_command.h | 2 +- ...sp_matter_controller_subscribe_command.cpp | 2 +- .../esp_matter_controller_subscribe_command.h | 2 +- .../esp_matter_controller_write_command.cpp | 14 +- .../esp_matter_controller_write_command.h | 2 +- .../logger/zap-generated/DataModelLogger.cpp | 1124 +++++++++----- .../logger/zap-generated/DataModelLogger.h | 77 +- .../esp_matter_openthread/CMakeLists.txt | 7 - .../esp_matter_openthread.c | 81 - .../esp_matter_openthread.h | 27 - .../esp_matter_openthread_config.h | 35 - connectedhomeip/connectedhomeip | 2 +- device_hal/device/esp32c6_devkit_c/device.c | 43 + .../esp32c6_devkit_c/esp_matter_device.cmake | 11 + docs/en/certification.rst | 8 +- docs/en/developing.rst | 50 +- examples/common/external_platform/BUILD.gn | 28 +- examples/generic_switch/CMakeLists.txt | 2 + examples/generic_switch/partitions_c6.csv | 9 + examples/generic_switch/partitions_h2.csv | 7 +- .../generic_switch/sdkconfig.defaults.esp32c6 | 72 + .../generic_switch/sdkconfig.defaults.esp32h2 | 9 +- examples/light/CMakeLists.txt | 2 + examples/light/partitions_h2.csv | 6 +- examples/light/sdkconfig.defaults.esp32c6 | 67 + examples/light/sdkconfig.defaults.esp32h2 | 9 +- examples/light_switch/CMakeLists.txt | 2 + examples/light_switch/partitions_c6.csv | 9 + examples/light_switch/partitions_h2.csv | 6 +- .../light_switch/sdkconfig.defaults.esp32c6 | 72 + .../light_switch/sdkconfig.defaults.esp32h2 | 9 +- examples/zap_light/CMakeLists.txt | 2 + .../main/zap-generated/CHIPClientCallbacks.h | 4 +- .../main/zap-generated/CHIPClusters.h | 5 +- .../zap-generated/IMClusterCommandHandler.cpp | 1010 ++++++------- .../PluginApplicationCallbacks.h | 101 +- .../zap_light/main/zap-generated/access.h | 226 +-- .../main/zap-generated/endpoint_config.h | 1309 ++++++++--------- .../zap_light/main/zap-generated/gen_config.h | 37 +- .../zap_light/main/zap-generated/light.matter | 500 ++++--- .../zap_light/main/zap-generated/light.zap | 245 ++- examples/zap_light/partitions_h2.csv | 7 +- examples/zap_light/sdkconfig.defaults.esp32h2 | 9 +- examples/zigbee_bridge/main/app_zboss.cpp | 78 +- examples/zigbee_bridge/main/idf_component.yml | 5 +- examples/zigbee_bridge/main/zigbee_bridge.cpp | 6 +- examples/zigbee_bridge/main/zigbee_bridge.h | 6 +- examples/zigbee_bridge/sdkconfig.defaults | 3 - export.sh | 2 +- install.sh | 30 +- 68 files changed, 3184 insertions(+), 2408 deletions(-) delete mode 100644 components/esp_matter_openthread/CMakeLists.txt delete mode 100644 components/esp_matter_openthread/esp_matter_openthread.c delete mode 100644 components/esp_matter_openthread/esp_matter_openthread.h delete mode 100644 components/esp_matter_openthread/esp_matter_openthread_config.h create mode 100644 device_hal/device/esp32c6_devkit_c/device.c create mode 100644 device_hal/device/esp32c6_devkit_c/esp_matter_device.cmake create mode 100644 examples/generic_switch/partitions_c6.csv create mode 100644 examples/generic_switch/sdkconfig.defaults.esp32c6 create mode 100644 examples/light/sdkconfig.defaults.esp32c6 create mode 100644 examples/light_switch/partitions_c6.csv create mode 100644 examples/light_switch/sdkconfig.defaults.esp32c6 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 154061ace..05d5806d7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,10 +90,9 @@ variables: - idf.py build - idf.py set-target esp32c3 - idf.py build -# Controller and zap_light example builds are failing for te_1_1 disabling them for the short_term on this branch -# - cd $ESP_MATTER_PATH/examples/zap_light -# - idf.py set-target esp32 -# - idf.py build + - cd $ESP_MATTER_PATH/examples/zap_light + - idf.py set-target esp32 + - idf.py build - cd $ESP_MATTER_PATH/examples/light_switch - idf.py set-target esp32 - idf.py build @@ -102,9 +101,9 @@ variables: - idf.py build - idf.py set-target esp32c3 - idf.py build -# - cd $ESP_MATTER_PATH/examples/controller -# - idf.py set-target esp32 -# - idf.py build + - cd $ESP_MATTER_PATH/examples/controller + - idf.py set-target esp32 + - idf.py build .build_external_platform_example: &build_external_platform_example - rm -rf $ESP_MATTER_PATH/../platform @@ -118,16 +117,24 @@ variables: - idf.py build - cp sdkconfig.defaults.backup sdkconfig.defaults -.build_examples_idf_v5_0: &build_examples_idf_v5_0 -# - cd $ESP_MATTER_PATH/examples/zap_light -# - idf.py --preview set-target esp32h2 -# - idf.py build +.build_examples_idf_v5_1: &build_examples_idf_v5_1 + - cd $ESP_MATTER_PATH/examples/zap_light + - idf.py --preview set-target esp32h2 + - idf.py build - cd $ESP_MATTER_PATH/examples/light_switch - idf.py --preview set-target esp32h2 - idf.py build + - idf.py --preview set-target esp32c6 + - idf.py build + - idf.py set-target esp32c2 + - idf.py build - cd $ESP_MATTER_PATH/examples/light - idf.py --preview set-target esp32h2 - idf.py build + - idf.py --preview set-target esp32c6 + - idf.py build + - idf.py set-target esp32c2 + - idf.py build - cd $ESP_MATTER_PATH/examples/zigbee_bridge - idf.py set-target esp32 - idf.py build @@ -162,13 +169,13 @@ build_esp_matter_examples: - *build_examples - *build_external_platform_example -build_esp_matter_examples_idf_v5_0: +build_esp_matter_examples_idf_v5_1: extends: - .build_examples_template variables: - IDF_VERSION: "20949d444f466e1b1247b10e2b8d6a2fb8212815" + IDF_VERSION: "bb9200acec7dd60e9adb4a381e5400dcd5024534" script: - - *build_examples_idf_v5_0 + - *build_examples_idf_v5_1 build_upstream_examples: extends: diff --git a/README.md b/README.md index a00d8a753..d28fc98c1 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,9 @@ git clone --recursive https://github.com/espressif/esp-matter.git ## Supported ESP-IDF and connectedhomeip versions -- This SDK currently works with matter 1.1 TE1 [commit 7e69c66b](https://github.com/espressif/connectedhomeip/tree/7e69c66b) of connectedhomeip. -- For Wi-Fi devices (ESP32, ESP32-C3, ESP32-S3), ESP-IDF [v4.4.3 release](https://github.com/espressif/esp-idf/releases/tag/v4.4.3) is required. -- For Thread devices (ESP32-H2) and Zigbee Bridge example, ESP-IDF release/v5.0 branch at [commit 20949d44](https://github.com/espressif/esp-idf/tree/20949d44) should be used. +- This SDK currently works with [commit bc8c9ece1](https://github.com/espressif/connectedhomeip/tree/bc8c9ece1) of connectedhomeip. +- For ESP32, ESP32-C3, and ESP32-S3, ESP-IDF [v4.4.3 release](https://github.com/espressif/esp-idf/releases/tag/v4.4.3) is required. +- For ESP32-C2, ESP32-H2(preview) and ESP32-C6(preview) and Zigbee Bridge example, ESP-IDF branch at [commit bb9200ace](https://github.com/espressif/esp-idf/tree/bb9200ace) in branch release/v5.1 should be used. ## Documentation diff --git a/components/esp_matter/CMakeLists.txt b/components/esp_matter/CMakeLists.txt index 7bc078600..fb2eea06b 100644 --- a/components/esp_matter/CMakeLists.txt +++ b/components/esp_matter/CMakeLists.txt @@ -27,9 +27,7 @@ set(SRC_DIRS_LIST "." "${MATTER_SDK_PATH}/src/app/clusters/general-commissioning-server" "${MATTER_SDK_PATH}/src/app/clusters/general-diagnostics-server" "${MATTER_SDK_PATH}/src/app/clusters/group-key-mgmt-server" - "${MATTER_SDK_PATH}/src/app/clusters/groups-client" "${MATTER_SDK_PATH}/src/app/clusters/groups-server" - "${MATTER_SDK_PATH}/src/app/clusters/identify-client" "${MATTER_SDK_PATH}/src/app/clusters/identify-server" "${MATTER_SDK_PATH}/src/app/clusters/keypad-input-server" "${MATTER_SDK_PATH}/src/app/clusters/level-control" @@ -49,7 +47,6 @@ set(SRC_DIRS_LIST "." "${MATTER_SDK_PATH}/src/app/clusters/pump-configuration-and-control-client" "${MATTER_SDK_PATH}/src/app/clusters/pump-configuration-and-control-server" "${MATTER_SDK_PATH}/src/app/clusters/scenes" - "${MATTER_SDK_PATH}/src/app/clusters/scenes-client" "${MATTER_SDK_PATH}/src/app/clusters/software-diagnostics-server" "${MATTER_SDK_PATH}/src/app/clusters/switch-server" "${MATTER_SDK_PATH}/src/app/clusters/target-navigator-server" @@ -71,11 +68,7 @@ set(INCLUDE_DIRS_LIST "." "${MATTER_SDK_PATH}/src" "${ZAP_GENERATED_PATH}/../") -set(REQUIRES_LIST chip bt esp_matter_console nvs_flash app_update esp_secure_cert_mgr esp32_mbedtls esp_system) - -if ("${IDF_TARGET}" STREQUAL "esp32h2") - list(APPEND REQUIRES_LIST openthread esp_matter_openthread) -endif() +set(REQUIRES_LIST chip bt esp_matter_console nvs_flash app_update esp_secure_cert_mgr esp32_mbedtls esp_system openthread) idf_component_register( SRC_DIRS ${SRC_DIRS_LIST} INCLUDE_DIRS ${INCLUDE_DIRS_LIST} @@ -85,5 +78,6 @@ idf_component_register( SRC_DIRS ${SRC_DIRS_LIST} # esp-matter/connectedhomeip/connectedhomeip/src/app/EventManagement.cpp:467:23: error: 'writer' is # used uninitialized in this function idf_build_set_property(COMPILE_OPTIONS "-Wno-error=uninitialized;-Wno-error=maybe-uninitialized;-Wno-missing-field-initializers;" APPEND) +idf_build_set_property(COMPILE_OPTIONS "-Wno-error=array-bounds" APPEND) target_compile_options(${COMPONENT_LIB} PUBLIC "-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=") diff --git a/components/esp_matter/esp_matter.h b/components/esp_matter/esp_matter.h index 38173f030..13f709fa1 100644 --- a/components/esp_matter/esp_matter.h +++ b/components/esp_matter/esp_matter.h @@ -55,13 +55,8 @@ typedef enum cluster_flags { CLUSTER_FLAG_INIT_FUNCTION = CLUSTER_MASK_INIT_FUNCTION, /* 0x01 */ /** The cluster has an attribute changed function (function_flag) */ CLUSTER_FLAG_ATTRIBUTE_CHANGED_FUNCTION = CLUSTER_MASK_ATTRIBUTE_CHANGED_FUNCTION, /* 0x02 */ - /** The cluster has a default response function (function_flag) */ - CLUSTER_FLAG_DEFAULT_RESPONSE_FUNCTION = CLUSTER_MASK_DEFAULT_RESPONSE_FUNCTION, /* 0x04 */ - /** The cluster has a message sent function (function_flag) */ - CLUSTER_FLAG_MESSAGE_SENT_FUNCTION = CLUSTER_MASK_MESSAGE_SENT_FUNCTION, /* 0x08 */ - /** The cluster has a manufacturer specific attribute changed function (function_flag) */ - CLUSTER_FLAG_MANUFACTURER_SPECIFIC_ATTRIBUTE_CHANGED_FUNCTION = - CLUSTER_MASK_MANUFACTURER_SPECIFIC_ATTRIBUTE_CHANGED_FUNCTION, /* 0x10 */ + /** The cluster has a shutdown function (function_flag) */ + CLUSTER_FLAG_SHUTDOWN_FUNCTION = CLUSTER_MASK_SHUTDOWN_FUNCTION, /* 0x10 */ /** The cluster has a pre attribute changed function (function_flag) */ CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION = CLUSTER_MASK_PRE_ATTRIBUTE_CHANGED_FUNCTION, /* 0x20 */ /** The cluster is a server cluster */ diff --git a/components/esp_matter/esp_matter_attribute_utils.cpp b/components/esp_matter/esp_matter_attribute_utils.cpp index 8435b76d8..d6a5a767a 100644 --- a/components/esp_matter/esp_matter_attribute_utils.cpp +++ b/components/esp_matter/esp_matter_attribute_utils.cpp @@ -1645,7 +1645,7 @@ esp_err_t get_val_raw(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attrib return ESP_FAIL; } - EmberAfStatus status = emberAfReadServerAttribute(endpoint_id, cluster_id, attribute_id, value, attribute_size); + EmberAfStatus status = emberAfReadAttribute(endpoint_id, cluster_id, attribute_id, value, attribute_size); if (status != EMBER_ZCL_STATUS_SUCCESS) { ESP_LOGE(TAG, "Error getting raw value from matter: 0x%x", status); if (lock_status == lock::SUCCESS) { @@ -1687,7 +1687,7 @@ esp_err_t update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_i /* Update matter */ EmberAfStatus status = EMBER_ZCL_STATUS_SUCCESS; if (emberAfContainsServer(endpoint_id, cluster_id)) { - status = emberAfWriteServerAttribute(endpoint_id, cluster_id, attribute_id, value, attribute_type); + status = emberAfWriteAttribute(endpoint_id, cluster_id, attribute_id, value, attribute_type); if (status != EMBER_ZCL_STATUS_SUCCESS) { ESP_LOGE(TAG, "Error updating attribute to matter: 0x%X", status); free(value); diff --git a/components/esp_matter/esp_matter_client.cpp b/components/esp_matter/esp_matter_client.cpp index f4f1fd814..b29caddc5 100644 --- a/components/esp_matter/esp_matter_client.cpp +++ b/components/esp_matter/esp_matter_client.cpp @@ -1000,7 +1000,7 @@ esp_err_t send_add_group(peer_device_t *remote_device, uint16_t remote_endpoint_ add_group_callback add_group_cb) { Groups::Commands::AddGroup::Type command_data; - command_data.groupId = group_id; + command_data.groupID = group_id; command_data.groupName = chip::CharSpan(group_name, strnlen(group_name, 16)); chip::Controller::GroupsCluster cluster(*remote_device->GetExchangeManager(), @@ -1013,7 +1013,7 @@ esp_err_t send_view_group(peer_device_t *remote_device, uint16_t remote_endpoint view_group_callback view_group_cb) { Groups::Commands::ViewGroup::Type command_data; - command_data.groupId = group_id; + command_data.groupID = group_id; chip::Controller::GroupsCluster cluster(*remote_device->GetExchangeManager(), remote_device->GetSecureSession().Value(), remote_endpoint_id); @@ -1025,7 +1025,7 @@ esp_err_t send_remove_group(peer_device_t *remote_device, uint16_t remote_endpoi remove_group_callback remove_group_cb) { Groups::Commands::RemoveGroup::Type command_data; - command_data.groupId = group_id; + command_data.groupID = group_id; chip::Controller::GroupsCluster cluster(*remote_device->GetExchangeManager(), remote_device->GetSecureSession().Value(), remote_endpoint_id); diff --git a/components/esp_matter/esp_matter_cluster.cpp b/components/esp_matter/esp_matter_cluster.cpp index d6263b75c..77b8300f0 100644 --- a/components/esp_matter/esp_matter_cluster.cpp +++ b/components/esp_matter/esp_matter_cluster.cpp @@ -69,6 +69,7 @@ cluster_t *create_default_binding_cluster(endpoint_t *endpoint) return binding::create(endpoint, &config, CLUSTER_FLAG_SERVER); } +#if (FIXED_ENDPOINT_COUNT == 0) namespace descriptor { const function_generic_t *function_list = NULL; const int function_flags = CLUSTER_FLAG_NONE; @@ -1811,6 +1812,6 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags) return cluster; } } /* pump_configuration_and_control */ - +#endif // FIXED_ENDPOINT_COUNT == 0 } /* cluster */ } /* esp_matter */ diff --git a/components/esp_matter/esp_matter_command.cpp b/components/esp_matter/esp_matter_command.cpp index 287f59e6c..c0176f542 100644 --- a/components/esp_matter/esp_matter_command.cpp +++ b/components/esp_matter/esp_matter_command.cpp @@ -20,7 +20,6 @@ #include #include #include -#include using namespace chip::app::Clusters; using chip::app::CommandHandler; @@ -56,8 +55,13 @@ void DispatchSingleClusterCommandCommon(const ConcreteCommandPath &command_path, } int flags = get_flags(command); if (flags & COMMAND_FLAG_CUSTOM) { - EmberAfStatus status = (err == ESP_OK) ? EMBER_ZCL_STATUS_SUCCESS : EMBER_ZCL_STATUS_FAILURE; - emberAfSendImmediateDefaultResponse(status); + chip::app::CommandHandler *command_obj = (chip::app::CommandHandler *)opaque_ptr; + if (!command_obj) { + ESP_LOGE(TAG, "Command Object cannot be NULL"); + return; + } + command_obj->AddStatus(command_path, err == ESP_OK ? chip::Protocols::InteractionModel::Status::Success : + chip::Protocols::InteractionModel::Status::Failure); } } @@ -70,11 +74,7 @@ namespace app { void DispatchSingleClusterCommand(const ConcreteCommandPath &command_path, TLVReader &tlv_data, CommandHandler *command_obj) { - Compatibility::SetupEmberAfCommandHandler(command_obj, command_path); - esp_matter::command::DispatchSingleClusterCommandCommon(command_path, tlv_data, command_obj); - - Compatibility::ResetEmberAfObjects(); } } /* namespace app */ diff --git a/components/esp_matter/esp_matter_core.cpp b/components/esp_matter/esp_matter_core.cpp index 43ee04de6..3c85cd88e 100644 --- a/components/esp_matter/esp_matter_core.cpp +++ b/components/esp_matter/esp_matter_core.cpp @@ -39,10 +39,8 @@ #include #include #include +#include #include -#if CHIP_DEVICE_CONFIG_ENABLE_THREAD -#include -#endif #include #include @@ -840,24 +838,17 @@ static void device_callback_internal(const ChipDeviceEvent * event, intptr_t arg chip::app::DnssdServer::Instance().StartServer(); } #endif - if (event->InterfaceIpAddressChanged.Type == chip::DeviceLayer::InterfaceIpChangeType::kIpV6_Assigned) { - // When the OTA image is applied, the device will reboot and send the NotifyUpdateApplied to the Provider - // in esp_matter_ota_requestor_start(), so the device should be connected to the Wi-Fi network when calling - // esp_matter_ota_requestor_start(). IPv4 might be disabled on the Provider so we should call this function - // when the IPv6 address is assigned. - esp_matter_ota_requestor_start(); - /* Initialize binding manager */ - client::binding_manager_init(); - } break; -#if CHIP_DEVICE_CONFIG_ENABLE_THREAD - case chip::DeviceLayer::DeviceEventType::kDnssdPlatformInitialized: - esp_matter_ota_requestor_start(); - /* Initialize binding manager */ - client::binding_manager_init(); + case chip::DeviceLayer::DeviceEventType::kDnssdInitialized: + // Wait some time to avoid issue https://github.com/project-chip/connectedhomeip/issues/25570 + chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Seconds16(2), + [](chip::System::Layer * systemLayer, void * appState) { + esp_matter_ota_requestor_start(); + /* Initialize binding manager */ + client::binding_manager_init(); + } , NULL); break; -#endif #if CONFIG_BT_ENABLED #if CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING @@ -953,9 +944,20 @@ esp_err_t start(event_callback_t callback, intptr_t callback_arg) ESP_LOGE(TAG, "esp_matter has started"); return ESP_ERR_INVALID_STATE; } + esp_err_t err = esp_event_loop_create_default(); + if (err != ESP_OK) { + ESP_LOGE(TAG, "Error create default event loop"); + return err; + } +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI + if (chip::DeviceLayer::Internal::ESP32Utils::InitWiFiStack() != CHIP_NO_ERROR) { + ESP_LOGE(TAG, "Error initializing Wi-Fi stack"); + return ESP_FAIL; + } +#endif esp_matter_ota_requestor_init(); - esp_err_t err = chip_init(callback, callback_arg); + err = chip_init(callback, callback_arg); if (err != ESP_OK) { ESP_LOGE(TAG, "Error initializing matter"); return err; diff --git a/components/esp_matter/esp_matter_ota.cpp b/components/esp_matter/esp_matter_ota.cpp index ecef01c70..2eb16cd0d 100644 --- a/components/esp_matter/esp_matter_ota.cpp +++ b/components/esp_matter/esp_matter_ota.cpp @@ -22,6 +22,7 @@ #include #include +#include using chip::BDXDownloader; using chip::DefaultOTARequestor; diff --git a/components/esp_matter/zap_common/zap-generated/callback-stub.cpp b/components/esp_matter/zap_common/zap-generated/callback-stub.cpp index 5f5713be1..9cc7235de 100644 --- a/components/esp_matter/zap_common/zap-generated/callback-stub.cpp +++ b/components/esp_matter/zap_common/zap-generated/callback-stub.cpp @@ -31,64 +31,3 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) (void)endpoint; (void)clusterId; } - -void __attribute__((weak)) emberAfAddToCurrentAppTasksCallback(EmberAfApplicationTask tasks) {} - -void __attribute__((weak)) emberAfRemoveFromCurrentAppTasksCallback(EmberAfApplicationTask tasks) {} - -EmberAfAttributeWritePermission __attribute__((weak)) -emberAfAllowNetworkWriteAttributeCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId,uint8_t * value, - uint8_t type) -{ - return EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_ALLOW_WRITE_NORMAL; // Default -} - -bool __attribute__((weak)) emberAfAttributeReadAccessCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId) -{ - return true; -} - -bool __attribute__((weak)) emberAfAttributeWriteAccessCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId) -{ - return true; -} - -bool __attribute__((weak)) emberAfDefaultResponseCallback(ClusterId clusterId, CommandId commandId, EmberAfStatus status) -{ - return false; -} - -bool __attribute__((weak)) emberAfPreMessageSendCallback(EmberAfMessageStruct * messageStruct, EmberStatus * status) -{ - return false; -} - -bool __attribute__((weak)) emberAfMessageSentCallback(const MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status) -{ - return false; -} - -uint32_t __attribute__((weak)) emberAfGetCurrentTimeCallback() -{ - return 0; -} - -bool __attribute__((weak)) -emberAfGetEndpointInfoCallback(EndpointId endpoint, uint8_t * returnNetworkIndex, EmberAfEndpointInfoStruct * returnEndpointInfo) -{ - return false; -} - -void __attribute__((weak)) emberAfRegistrationAbortCallback() {} - -EmberStatus __attribute__((weak)) -emberAfInterpanSendMessageCallback(EmberAfInterpanHeader * header, uint16_t messageLength, uint8_t * message) -{ - return EMBER_LIBRARY_NOT_PRESENT; -} - -bool __attribute__((weak)) emberAfStartMoveCallback() -{ - return false; -} diff --git a/components/esp_matter_bridge/esp_matter_bridge.h b/components/esp_matter_bridge/esp_matter_bridge.h index 0a4584ffb..6a69fe98a 100644 --- a/components/esp_matter_bridge/esp_matter_bridge.h +++ b/components/esp_matter_bridge/esp_matter_bridge.h @@ -19,7 +19,7 @@ #include #define MAX_BRIDGED_DEVICE_COUNT \ - CHIP_DEVICE_CONFIG_DYNAMIC_ENDPOINT_COUNT - 1 - CONFIG_ESP_MATTER_AGGREGATOR_ENDPOINT_COUNT + CONFIG_ESP_MATTER_MAX_DYNAMIC_ENDPOINT_COUNT - 1 - CONFIG_ESP_MATTER_AGGREGATOR_ENDPOINT_COUNT // There is an endpoint reserved as root endpoint namespace esp_matter_bridge { diff --git a/components/esp_matter_controller/esp_matter_commissioner.cpp b/components/esp_matter_controller/esp_matter_commissioner.cpp index 40af94724..9d0b07dae 100644 --- a/components/esp_matter_controller/esp_matter_commissioner.cpp +++ b/components/esp_matter_controller/esp_matter_commissioner.cpp @@ -84,6 +84,7 @@ class ESPCommissionerCallback : public CommissionerCallback { ESPCommissionerCallback commissioner_callback; DeviceCommissioner device_commissioner; CommissionerDiscoveryController commissioner_discovery_controller; +Crypto::RawKeySessionKeystore session_keystore; constexpr uint16_t kUdcListenPort = 5560; @@ -98,8 +99,10 @@ esp_err_t init(uint16_t commissioner_port) factoryParams.listenPort = commissioner_port; factoryParams.fabricIndependentStorage = &controller_server_storage; factoryParams.fabricTable = &Server::GetInstance().GetFabricTable(); + factoryParams.sessionKeystore = &session_keystore; group_data_provider.SetStorageDelegate(&controller_server_storage); + group_data_provider.SetSessionKeystore(factoryParams.sessionKeystore); if (group_data_provider.Init() != CHIP_NO_ERROR) { return ESP_FAIL; } diff --git a/components/esp_matter_controller/esp_matter_controller_cluster_command.cpp b/components/esp_matter_controller/esp_matter_controller_cluster_command.cpp index 43b7407d7..aa5aa6fcf 100644 --- a/components/esp_matter_controller/esp_matter_controller_cluster_command.cpp +++ b/components/esp_matter_controller/esp_matter_controller_cluster_command.cpp @@ -199,7 +199,7 @@ static esp_err_t send_command(command_data_t *command_data, peer_device_t *remot } // namespace color_control namespace group_key_management { -using chip::app::Clusters::GroupKeyManagement::GroupKeySecurityPolicy; +using chip::app::Clusters::GroupKeyManagement::GroupKeySecurityPolicyEnum; using cluster::group_key_management::command::group_keyset_struct; constexpr size_t k_epoch_key_bytes_len = chip::Credentials::GroupDataProvider::EpochKey::kLengthBytes; @@ -228,7 +228,7 @@ static bool parse_group_keyset(group_keyset_struct *keyset, char *json_str, epoc if (json_obj_get_int(&jctx, "groupKeySecurityPolicy", &int_val) != 0) { return false; } - keyset->groupKeySecurityPolicy = static_cast(int_val); + keyset->groupKeySecurityPolicy = static_cast(int_val); // epochKey0 & epochStartTime0 if (json_obj_get_int64(&jctx, "epochStartTime0", &int64_val) == 0 && json_obj_get_string(&jctx, "epochKey0", epoch_key_oct_str, k_epoch_key_bytes_len * 2 + 1) == 0 && @@ -366,7 +366,7 @@ static esp_err_t send_command(command_data_t *command_data, peer_device_t *remot } // namespace clusters -void cluster_command::on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle) +void cluster_command::on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle) { cluster_command *cmd = reinterpret_cast(context); chip::OperationalDeviceProxy device_proxy(&exchangeMgr, sessionHandle); diff --git a/components/esp_matter_controller/esp_matter_controller_cluster_command.h b/components/esp_matter_controller/esp_matter_controller_cluster_command.h index f6e138ccc..1dc6c90cf 100644 --- a/components/esp_matter_controller/esp_matter_controller_cluster_command.h +++ b/components/esp_matter_controller/esp_matter_controller_cluster_command.h @@ -64,7 +64,7 @@ private: uint16_t m_endpoint_id; command_data_t *m_command_data; - static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle); + static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle); static void on_device_connection_failure_fcn(void *context, const ScopedNodeId &peerId, CHIP_ERROR error); static esp_err_t dispatch_group_command(void *context); diff --git a/components/esp_matter_controller/esp_matter_controller_pairing_command.cpp b/components/esp_matter_controller/esp_matter_controller_pairing_command.cpp index b478eb3e6..972eb5026 100644 --- a/components/esp_matter_controller/esp_matter_controller_pairing_command.cpp +++ b/components/esp_matter_controller/esp_matter_controller_pairing_command.cpp @@ -35,9 +35,6 @@ void pairing_command::OnStatusUpdate(DevicePairingDelegate::Status status) case DevicePairingDelegate::Status::SecurePairingFailed: ESP_LOGI(TAG, "Secure Pairing Failed"); break; - case DevicePairingDelegate::Status::SecurePairingDiscoveringMoreDevices: - ESP_LOGI(TAG, "Secure Pairing Discovering More Device"); - break; } } @@ -74,7 +71,7 @@ void pairing_command::OnCommissioningComplete(NodeId nodeId, CHIP_ERROR err) } } -void pairing_command::OnDeviceConnectedFn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle) +void pairing_command::OnDeviceConnectedFn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle) { ESP_LOGI(TAG, "OnDeviceConnectedFn"); CommissionerDiscoveryController *cdc = esp_matter::commissioner::get_discovery_controller(); diff --git a/components/esp_matter_controller/esp_matter_controller_pairing_command.h b/components/esp_matter_controller/esp_matter_controller_pairing_command.h index 8ff728d6e..5c96e48a6 100644 --- a/components/esp_matter_controller/esp_matter_controller_pairing_command.h +++ b/components/esp_matter_controller/esp_matter_controller_pairing_command.h @@ -70,7 +70,7 @@ public: private: static pairing_command instance; - static void OnDeviceConnectedFn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle); + static void OnDeviceConnectedFn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle); static void OnDeviceConnectionFailureFn(void *context, const ScopedNodeId &peerId, CHIP_ERROR error); CommissioningParameters get_commissioning_params(); diff --git a/components/esp_matter_controller/esp_matter_controller_read_command.cpp b/components/esp_matter_controller/esp_matter_controller_read_command.cpp index bcaf40026..4f4234c50 100644 --- a/components/esp_matter_controller/esp_matter_controller_read_command.cpp +++ b/components/esp_matter_controller/esp_matter_controller_read_command.cpp @@ -34,7 +34,7 @@ static const char *TAG = "read_command"; namespace esp_matter { namespace controller { -void read_command::on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle) +void read_command::on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle) { read_command *cmd = (read_command *)context; ReadPrepareParams params(sessionHandle); diff --git a/components/esp_matter_controller/esp_matter_controller_read_command.h b/components/esp_matter_controller/esp_matter_controller_read_command.h index 53b2fb2a9..48d8e98ab 100644 --- a/components/esp_matter_controller/esp_matter_controller_read_command.h +++ b/components/esp_matter_controller/esp_matter_controller_read_command.h @@ -90,7 +90,7 @@ private: }; BufferedReadCallback m_buffered_read_cb; - static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle); + static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle); static void on_device_connection_failure_fcn(void *context, const ScopedNodeId &peerId, CHIP_ERROR error); chip::Callback::Callback on_device_connected_cb; diff --git a/components/esp_matter_controller/esp_matter_controller_subscribe_command.cpp b/components/esp_matter_controller/esp_matter_controller_subscribe_command.cpp index d5450e724..cbeb1f7a6 100644 --- a/components/esp_matter_controller/esp_matter_controller_subscribe_command.cpp +++ b/components/esp_matter_controller/esp_matter_controller_subscribe_command.cpp @@ -35,7 +35,7 @@ namespace esp_matter { namespace controller { void subscribe_command::on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, - SessionHandle &sessionHandle) + const SessionHandle &sessionHandle) { subscribe_command *cmd = (subscribe_command *)context; ReadPrepareParams params(sessionHandle); diff --git a/components/esp_matter_controller/esp_matter_controller_subscribe_command.h b/components/esp_matter_controller/esp_matter_controller_subscribe_command.h index aeb8c98b5..edc8f1c3a 100644 --- a/components/esp_matter_controller/esp_matter_controller_subscribe_command.h +++ b/components/esp_matter_controller/esp_matter_controller_subscribe_command.h @@ -100,7 +100,7 @@ private: }; BufferedReadCallback m_buffered_read_cb; - static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle); + static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle); static void on_device_connection_failure_fcn(void *context, const ScopedNodeId &peerId, CHIP_ERROR error); chip::Callback::Callback on_device_connected_cb; diff --git a/components/esp_matter_controller/esp_matter_controller_write_command.cpp b/components/esp_matter_controller/esp_matter_controller_write_command.cpp index 50a5181f4..90259092c 100644 --- a/components/esp_matter_controller/esp_matter_controller_write_command.cpp +++ b/components/esp_matter_controller/esp_matter_controller_write_command.cpp @@ -35,7 +35,7 @@ namespace controller { template void write_command::on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, - SessionHandle &sessionHandle) + const SessionHandle &sessionHandle) { write_command *cmd = (write_command *)context; CHIP_ERROR err = CHIP_NO_ERROR; @@ -184,14 +184,14 @@ static esp_err_t write_attribute(uint64_t node_id, uint16_t endpoint_id, uint32_ namespace access_control { -using AccessControl::AuthMode; -using AccessControl::Privilege; +using AccessControl::AccessControlEntryAuthModeEnum; +using AccessControl::AccessControlEntryPrivilegeEnum; constexpr size_t k_max_acl_entries = CHIP_CONFIG_EXAMPLE_ACCESS_CONTROL_MAX_ENTRIES_PER_FABRIC; constexpr size_t k_max_subjects_per_acl = CHIP_CONFIG_EXAMPLE_ACCESS_CONTROL_MAX_SUBJECTS_PER_ENTRY; constexpr size_t k_max_targets_per_acl = CHIP_CONFIG_EXAMPLE_ACCESS_CONTROL_MAX_TARGETS_PER_ENTRY; -using acl_obj = AccessControl::Structs::AccessControlEntry::Type; +using acl_obj = AccessControl::Structs::AccessControlEntryStruct::Type; using acl_target_obj = AccessControl::Structs::Target::Type; typedef struct acl_attr { acl_obj acl_array[k_max_acl_entries]; @@ -220,11 +220,11 @@ static esp_err_t parse_acl_json(char *json_str, acl_attr_t *acl, size_t *acl_siz // Privilege ESP_RETURN_ON_FALSE(json_obj_get_int(&jctx, "privilege", &int_val) == 0, ESP_ERR_INVALID_ARG, TAG, "Failed to get privilege from the ACL json string"); - acl->acl_array[acl_index].privilege = Privilege(int_val); + acl->acl_array[acl_index].privilege = AccessControlEntryPrivilegeEnum(int_val); // AuthMode ESP_RETURN_ON_FALSE(json_obj_get_int(&jctx, "authMode", &int_val) == 0, ESP_ERR_INVALID_ARG, TAG, "Failed to get authMode from the ACL json string"); - acl->acl_array[acl_index].authMode = AuthMode(int_val); + acl->acl_array[acl_index].authMode = AccessControlEntryAuthModeEnum(int_val); // Subjects int subjects_num = 0; if (json_obj_get_array(&jctx, "subjects", &subjects_num) == 0 && subjects_num > 0) { @@ -301,7 +301,7 @@ static esp_err_t parse_acl_json(char *json_str, acl_attr_t *acl, size_t *acl_siz constexpr size_t k_max_extension_entries = CHIP_CONFIG_EXAMPLE_ACCESS_CONTROL_MAX_ENTRIES_PER_FABRIC; constexpr size_t k_max_extension_data_len = 128; -using extension_obj = AccessControl::Structs::ExtensionEntry::Type; +using extension_obj = AccessControl::Structs::AccessControlExtensionStruct::Type; typedef struct extension_attr { extension_obj extension_array[k_max_extension_entries]; uint8_t data_array[k_max_extension_entries][k_max_extension_data_len]; diff --git a/components/esp_matter_controller/esp_matter_controller_write_command.h b/components/esp_matter_controller/esp_matter_controller_write_command.h index 17eeeebbb..0472fbd3b 100644 --- a/components/esp_matter_controller/esp_matter_controller_write_command.h +++ b/components/esp_matter_controller/esp_matter_controller_write_command.h @@ -100,7 +100,7 @@ private: attribute_free_handler m_attr_free; void *m_attr_free_ctx; - static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, SessionHandle &sessionHandle); + static void on_device_connected_fcn(void *context, ExchangeManager &exchangeMgr, const SessionHandle &sessionHandle); static void on_device_connection_failure_fcn(void *context, const ScopedNodeId &peerId, CHIP_ERROR error); chip::Callback::Callback on_device_connected_cb; diff --git a/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp b/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp index b6698830a..bc421c454 100644 --- a/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp +++ b/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp @@ -21,8 +21,9 @@ using namespace chip::app::Clusters; -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType & value) +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -69,6 +70,31 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("Data", indent + 1, value.data); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Data'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Actions::Structs::ActionStruct::DecodableType & value) { @@ -125,8 +151,9 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::AdditionalInfo::DecodableType & value) +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::ContentLauncher::Structs::AdditionalInfoStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -149,57 +176,9 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ApplicationLauncher::Structs::Application::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("CatalogVendorId", indent + 1, value.catalogVendorId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CatalogVendorId'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ApplicationId", indent + 1, value.applicationId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ApplicationId'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("CatalogVendorId", indent + 1, value.catalogVendorId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CatalogVendorId'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ApplicationId", indent + 1, value.applicationId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ApplicationId'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ApplicationLauncher::Structs::ApplicationEP::DecodableType & value) + const chip::app::Clusters::ApplicationLauncher::Structs::ApplicationEPStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -222,15 +201,39 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::detail::Structs::ApplicationStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("CatalogVendorID", indent + 1, value.catalogVendorID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CatalogVendorID'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ApplicationID", indent + 1, value.applicationID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ApplicationID'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Scenes::Structs::AttributeValuePair::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("AttributeId", indent + 1, value.attributeId); + CHIP_ERROR err = LogValue("AttributeID", indent + 1, value.attributeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'AttributeId'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'AttributeID'"); return err; } } @@ -322,7 +325,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::BrandingInformation::DecodableType & value) + const chip::app::Clusters::ContentLauncher::Structs::BrandingInformationStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -403,7 +406,7 @@ DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::Channel::Structs::ChannelInfo::DecodableType & value) + const chip::app::Clusters::Channel::Structs::ChannelInfoStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -450,8 +453,9 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::ContentSearch::DecodableType & value) +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::ContentLauncher::Structs::ContentSearchStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -466,15 +470,72 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("CredentialType", indent + 1, value.credentialType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CredentialType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("CredentialIndex", indent + 1, value.credentialIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CredentialIndex'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("Offset", indent + 1, value.offset); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Offset'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ValidStarting", indent + 1, value.validStarting); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidStarting'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ValidUntil", indent + 1, value.validUntil); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidUntil'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("Type", indent + 1, value.type); + CHIP_ERROR err = LogValue("DeviceType", indent + 1, value.deviceType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Type'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'DeviceType'"); return err; } } @@ -491,7 +552,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::Dimension::DecodableType & value) + const chip::app::Clusters::ContentLauncher::Structs::DimensionStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -522,30 +583,6 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::DoorLock::Structs::DlCredential::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("CredentialType", indent + 1, value.credentialType); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CredentialType'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("CredentialIndex", indent + 1, value.credentialIndex); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CredentialIndex'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::UnitTesting::Structs::DoubleNestedStructList::DecodableType & value) { @@ -562,38 +599,6 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("Offset", indent + 1, value.offset); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Offset'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ValidStarting", indent + 1, value.validStarting); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidStarting'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ValidUntil", indent + 1, value.validUntil); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidUntil'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Actions::Structs::EndpointListStruct::DecodableType & value) { @@ -634,39 +639,15 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("Data", indent + 1, value.data); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Data'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("ClusterId", indent + 1, value.clusterId); + CHIP_ERROR err = LogValue("ClusterID", indent + 1, value.clusterID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ClusterId'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ClusterID'"); return err; } } @@ -684,7 +665,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType & value) + const chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptorStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -696,26 +677,26 @@ DataModelLogger::LogValue(const char * label, size_t indent, } } { - CHIP_ERROR err = LogValue("VendorId", indent + 1, value.vendorId); + CHIP_ERROR err = LogValue("VendorID", indent + 1, value.vendorID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VendorId'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VendorID'"); return err; } } { - CHIP_ERROR err = LogValue("FabricId", indent + 1, value.fabricId); + CHIP_ERROR err = LogValue("FabricID", indent + 1, value.fabricID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricId'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricID'"); return err; } } { - CHIP_ERROR err = LogValue("NodeId", indent + 1, value.nodeId); + CHIP_ERROR err = LogValue("NodeID", indent + 1, value.nodeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NodeId'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NodeID'"); return err; } } @@ -887,7 +868,7 @@ DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::MediaInput::Structs::InputInfo::DecodableType & value) + const chip::app::Clusters::MediaInput::Structs::InputInfoStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -951,7 +932,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::Channel::Structs::LineupInfo::DecodableType & value) + const chip::app::Clusters::Channel::Structs::LineupInfoStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -1330,7 +1311,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType & value) + const chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterface::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -1612,7 +1593,7 @@ CHIP_ERROR DataModelLogger::LogValue( return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::AudioOutput::Structs::OutputInfo::DecodableType & value) + const chip::app::Clusters::AudioOutput::Structs::OutputInfoStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -1644,7 +1625,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::Parameter::DecodableType & value) + const chip::app::Clusters::ContentLauncher::Structs::ParameterStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -1675,8 +1656,9 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::MediaPlayback::Structs::PlaybackPosition::DecodableType & value) +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::MediaPlayback::Structs::PlaybackPositionStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -1847,7 +1829,7 @@ DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ModeSelect::Structs::SemanticTag::DecodableType & value) + const chip::app::Clusters::ModeSelect::Structs::SemanticTagStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -1942,15 +1924,16 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::StyleInformation::DecodableType & value) +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::ContentLauncher::Structs::StyleInformationStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("ImageUrl", indent + 1, value.imageUrl); + CHIP_ERROR err = LogValue("ImageURL", indent + 1, value.imageURL); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ImageUrl'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ImageURL'"); return err; } } @@ -2007,7 +1990,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::TargetNavigator::Structs::TargetInfo::DecodableType & value) + const chip::app::Clusters::TargetNavigator::Structs::TargetInfoStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -2281,8 +2264,9 @@ CHIP_ERROR DataModelLogger::LogValue( return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::DecodableType & value) +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -2330,7 +2314,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::DecodableType & value) + const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -2769,6 +2753,78 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PowerSource::Events::WiredFaultChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PowerSource::Events::BatFaultChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PowerSource::Events::BatChargeFaultChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const GeneralDiagnostics::Events::HardwareFaultChange::DecodableType & value) { @@ -2986,7 +3042,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasic::Events::StartUp::DecodableType & value) + const BridgedDeviceBasicInformation::Events::StartUp::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -3002,7 +3058,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasic::Events::ShutDown::DecodableType & value) + const BridgedDeviceBasicInformation::Events::ShutDown::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -3010,7 +3066,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasic::Events::Leave::DecodableType & value) + const BridgedDeviceBasicInformation::Events::Leave::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -3018,7 +3074,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasic::Events::ReachableChanged::DecodableType & value) + const BridgedDeviceBasicInformation::Events::ReachableChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -3602,7 +3658,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3611,7 +3667,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); ReturnErrorOnFailure(DataModelLogger::LogValue("groupName", indent + 1, value.groupName)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; @@ -3630,7 +3686,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3639,8 +3695,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3649,8 +3705,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); ReturnErrorOnFailure(DataModelLogger::LogValue("transitionTime", indent + 1, value.transitionTime)); ReturnErrorOnFailure(DataModelLogger::LogValue("sceneName", indent + 1, value.sceneName)); ReturnErrorOnFailure(DataModelLogger::LogValue("extensionFieldSets", indent + 1, value.extensionFieldSets)); @@ -3662,8 +3718,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3672,7 +3728,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3681,8 +3737,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3692,7 +3748,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); ReturnErrorOnFailure(DataModelLogger::LogValue("sceneList", indent + 1, value.sceneList)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; @@ -3702,8 +3758,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3712,8 +3768,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupId", indent + 1, value.groupId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneId", indent + 1, value.sceneId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); ReturnErrorOnFailure(DataModelLogger::LogValue("transitionTime", indent + 1, value.transitionTime)); ReturnErrorOnFailure(DataModelLogger::LogValue("sceneName", indent + 1, value.sceneName)); ReturnErrorOnFailure(DataModelLogger::LogValue("extensionFieldSets", indent + 1, value.extensionFieldSets)); @@ -3725,8 +3781,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupIdFrom", indent + 1, value.groupIdFrom)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneIdFrom", indent + 1, value.sceneIdFrom)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupIdentifierFrom", indent + 1, value.groupIdentifierFrom)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneIdentifierFrom", indent + 1, value.sceneIdentifierFrom)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3817,8 +3873,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("content", indent + 1, value.content)); - ReturnErrorOnFailure(DataModelLogger::LogValue("timeStamp", indent + 1, value.timeStamp)); + ReturnErrorOnFailure(DataModelLogger::LogValue("logContent", indent + 1, value.logContent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("UTCTimeStamp", indent + 1, value.UTCTimeStamp)); ReturnErrorOnFailure(DataModelLogger::LogValue("timeSinceBoot", indent + 1, value.timeSinceBoot)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; @@ -3828,7 +3884,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("attestationElements", indent + 1, value.attestationElements)); - ReturnErrorOnFailure(DataModelLogger::LogValue("signature", indent + 1, value.signature)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attestationSignature", indent + 1, value.attestationSignature)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -3920,7 +3976,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); ReturnErrorOnFailure(DataModelLogger::LogValue("userName", indent + 1, value.userName)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userUniqueId", indent + 1, value.userUniqueId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userUniqueID", indent + 1, value.userUniqueID)); ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); ReturnErrorOnFailure(DataModelLogger::LogValue("credentialRule", indent + 1, value.credentialRule)); @@ -4001,7 +4057,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ContentLauncher::Commands::LaunchResponse::DecodableType & value) + const ContentLauncher::Commands::LauncherResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); @@ -4204,12 +4260,12 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case Identify::Attributes::IdentifyTime::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("identify time", 1, value); + return DataModelLogger::LogValue("IdentifyTime", 1, value); } case Identify::Attributes::IdentifyType::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("identify type", 1, value); + return DataModelLogger::LogValue("IdentifyType", 1, value); } case Identify::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -4221,6 +4277,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Identify::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Identify::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4257,6 +4318,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Groups::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Groups::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4318,6 +4384,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Scenes::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Scenes::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4374,6 +4445,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case OnOff::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case OnOff::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4415,6 +4491,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case OnOffSwitchConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case OnOffSwitchConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4516,6 +4597,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case LevelControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case LevelControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4592,6 +4678,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case BinaryInputBasic::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case BinaryInputBasic::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4643,6 +4734,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Descriptor::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Descriptor::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4679,6 +4775,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Binding::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Binding::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4701,13 +4802,16 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case AccessControl::Attributes::Acl::Id: { - chip::app::DataModel::DecodableList + chip::app::DataModel::DecodableList< + chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ACL", 1, value); } case AccessControl::Attributes::Extension::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList< + chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Extension", 1, value); } @@ -4736,6 +4840,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case AccessControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case AccessControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4782,6 +4891,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Actions::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Actions::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4913,6 +5027,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case BasicInformation::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case BasicInformation::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4944,6 +5063,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case OtaSoftwareUpdateProvider::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case OtaSoftwareUpdateProvider::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -4965,12 +5089,12 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case OtaSoftwareUpdateRequestor::Id: { switch (path.mAttributeId) { - case OtaSoftwareUpdateRequestor::Attributes::DefaultOtaProviders::Id: { + case OtaSoftwareUpdateRequestor::Attributes::DefaultOTAProviders::Id: { chip::app::DataModel::DecodableList< chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultOtaProviders", 1, value); + return DataModelLogger::LogValue("DefaultOTAProviders", 1, value); } case OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::Id: { bool value; @@ -4997,6 +5121,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case OtaSoftwareUpdateRequestor::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case OtaSoftwareUpdateRequestor::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5038,6 +5167,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case LocalizationConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case LocalizationConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5060,17 +5194,17 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case TimeFormatLocalization::Attributes::HourFormat::Id: { - chip::app::Clusters::TimeFormatLocalization::HourFormat value; + chip::app::Clusters::TimeFormatLocalization::HourFormatEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("HourFormat", 1, value); } case TimeFormatLocalization::Attributes::ActiveCalendarType::Id: { - chip::app::Clusters::TimeFormatLocalization::CalendarType value; + chip::app::Clusters::TimeFormatLocalization::CalendarTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveCalendarType", 1, value); } case TimeFormatLocalization::Attributes::SupportedCalendarTypes::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SupportedCalendarTypes", 1, value); } @@ -5084,6 +5218,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case TimeFormatLocalization::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case TimeFormatLocalization::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5106,7 +5245,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case UnitLocalization::Attributes::TemperatureUnit::Id: { - chip::app::Clusters::UnitLocalization::TempUnit value; + chip::app::Clusters::UnitLocalization::TempUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TemperatureUnit", 1, value); } @@ -5120,6 +5259,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case UnitLocalization::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case UnitLocalization::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5156,6 +5300,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case PowerSourceConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case PowerSourceConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5178,7 +5327,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case PowerSource::Attributes::Status::Id: { - chip::app::Clusters::PowerSource::PowerSourceStatus value; + chip::app::Clusters::PowerSource::PowerSourceStatusEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Status", 1, value); } @@ -5203,7 +5352,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("WiredAssessedInputFrequency", 1, value); } case PowerSource::Attributes::WiredCurrentType::Id: { - chip::app::Clusters::PowerSource::WiredCurrentType value; + chip::app::Clusters::PowerSource::WiredCurrentTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("WiredCurrentType", 1, value); } @@ -5228,7 +5377,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("WiredPresent", 1, value); } case PowerSource::Attributes::ActiveWiredFaults::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveWiredFaults", 1, value); } @@ -5248,7 +5397,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("BatTimeRemaining", 1, value); } case PowerSource::Attributes::BatChargeLevel::Id: { - chip::app::Clusters::PowerSource::BatChargeLevel value; + chip::app::Clusters::PowerSource::BatChargeLevelEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("BatChargeLevel", 1, value); } @@ -5258,7 +5407,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("BatReplacementNeeded", 1, value); } case PowerSource::Attributes::BatReplaceability::Id: { - chip::app::Clusters::PowerSource::BatReplaceability value; + chip::app::Clusters::PowerSource::BatReplaceabilityEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("BatReplaceability", 1, value); } @@ -5268,7 +5417,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("BatPresent", 1, value); } case PowerSource::Attributes::ActiveBatFaults::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveBatFaults", 1, value); } @@ -5278,7 +5427,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("BatReplacementDescription", 1, value); } case PowerSource::Attributes::BatCommonDesignation::Id: { - uint32_t value; + chip::app::Clusters::PowerSource::BatCommonDesignationEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("BatCommonDesignation", 1, value); } @@ -5293,7 +5442,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("BatIECDesignation", 1, value); } case PowerSource::Attributes::BatApprovedChemistry::Id: { - uint32_t value; + chip::app::Clusters::PowerSource::BatApprovedChemistryEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("BatApprovedChemistry", 1, value); } @@ -5308,7 +5457,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("BatQuantity", 1, value); } case PowerSource::Attributes::BatChargeState::Id: { - chip::app::Clusters::PowerSource::BatChargeState value; + chip::app::Clusters::PowerSource::BatChargeStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("BatChargeState", 1, value); } @@ -5328,7 +5477,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("BatChargingCurrent", 1, value); } case PowerSource::Attributes::ActiveBatChargeFaults::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveBatChargeFaults", 1, value); } @@ -5342,6 +5491,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case PowerSource::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case PowerSource::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5398,6 +5552,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case GeneralCommissioning::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case GeneralCommissioning::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5470,6 +5629,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case NetworkCommissioning::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case NetworkCommissioning::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5501,6 +5665,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case DiagnosticLogs::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case DiagnosticLogs::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5523,8 +5692,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case GeneralDiagnostics::Attributes::NetworkInterfaces::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType> + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("NetworkInterfaces", 1, value); @@ -5544,23 +5712,23 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TotalOperationalHours", 1, value); } - case GeneralDiagnostics::Attributes::BootReasons::Id: { - uint8_t value; + case GeneralDiagnostics::Attributes::BootReason::Id: { + chip::app::Clusters::GeneralDiagnostics::BootReasonEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BootReasons", 1, value); + return DataModelLogger::LogValue("BootReason", 1, value); } case GeneralDiagnostics::Attributes::ActiveHardwareFaults::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveHardwareFaults", 1, value); } case GeneralDiagnostics::Attributes::ActiveRadioFaults::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveRadioFaults", 1, value); } case GeneralDiagnostics::Attributes::ActiveNetworkFaults::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ActiveNetworkFaults", 1, value); } @@ -5579,6 +5747,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case GeneralDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case GeneralDiagnostics::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5601,7 +5774,8 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case SoftwareDiagnostics::Attributes::ThreadMetrics::Id: { - chip::app::DataModel::DecodableList + chip::app::DataModel::DecodableList< + chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ThreadMetrics", 1, value); @@ -5631,6 +5805,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case SoftwareDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case SoftwareDiagnostics::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -5655,7 +5834,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case ThreadNetworkDiagnostics::Attributes::Channel::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("channel", 1, value); + return DataModelLogger::LogValue("Channel", 1, value); } case ThreadNetworkDiagnostics::Attributes::RoutingRole::Id: { chip::app::DataModel::Nullable value; @@ -5687,18 +5866,18 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("OverrunCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::NeighborTableList::Id: { + case ThreadNetworkDiagnostics::Attributes::NeighborTable::Id: { chip::app::DataModel::DecodableList< chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTable::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NeighborTableList", 1, value); + return DataModelLogger::LogValue("NeighborTable", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RouteTableList::Id: { + case ThreadNetworkDiagnostics::Attributes::RouteTable::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RouteTableList", 1, value); + return DataModelLogger::LogValue("RouteTable", 1, value); } case ThreadNetworkDiagnostics::Attributes::PartitionId::Id: { chip::app::DataModel::Nullable value; @@ -5708,7 +5887,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case ThreadNetworkDiagnostics::Attributes::Weighting::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("weighting", 1, value); + return DataModelLogger::LogValue("Weighting", 1, value); } case ThreadNetworkDiagnostics::Attributes::DataVersion::Id: { chip::app::DataModel::Nullable value; @@ -5983,6 +6162,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ThreadNetworkDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ThreadNetworkDiagnostics::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6007,15 +6191,15 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case WiFiNetworkDiagnostics::Attributes::Bssid::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("bssid", 1, value); + return DataModelLogger::LogValue("BSSID", 1, value); } case WiFiNetworkDiagnostics::Attributes::SecurityType::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SecurityType", 1, value); } case WiFiNetworkDiagnostics::Attributes::WiFiVersion::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("WiFiVersion", 1, value); } @@ -6027,7 +6211,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case WiFiNetworkDiagnostics::Attributes::Rssi::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Rssi", 1, value); + return DataModelLogger::LogValue("RSSI", 1, value); } case WiFiNetworkDiagnostics::Attributes::BeaconLostCount::Id: { chip::app::DataModel::Nullable value; @@ -6079,6 +6263,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case WiFiNetworkDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case WiFiNetworkDiagnostics::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6101,7 +6290,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case EthernetNetworkDiagnostics::Attributes::PHYRate::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PHYRate", 1, value); } @@ -6155,6 +6344,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case EthernetNetworkDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case EthernetNetworkDiagnostics::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6173,105 +6367,110 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case BridgedDeviceBasic::Id: { + case BridgedDeviceBasicInformation::Id: { switch (path.mAttributeId) { - case BridgedDeviceBasic::Attributes::VendorName::Id: { + case BridgedDeviceBasicInformation::Attributes::VendorName::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("VendorName", 1, value); } - case BridgedDeviceBasic::Attributes::VendorID::Id: { + case BridgedDeviceBasicInformation::Attributes::VendorID::Id: { chip::VendorId value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("VendorID", 1, value); } - case BridgedDeviceBasic::Attributes::ProductName::Id: { + case BridgedDeviceBasicInformation::Attributes::ProductName::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ProductName", 1, value); } - case BridgedDeviceBasic::Attributes::NodeLabel::Id: { + case BridgedDeviceBasicInformation::Attributes::NodeLabel::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("NodeLabel", 1, value); } - case BridgedDeviceBasic::Attributes::HardwareVersion::Id: { + case BridgedDeviceBasicInformation::Attributes::HardwareVersion::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("HardwareVersion", 1, value); } - case BridgedDeviceBasic::Attributes::HardwareVersionString::Id: { + case BridgedDeviceBasicInformation::Attributes::HardwareVersionString::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("HardwareVersionString", 1, value); } - case BridgedDeviceBasic::Attributes::SoftwareVersion::Id: { + case BridgedDeviceBasicInformation::Attributes::SoftwareVersion::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SoftwareVersion", 1, value); } - case BridgedDeviceBasic::Attributes::SoftwareVersionString::Id: { + case BridgedDeviceBasicInformation::Attributes::SoftwareVersionString::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SoftwareVersionString", 1, value); } - case BridgedDeviceBasic::Attributes::ManufacturingDate::Id: { + case BridgedDeviceBasicInformation::Attributes::ManufacturingDate::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ManufacturingDate", 1, value); } - case BridgedDeviceBasic::Attributes::PartNumber::Id: { + case BridgedDeviceBasicInformation::Attributes::PartNumber::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PartNumber", 1, value); } - case BridgedDeviceBasic::Attributes::ProductURL::Id: { + case BridgedDeviceBasicInformation::Attributes::ProductURL::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ProductURL", 1, value); } - case BridgedDeviceBasic::Attributes::ProductLabel::Id: { + case BridgedDeviceBasicInformation::Attributes::ProductLabel::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ProductLabel", 1, value); } - case BridgedDeviceBasic::Attributes::SerialNumber::Id: { + case BridgedDeviceBasicInformation::Attributes::SerialNumber::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SerialNumber", 1, value); } - case BridgedDeviceBasic::Attributes::Reachable::Id: { + case BridgedDeviceBasicInformation::Attributes::Reachable::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Reachable", 1, value); } - case BridgedDeviceBasic::Attributes::UniqueID::Id: { + case BridgedDeviceBasicInformation::Attributes::UniqueID::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("UniqueID", 1, value); } - case BridgedDeviceBasic::Attributes::GeneratedCommandList::Id: { + case BridgedDeviceBasicInformation::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("GeneratedCommandList", 1, value); } - case BridgedDeviceBasic::Attributes::AcceptedCommandList::Id: { + case BridgedDeviceBasicInformation::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } - case BridgedDeviceBasic::Attributes::AttributeList::Id: { + case BridgedDeviceBasicInformation::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case BridgedDeviceBasicInformation::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } - case BridgedDeviceBasic::Attributes::FeatureMap::Id: { + case BridgedDeviceBasicInformation::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BridgedDeviceBasic::Attributes::ClusterRevision::Id: { + case BridgedDeviceBasicInformation::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -6285,17 +6484,17 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case Switch::Attributes::NumberOfPositions::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("number of positions", 1, value); + return DataModelLogger::LogValue("NumberOfPositions", 1, value); } case Switch::Attributes::CurrentPosition::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("current position", 1, value); + return DataModelLogger::LogValue("CurrentPosition", 1, value); } case Switch::Attributes::MultiPressMax::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("multi press max", 1, value); + return DataModelLogger::LogValue("MultiPressMax", 1, value); } case Switch::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -6307,6 +6506,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Switch::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Switch::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6329,7 +6533,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case AdministratorCommissioning::Attributes::WindowStatus::Id: { - chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatus value; + chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatusEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("WindowStatus", 1, value); } @@ -6353,6 +6557,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case AdministratorCommissioning::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case AdministratorCommissioning::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6382,7 +6591,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } case OperationalCredentials::Attributes::Fabrics::Id: { chip::app::DataModel::DecodableList< - chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType> + chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptorStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Fabrics", 1, value); @@ -6417,6 +6626,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case OperationalCredentials::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case OperationalCredentials::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6470,6 +6684,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case GroupKeyManagement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case GroupKeyManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6494,7 +6713,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case FixedLabel::Attributes::LabelList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("label list", 1, value); + return DataModelLogger::LogValue("LabelList", 1, value); } case FixedLabel::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -6506,6 +6725,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case FixedLabel::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case FixedLabel::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6530,7 +6754,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case UserLabel::Attributes::LabelList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("label list", 1, value); + return DataModelLogger::LogValue("LabelList", 1, value); } case UserLabel::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -6542,6 +6766,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case UserLabel::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case UserLabel::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6578,6 +6807,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case BooleanState::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case BooleanState::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6639,6 +6873,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ModeSelect::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ModeSelect::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6676,7 +6915,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("ActuatorEnabled", 1, value); } case DoorLock::Attributes::DoorState::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("DoorState", 1, value); } @@ -6776,7 +7015,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("SoundVolume", 1, value); } case DoorLock::Attributes::OperatingMode::Id: { - chip::app::Clusters::DoorLock::DlOperatingMode value; + chip::app::Clusters::DoorLock::OperatingModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("OperatingMode", 1, value); } @@ -6850,6 +7089,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case DoorLock::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case DoorLock::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -6991,6 +7235,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case WindowCovering::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case WindowCovering::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7072,6 +7321,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case BarrierControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case BarrierControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7159,17 +7413,17 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("MaxConstTemp", 1, value); } case PumpConfigurationAndControl::Attributes::PumpStatus::Id: { - chip::BitMask value; + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PumpStatus", 1, value); } case PumpConfigurationAndControl::Attributes::EffectiveOperationMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode value; + chip::app::Clusters::PumpConfigurationAndControl::OperationModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EffectiveOperationMode", 1, value); } case PumpConfigurationAndControl::Attributes::EffectiveControlMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode value; + chip::app::Clusters::PumpConfigurationAndControl::ControlModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EffectiveControlMode", 1, value); } @@ -7199,12 +7453,12 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("LifetimeEnergyConsumed", 1, value); } case PumpConfigurationAndControl::Attributes::OperationMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode value; + chip::app::Clusters::PumpConfigurationAndControl::OperationModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("OperationMode", 1, value); } case PumpConfigurationAndControl::Attributes::ControlMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode value; + chip::app::Clusters::PumpConfigurationAndControl::ControlModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ControlMode", 1, value); } @@ -7218,6 +7472,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case PumpConfigurationAndControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case PumpConfigurationAndControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7494,6 +7753,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Thermostat::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Thermostat::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7518,57 +7782,57 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case FanControl::Attributes::FanMode::Id: { chip::app::Clusters::FanControl::FanModeType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("fan mode", 1, value); + return DataModelLogger::LogValue("FanMode", 1, value); } case FanControl::Attributes::FanModeSequence::Id: { chip::app::Clusters::FanControl::FanModeSequenceType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("fan mode sequence", 1, value); + return DataModelLogger::LogValue("FanModeSequence", 1, value); } case FanControl::Attributes::PercentSetting::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("percent setting", 1, value); + return DataModelLogger::LogValue("PercentSetting", 1, value); } case FanControl::Attributes::PercentCurrent::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("percent current", 1, value); + return DataModelLogger::LogValue("PercentCurrent", 1, value); } case FanControl::Attributes::SpeedMax::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("speed max", 1, value); + return DataModelLogger::LogValue("SpeedMax", 1, value); } case FanControl::Attributes::SpeedSetting::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("speed setting", 1, value); + return DataModelLogger::LogValue("SpeedSetting", 1, value); } case FanControl::Attributes::SpeedCurrent::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("speed current", 1, value); + return DataModelLogger::LogValue("SpeedCurrent", 1, value); } case FanControl::Attributes::RockSupport::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rock support", 1, value); + return DataModelLogger::LogValue("RockSupport", 1, value); } case FanControl::Attributes::RockSetting::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("rock setting", 1, value); + return DataModelLogger::LogValue("RockSetting", 1, value); } case FanControl::Attributes::WindSupport::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("wind support", 1, value); + return DataModelLogger::LogValue("WindSupport", 1, value); } case FanControl::Attributes::WindSetting::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("wind setting", 1, value); + return DataModelLogger::LogValue("WindSetting", 1, value); } case FanControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -7580,6 +7844,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case FanControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case FanControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7604,17 +7873,17 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("temperature display mode", 1, value); + return DataModelLogger::LogValue("TemperatureDisplayMode", 1, value); } case ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("keypad lockout", 1, value); + return DataModelLogger::LogValue("KeypadLockout", 1, value); } case ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("schedule programming visibility", 1, value); + return DataModelLogger::LogValue("ScheduleProgrammingVisibility", 1, value); } case ThermostatUserInterfaceConfiguration::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -7626,6 +7895,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ThermostatUserInterfaceConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ThermostatUserInterfaceConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7917,6 +8191,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ColorControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ColorControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -7963,10 +8242,10 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxLevel", 1, value); } - case BallastConfiguration::Attributes::IntrinsicBalanceFactor::Id: { + case BallastConfiguration::Attributes::IntrinsicBallastFactor::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("IntrinsicBalanceFactor", 1, value); + return DataModelLogger::LogValue("IntrinsicBallastFactor", 1, value); } case BallastConfiguration::Attributes::BallastFactorAdjustment::Id: { chip::app::DataModel::Nullable value; @@ -8018,6 +8297,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case BallastConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case BallastConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8074,6 +8358,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case IlluminanceMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case IlluminanceMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8125,6 +8414,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case TemperatureMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case TemperatureMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8201,6 +8495,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case PressureMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case PressureMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8252,6 +8551,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case FlowMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case FlowMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8276,22 +8580,22 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP case RelativeHumidityMeasurement::Attributes::MeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("measured value", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } case RelativeHumidityMeasurement::Attributes::MinMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("min measured value", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } case RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("max measured value", 1, value); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } case RelativeHumidityMeasurement::Attributes::Tolerance::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("tolerance", 1, value); + return DataModelLogger::LogValue("Tolerance", 1, value); } case RelativeHumidityMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -8303,6 +8607,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case RelativeHumidityMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case RelativeHumidityMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8325,64 +8634,64 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case OccupancySensing::Attributes::Occupancy::Id: { - uint8_t value; + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("occupancy", 1, value); + return DataModelLogger::LogValue("Occupancy", 1, value); } case OccupancySensing::Attributes::OccupancySensorType::Id: { - uint8_t value; + chip::app::Clusters::OccupancySensing::OccupancySensorTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("occupancy sensor type", 1, value); + return DataModelLogger::LogValue("OccupancySensorType", 1, value); } case OccupancySensing::Attributes::OccupancySensorTypeBitmap::Id: { - uint8_t value; + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("occupancy sensor type bitmap", 1, value); + return DataModelLogger::LogValue("OccupancySensorTypeBitmap", 1, value); } - case OccupancySensing::Attributes::PirOccupiedToUnoccupiedDelay::Id: { + case OccupancySensing::Attributes::PIROccupiedToUnoccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PIR occupied to unoccupied delay", 1, value); + return DataModelLogger::LogValue("PIROccupiedToUnoccupiedDelay", 1, value); } - case OccupancySensing::Attributes::PirUnoccupiedToOccupiedDelay::Id: { + case OccupancySensing::Attributes::PIRUnoccupiedToOccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PIR unoccupied to occupied delay", 1, value); + return DataModelLogger::LogValue("PIRUnoccupiedToOccupiedDelay", 1, value); } - case OccupancySensing::Attributes::PirUnoccupiedToOccupiedThreshold::Id: { + case OccupancySensing::Attributes::PIRUnoccupiedToOccupiedThreshold::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PIR unoccupied to occupied threshold", 1, value); + return DataModelLogger::LogValue("PIRUnoccupiedToOccupiedThreshold", 1, value); } case OccupancySensing::Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ultrasonic occupied to unoccupied delay", 1, value); + return DataModelLogger::LogValue("UltrasonicOccupiedToUnoccupiedDelay", 1, value); } case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ultrasonic unoccupied to occupied delay", 1, value); + return DataModelLogger::LogValue("UltrasonicUnoccupiedToOccupiedDelay", 1, value); } case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ultrasonic unoccupied to occupied threshold", 1, value); + return DataModelLogger::LogValue("UltrasonicUnoccupiedToOccupiedThreshold", 1, value); } case OccupancySensing::Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("physical contact occupied to unoccupied delay", 1, value); + return DataModelLogger::LogValue("PhysicalContactOccupiedToUnoccupiedDelay", 1, value); } case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("physical contact unoccupied to occupied delay", 1, value); + return DataModelLogger::LogValue("PhysicalContactUnoccupiedToOccupiedDelay", 1, value); } case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("physical contact unoccupied to occupied threshold", 1, value); + return DataModelLogger::LogValue("PhysicalContactUnoccupiedToOccupiedThreshold", 1, value); } case OccupancySensing::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; @@ -8394,6 +8703,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case OccupancySensing::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case OccupancySensing::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8430,6 +8744,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case WakeOnLan::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case WakeOnLan::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8452,17 +8771,17 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case Channel::Attributes::ChannelList::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ChannelList", 1, value); } case Channel::Attributes::Lineup::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Lineup", 1, value); } case Channel::Attributes::CurrentChannel::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("CurrentChannel", 1, value); } @@ -8476,6 +8795,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case Channel::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case Channel::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8498,7 +8822,8 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case TargetNavigator::Attributes::TargetList::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TargetList", 1, value); } @@ -8517,6 +8842,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case TargetNavigator::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case TargetNavigator::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8554,7 +8884,8 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("Duration", 1, value); } case MediaPlayback::Attributes::SampledPosition::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SampledPosition", 1, value); } @@ -8583,6 +8914,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case MediaPlayback::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case MediaPlayback::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8605,7 +8941,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case MediaInput::Attributes::InputList::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("InputList", 1, value); } @@ -8624,6 +8960,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case MediaInput::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case MediaInput::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8655,6 +8996,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case LowPower::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case LowPower::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8686,6 +9032,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case KeypadInput::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case KeypadInput::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8727,6 +9078,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ContentLauncher::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ContentLauncher::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8749,7 +9105,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP switch (path.mAttributeId) { case AudioOutput::Attributes::OutputList::Id: { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("OutputList", 1, value); } @@ -8768,6 +9124,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case AudioOutput::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case AudioOutput::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8795,7 +9156,8 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("CatalogList", 1, value); } case ApplicationLauncher::Attributes::CurrentApp::Id: { - chip::app::DataModel::Nullable value; + chip::app::DataModel::Nullable + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("CurrentApp", 1, value); } @@ -8809,6 +9171,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ApplicationLauncher::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ApplicationLauncher::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8851,7 +9218,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("ProductID", 1, value); } case ApplicationBasic::Attributes::Application::Id: { - chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::DecodableType value; + chip::app::Clusters::ApplicationBasic::Structs::ApplicationStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Application", 1, value); } @@ -8880,6 +9247,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ApplicationBasic::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ApplicationBasic::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8911,6 +9283,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case AccountLogin::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case AccountLogin::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9582,6 +9959,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case ElectricalMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case ElectricalMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9600,6 +9982,64 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } + case ClientMonitoring::Id: { + switch (path.mAttributeId) + { + case ClientMonitoring::Attributes::IdleModeInterval::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("IdleModeInterval", 1, value); + } + case ClientMonitoring::Attributes::ActiveModeInterval::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveModeInterval", 1, value); + } + case ClientMonitoring::Attributes::ActiveModeThreshold::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveModeThreshold", 1, value); + } + case ClientMonitoring::Attributes::ExpectedClients::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ClientMonitoring::Structs::MonitoringRegistration::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ExpectedClients", 1, value); + } + case ClientMonitoring::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GeneratedCommandList", 1, value); + } + case ClientMonitoring::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AcceptedCommandList", 1, value); + } + case ClientMonitoring::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case ClientMonitoring::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case ClientMonitoring::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case ClientMonitoring::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } case UnitTesting::Id: { switch (path.mAttributeId) { @@ -10026,6 +10466,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } + case UnitTesting::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } case UnitTesting::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -10340,10 +10785,10 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa case ContentLauncher::Id: { switch (path.mCommandId) { - case ContentLauncher::Commands::LaunchResponse::Id: { - ContentLauncher::Commands::LaunchResponse::DecodableType value; + case ContentLauncher::Commands::LauncherResponse::Id: { + ContentLauncher::Commands::LauncherResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LaunchResponse", 1, value); + return DataModelLogger::LogValue("LauncherResponse", 1, value); } } break; @@ -10566,6 +11011,27 @@ CHIP_ERROR DataModelLogger::LogEvent(const chip::app::EventHeader & header, chip } break; } + case PowerSource::Id: { + switch (header.mPath.mEventId) + { + case PowerSource::Events::WiredFaultChange::Id: { + chip::app::Clusters::PowerSource::Events::WiredFaultChange::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WiredFaultChange", 1, value); + } + case PowerSource::Events::BatFaultChange::Id: { + chip::app::Clusters::PowerSource::Events::BatFaultChange::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatFaultChange", 1, value); + } + case PowerSource::Events::BatChargeFaultChange::Id: { + chip::app::Clusters::PowerSource::Events::BatChargeFaultChange::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatChargeFaultChange", 1, value); + } + } + break; + } case GeneralDiagnostics::Id: { switch (header.mPath.mEventId) { @@ -10640,26 +11106,26 @@ CHIP_ERROR DataModelLogger::LogEvent(const chip::app::EventHeader & header, chip } break; } - case BridgedDeviceBasic::Id: { + case BridgedDeviceBasicInformation::Id: { switch (header.mPath.mEventId) { - case BridgedDeviceBasic::Events::StartUp::Id: { - chip::app::Clusters::BridgedDeviceBasic::Events::StartUp::DecodableType value; + case BridgedDeviceBasicInformation::Events::StartUp::Id: { + chip::app::Clusters::BridgedDeviceBasicInformation::Events::StartUp::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("StartUp", 1, value); } - case BridgedDeviceBasic::Events::ShutDown::Id: { - chip::app::Clusters::BridgedDeviceBasic::Events::ShutDown::DecodableType value; + case BridgedDeviceBasicInformation::Events::ShutDown::Id: { + chip::app::Clusters::BridgedDeviceBasicInformation::Events::ShutDown::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ShutDown", 1, value); } - case BridgedDeviceBasic::Events::Leave::Id: { - chip::app::Clusters::BridgedDeviceBasic::Events::Leave::DecodableType value; + case BridgedDeviceBasicInformation::Events::Leave::Id: { + chip::app::Clusters::BridgedDeviceBasicInformation::Events::Leave::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Leave", 1, value); } - case BridgedDeviceBasic::Events::ReachableChanged::Id: { - chip::app::Clusters::BridgedDeviceBasic::Events::ReachableChanged::DecodableType value; + case BridgedDeviceBasicInformation::Events::ReachableChanged::Id: { + chip::app::Clusters::BridgedDeviceBasicInformation::Events::ReachableChanged::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ReachableChanged", 1, value); } diff --git a/components/esp_matter_controller/logger/zap-generated/DataModelLogger.h b/components/esp_matter_controller/logger/zap-generated/DataModelLogger.h index 26136d48f..cb1d136eb 100644 --- a/components/esp_matter_controller/logger/zap-generated/DataModelLogger.h +++ b/components/esp_matter_controller/logger/zap-generated/DataModelLogger.h @@ -21,18 +21,17 @@ #include static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType & value); + const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Actions::Structs::ActionStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::AdditionalInfo::DecodableType & value); + const chip::app::Clusters::ContentLauncher::Structs::AdditionalInfoStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ApplicationLauncher::Structs::Application::DecodableType & value); -static CHIP_ERROR -LogValue(const char * label, size_t indent, - const chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::DecodableType & value); + const chip::app::Clusters::ApplicationLauncher::Structs::ApplicationEPStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ApplicationLauncher::Structs::ApplicationEP::DecodableType & value); + const chip::app::Clusters::detail::Structs::ApplicationStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Scenes::Structs::AttributeValuePair::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -42,31 +41,30 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::PowerSource::Structs::BatFaultChangeType::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::BrandingInformation::DecodableType & value); + const chip::app::Clusters::ContentLauncher::Structs::BrandingInformationStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::BasicInformation::Structs::CapabilityMinimaStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::Channel::Structs::ChannelInfo::DecodableType & value); + const chip::app::Clusters::Channel::Structs::ChannelInfoStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::ContentSearch::DecodableType & value); + const chip::app::Clusters::ContentLauncher::Structs::ContentSearchStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::Dimension::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::DoorLock::Structs::DlCredential::DecodableType & value); + const chip::app::Clusters::ContentLauncher::Structs::DimensionStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::UnitTesting::Structs::DoubleNestedStructList::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Actions::Structs::EndpointListStruct::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptorStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::GroupKeyManagement::Structs::GroupInfoMapStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -74,11 +72,11 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::GroupKeyManagement::Structs::GroupKeySetStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::MediaInput::Structs::InputInfo::DecodableType & value); + const chip::app::Clusters::MediaInput::Structs::InputInfoStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::detail::Structs::LabelStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::Channel::Structs::LineupInfo::DecodableType & value); + const chip::app::Clusters::Channel::Structs::LineupInfoStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -94,18 +92,18 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::NetworkInfo::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType & value); + const chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterface::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::UnitTesting::Structs::NullablesAndOptionalsStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::AudioOutput::Structs::OutputInfo::DecodableType & value); + const chip::app::Clusters::AudioOutput::Structs::OutputInfoStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::Parameter::DecodableType & value); + const chip::app::Clusters::ContentLauncher::Structs::ParameterStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::MediaPlayback::Structs::PlaybackPosition::DecodableType & value); + const chip::app::Clusters::MediaPlayback::Structs::PlaybackPositionStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -113,15 +111,15 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ModeSelect::Structs::SemanticTag::DecodableType & value); + const chip::app::Clusters::ModeSelect::Structs::SemanticTagStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::UnitTesting::Structs::SimpleStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Structs::StyleInformation::DecodableType & value); + const chip::app::Clusters::ContentLauncher::Structs::StyleInformationStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::AccessControl::Structs::Target::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TargetNavigator::Structs::TargetInfo::DecodableType & value); + const chip::app::Clusters::TargetNavigator::Structs::TargetInfoStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Binding::Structs::TargetStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -134,9 +132,9 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::ThreadInterfaceScanResult::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::DecodableType & value); + const chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::DecodableType & value); + const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::DecodableType & value); @@ -165,6 +163,12 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Events::VersionApplied::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Events::DownloadError::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::PowerSource::Events::WiredFaultChange::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::PowerSource::Events::BatFaultChange::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::PowerSource::Events::BatChargeFaultChange::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::GeneralDiagnostics::Events::HardwareFaultChange::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -186,13 +190,14 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::WiFiNetworkDiagnostics::Events::ConnectionStatus::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::BridgedDeviceBasic::Events::StartUp::DecodableType & value); + const chip::app::Clusters::BridgedDeviceBasicInformation::Events::StartUp::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::BridgedDeviceBasic::Events::ShutDown::DecodableType & value); + const chip::app::Clusters::BridgedDeviceBasicInformation::Events::ShutDown::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::BridgedDeviceBasic::Events::Leave::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::BridgedDeviceBasic::Events::ReachableChanged::DecodableType & value); + const chip::app::Clusters::BridgedDeviceBasicInformation::Events::Leave::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::BridgedDeviceBasicInformation::Events::ReachableChanged::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Switch::Events::SwitchLatched::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -353,7 +358,7 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::KeypadInput::Commands::SendKeyResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::ContentLauncher::Commands::LaunchResponse::DecodableType & value); + const chip::app::Clusters::ContentLauncher::Commands::LauncherResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, diff --git a/components/esp_matter_openthread/CMakeLists.txt b/components/esp_matter_openthread/CMakeLists.txt deleted file mode 100644 index 9b401dadf..000000000 --- a/components/esp_matter_openthread/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -if(CONFIG_OPENTHREAD_ENABLED) - set(srcs esp_matter_openthread.c) -endif() - -idf_component_register(SRCS ${srcs} - INCLUDE_DIRS . - PRIV_REQUIRES openthread esp_netif driver) diff --git a/components/esp_matter_openthread/esp_matter_openthread.c b/components/esp_matter_openthread/esp_matter_openthread.c deleted file mode 100644 index cb94b90c4..000000000 --- a/components/esp_matter_openthread/esp_matter_openthread.c +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2021 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "esp_matter_openthread_config.h" -#include "esp_event.h" -#include "esp_netif.h" -#include "esp_netif_types.h" -#include "esp_openthread.h" -#include "esp_openthread_lock.h" -#include "esp_openthread_netif_glue.h" -#include "esp_openthread_types.h" -#include "esp_vfs_eventfd.h" -#include "driver/uart.h" -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "openthread/instance.h" -#include "openthread/logging.h" -#include "openthread/tasklet.h" - -static esp_netif_t *init_openthread_netif(const esp_openthread_platform_config_t *config) -{ - esp_netif_config_t cfg = ESP_NETIF_DEFAULT_OPENTHREAD(); - esp_netif_t *netif = esp_netif_new(&cfg); - assert(netif != NULL); - ESP_ERROR_CHECK(esp_netif_attach(netif, esp_openthread_netif_glue_init(config))); - - return netif; -} - -static void ot_task_worker(void *context) -{ - esp_openthread_platform_config_t config = { - .radio_config = ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG(), - .host_config = ESP_OPENTHREAD_DEFAULT_HOST_CONFIG(), - .port_config = ESP_OPENTHREAD_DEFAULT_PORT_CONFIG(), - }; - esp_netif_t *openthread_netif; - - // Initialize the OpenThread stack - ESP_ERROR_CHECK(esp_openthread_init(&config)); - // The OpenThread log level directly matches ESP log level - (void)otLoggingSetLevel(OT_LOG_LEVEL_INFO); - // Initialize the esp_netif bindings - openthread_netif = init_openthread_netif(&config); - - // Run the main loop - esp_openthread_launch_mainloop(); - - esp_netif_destroy(openthread_netif); - esp_openthread_netif_glue_deinit(); - - esp_vfs_eventfd_unregister(); - vTaskDelete(NULL); -} - -esp_err_t esp_matter_openthread_launch_task(void) -{ - // Used eventfds: - // * netif - // * ot task queue - // * radio driver - esp_vfs_eventfd_config_t eventfd_config = { - .max_fds = 3, - }; - - ESP_ERROR_CHECK(esp_netif_init()); - ESP_ERROR_CHECK(esp_vfs_eventfd_register(&eventfd_config)); - xTaskCreate(ot_task_worker, "ot_cli_main", 10240, xTaskGetCurrentTaskHandle(), 5, NULL); - return ESP_OK; -} diff --git a/components/esp_matter_openthread/esp_matter_openthread.h b/components/esp_matter_openthread/esp_matter_openthread.h deleted file mode 100644 index 35e0bc60d..000000000 --- a/components/esp_matter_openthread/esp_matter_openthread.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#pragma once - -#include "esp_openthread.h" - -#ifdef __cplusplus -extern "C" { -#endif - -esp_err_t esp_matter_openthread_launch_task(void); - -#ifdef __cplusplus -} -#endif diff --git a/components/esp_matter_openthread/esp_matter_openthread_config.h b/components/esp_matter_openthread/esp_matter_openthread_config.h deleted file mode 100644 index 0750ef134..000000000 --- a/components/esp_matter_openthread/esp_matter_openthread_config.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2021 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#pragma once - -#include "esp_openthread_types.h" -#include "sdkconfig.h" -#if !CONFIG_IDF_TARGET_ESP32H2 -#error "Unsupported IDF target, Please set idf_target to esp32h2!" -#endif -#define ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG() \ - { \ - .radio_mode = RADIO_MODE_NATIVE, \ - } - -#define ESP_OPENTHREAD_DEFAULT_HOST_CONFIG() \ - { \ - .host_connection_mode = HOST_CONNECTION_MODE_NONE, \ - } - -#define ESP_OPENTHREAD_DEFAULT_PORT_CONFIG() \ - { \ - .storage_partition_name = "ot_storage", .netif_queue_size = 10, .task_queue_size = 10, \ - } diff --git a/connectedhomeip/connectedhomeip b/connectedhomeip/connectedhomeip index 7e69c66bb..bc8c9ece1 160000 --- a/connectedhomeip/connectedhomeip +++ b/connectedhomeip/connectedhomeip @@ -1 +1 @@ -Subproject commit 7e69c66bb44c91fe0b9bed7c7b8d272d3208c8dd +Subproject commit bc8c9ece127e42033543ecfa7b03341e6dcff1cc diff --git a/device_hal/device/esp32c6_devkit_c/device.c b/device_hal/device/esp32c6_devkit_c/device.c new file mode 100644 index 000000000..fa8e7d1b3 --- /dev/null +++ b/device_hal/device/esp32c6_devkit_c/device.c @@ -0,0 +1,43 @@ +// Copyright 2021 Espressif Systems (Shanghai) CO LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License + +#include +#include +#include + +#define LED_GPIO_PIN GPIO_NUM_8 +#define LED_CHANNEL 0 /* RMT_CHANNEL_0 */ +#define BUTTON_GPIO_PIN GPIO_NUM_9 + +static const char *TAG = "device"; + +led_driver_config_t led_driver_get_config() +{ + led_driver_config_t config = { + .gpio = LED_GPIO_PIN, + .channel = LED_CHANNEL, + }; + return config; +} + +button_config_t button_driver_get_config() +{ + button_config_t config = { + .type = BUTTON_TYPE_GPIO, + .gpio_button_config = { + .gpio_num = BUTTON_GPIO_PIN, + .active_level = 0, + } + }; + return config; +} diff --git a/device_hal/device/esp32c6_devkit_c/esp_matter_device.cmake b/device_hal/device/esp32c6_devkit_c/esp_matter_device.cmake new file mode 100644 index 000000000..aaee85384 --- /dev/null +++ b/device_hal/device/esp32c6_devkit_c/esp_matter_device.cmake @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.5) +if (NOT ("${IDF_TARGET}" STREQUAL "esp32c6" )) + message(FATAL_ERROR "please set esp32c6 as the IDF_TARGET using 'idf.py --preview set-target esp32c6'") +endif() + +SET(device_type esp32c2_devkit_m) +SET(led_type gpio) +SET(button_type hollow_button) + +SET(extra_components_dirs_append "$ENV{ESP_MATTER_DEVICE_PATH}/../../led_driver" + "$ENV{ESP_MATTER_DEVICE_PATH}/../../button_driver/button") diff --git a/docs/en/certification.rst b/docs/en/certification.rst index 85d8b48c0..d666f8fae 100644 --- a/docs/en/certification.rst +++ b/docs/en/certification.rst @@ -97,14 +97,18 @@ The option ``-n`` (count) is the number of generated binaries. In the above comm The option ``--paa-trust-store-path`` should be added when using chip-tool to pair the device for manual tests. -.. only:: esp32 or esp32c3 +.. only:: esp32 or esp32c3 or esp32c2 or esp32c6 :: cd path/to/connnectedhomeip/out/host/ ./chip-tool pairing ble-wifi 0x7283 --paa-trust-store-path -.. only:: esp32h2 +.. only:: esp32c6 + + or + +.. only:: esp32h2 or esp32c6 :: diff --git a/docs/en/developing.rst b/docs/en/developing.rst index 52b1a011f..995ce44ea 100644 --- a/docs/en/developing.rst +++ b/docs/en/developing.rst @@ -24,7 +24,7 @@ Additionally, we also support developing on Windows Host using WSL. The Prerequisites for ESP-IDF and Matter: - Please see `Prerequisites `__ for ESP IDF. -- Please get the `Prerequisites `__ for Matter. +- Please get the `Prerequisites `__ for Matter. @@ -56,12 +56,12 @@ For using VSCode for development, please check `Developing in WSL 20202021 3840 -.. only:: esp32h2 +.. only:: esp32c6 + + or + +.. only:: esp32h2 or esp32c6 :: @@ -247,15 +270,20 @@ Above method commissions the device using setup passcode and discriminator. Devi To Commission the device using manual pairing code 34970112332 -.. only:: esp32 or esp32c3 +.. only:: esp32 or esp32c3 or esp32c2 or esp32c6 :: pairing code-wifi 0x7283 34970112332 -.. only:: esp32h2 +.. only:: esp32c6 + + or + +.. only:: esp32h2 or esp32c6 :: + pairing code-thread 0x7283 hex: 34970112332 Above default manual pairing code contains following values: @@ -269,13 +297,17 @@ Above default manual pairing code contains following values: To commission the device using QR code MT:Y.K9042C00KA0648G00 -.. only:: esp32 or esp32c3 +.. only:: esp32 or esp32c3 or esp32c2 or esp32c6 :: pairing code-wifi 0x7283 MT:Y.K9042C00KA0648G00 -.. only:: esp32h2 +.. only:: esp32c6 + + or + +.. only:: esp32h2 or esp32c6 :: diff --git a/examples/common/external_platform/BUILD.gn b/examples/common/external_platform/BUILD.gn index ec4857ba8..df57cba42 100644 --- a/examples/common/external_platform/BUILD.gn +++ b/examples/common/external_platform/BUILD.gn @@ -90,15 +90,12 @@ static_library("ESP32_custom") { "KeyValueStoreManagerImpl.h", "Logging.cpp", "LwIPCoreLock.cpp", - "NetworkCommissioningDriver.h", - "NetworkCommissioningDriver.cpp", "PlatformManagerImpl.cpp", "PlatformManagerImpl.h", "SystemTimeSupport.cpp", "SystemTimeSupport.h", "bluedroid/BLEManagerImpl.cpp", "nimble/BLEManagerImpl.cpp", - "ConnectivityManagerImpl_WiFi.cpp", ] deps = [ @@ -116,13 +113,6 @@ static_library("ESP32_custom") { ":ESP32_custom_include", ] - if (chip_mdns == "platform") { - sources += [ - "DnssdImpl.cpp", - "DnssdImpl.h", - ] - } - if (chip_enable_ota_requestor) { sources += [ "OTAImageProcessorImpl.cpp", @@ -130,6 +120,24 @@ static_library("ESP32_custom") { ] } + if (chip_enable_wifi) { + sources += [ + "ConnectivityManagerImpl_WiFi.cpp", + "NetworkCommissioningDriver.cpp", + "NetworkCommissioningDriver.h", + "route_hook/ESP32RouteHook.c", + "route_hook/ESP32RouteHook.h", + "route_hook/ESP32RouteTable.c", + "route_hook/ESP32RouteTable.h", + ] + if (chip_mdns == "platform") { + sources += [ + "DnssdImpl.cpp", + "DnssdImpl.h", + ] + } + } + if (chip_use_factory_data_provider) { sources += [ "ESP32FactoryDataProvider.cpp", diff --git a/examples/generic_switch/CMakeLists.txt b/examples/generic_switch/CMakeLists.txt index 036db1b6a..b6c1c47bd 100644 --- a/examples/generic_switch/CMakeLists.txt +++ b/examples/generic_switch/CMakeLists.txt @@ -17,6 +17,8 @@ if(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH}) set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32h2_devkit_c) elseif("${IDF_TARGET}" STREQUAL "esp32s3") set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32s3_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32c6") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c6_devkit_c) else() message(FATAL_ERROR "Unsupported IDF_TARGET") endif() diff --git a/examples/generic_switch/partitions_c6.csv b/examples/generic_switch/partitions_c6.csv new file mode 100644 index 000000000..a64b27539 --- /dev/null +++ b/examples/generic_switch/partitions_c6.csv @@ -0,0 +1,9 @@ +# Name, Type, SubType, Offset, Size, Flags +# Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table +esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition +nvs, data, nvs, 0x10000, 0x6000, +nvs_keys, data, nvs_keys, , 0x1000, +phy_init, data, phy, , 0x1000, +ota_0, app, ota_0, , 0x1C0000, +ota_1, app, ota_1, , 0x1C0000, +ot_storage,data, fat, , 0x6000, diff --git a/examples/generic_switch/partitions_h2.csv b/examples/generic_switch/partitions_h2.csv index 7d1b2a4f8..a64b27539 100644 --- a/examples/generic_switch/partitions_h2.csv +++ b/examples/generic_switch/partitions_h2.csv @@ -1,8 +1,9 @@ # Name, Type, SubType, Offset, Size, Flags # Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table -sec_cert, 0x3F, ,0xd000, 0x3000, , # Never mark this as an encrypted partition +esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition nvs, data, nvs, 0x10000, 0x6000, +nvs_keys, data, nvs_keys, , 0x1000, phy_init, data, phy, , 0x1000, -# Temporarily disable ota for ESP32-H2 because the use of flash need to be optimized. -factory, app, factory, , 0x1C0000, +ota_0, app, ota_0, , 0x1C0000, +ota_1, app, ota_1, , 0x1C0000, ot_storage,data, fat, , 0x6000, diff --git a/examples/generic_switch/sdkconfig.defaults.esp32c6 b/examples/generic_switch/sdkconfig.defaults.esp32c6 new file mode 100644 index 000000000..207d09f63 --- /dev/null +++ b/examples/generic_switch/sdkconfig.defaults.esp32c6 @@ -0,0 +1,72 @@ +CONFIG_IDF_TARGET="esp32c6" + +# Default to 921600 baud when flashing and monitoring device +CONFIG_ESPTOOLPY_BAUD_921600B=y +CONFIG_ESPTOOLPY_BAUD=921600 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +CONFIG_ESPTOOLPY_FLASHFREQ="40m" +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 + +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y + +# NIMBLE +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=n +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Enable OpenThread +CONFIG_OPENTHREAD_ENABLED=y +CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n +CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y +CONFIG_OPENTHREAD_CLI=n + +# Disable lwip ipv6 autoconfig +CONFIG_LWIP_IPV6_AUTOCONFIG=n + +# Use a custom partition table +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_c6.csv" + +# LwIP config for OpenThread +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 +CONFIG_LWIP_MULTICAST_PING=y + +# mbedTLS +CONFIG_MBEDTLS_HARDWARE_AES=n +CONFIG_MBEDTLS_HARDWARE_MPI=n +CONFIG_MBEDTLS_HARDWARE_SHA=n +CONFIG_MBEDTLS_HARDWARE_ECC=y +CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN=n +CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY=n +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_SSL_PROTO_DTLS=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y + +# MDNS platform +CONFIG_USE_MINIMAL_MDNS=n +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# Enable OTA Requestor +CONFIG_ENABLE_OTA_REQUESTOR=y + +# Disable STA and AP for ESP32C6 +CONFIG_ENABLE_WIFI_STATION=n +CONFIG_ENABLE_WIFI_AP=n + +# Button +CONFIG_BUTTON_PERIOD_TIME_MS=20 +CONFIG_BUTTON_LONG_PRESS_TIME_MS=5000 + +# Enable chip shell +CONFIG_ENABLE_CHIP_SHELL=y + diff --git a/examples/generic_switch/sdkconfig.defaults.esp32h2 b/examples/generic_switch/sdkconfig.defaults.esp32h2 index 1ce0c71a5..d3108eb3b 100644 --- a/examples/generic_switch/sdkconfig.defaults.esp32h2 +++ b/examples/generic_switch/sdkconfig.defaults.esp32h2 @@ -1,5 +1,4 @@ CONFIG_IDF_TARGET="esp32h2" -CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_2=y # Default to 921600 baud when flashing and monitoring device CONFIG_ESPTOOLPY_BAUD_921600B=y @@ -9,7 +8,6 @@ CONFIG_ESPTOOLPY_FLASHFREQ_40M=y CONFIG_ESPTOOLPY_FLASHFREQ="40m" CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y # libsodium CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y @@ -27,6 +25,11 @@ CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y # Enable OpenThread CONFIG_OPENTHREAD_ENABLED=y CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n +CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y +CONFIG_OPENTHREAD_CLI=n + # Disable lwip ipv6 autoconfig CONFIG_LWIP_IPV6_AUTOCONFIG=n @@ -55,7 +58,7 @@ CONFIG_USE_MINIMAL_MDNS=n CONFIG_ENABLE_EXTENDED_DISCOVERY=y # Enable OTA Requestor -CONFIG_ENABLE_OTA_REQUESTOR=n +CONFIG_ENABLE_OTA_REQUESTOR=y # Disable STA and AP for ESP32H2 CONFIG_ENABLE_WIFI_STATION=n diff --git a/examples/light/CMakeLists.txt b/examples/light/CMakeLists.txt index 525f54bfe..062276934 100644 --- a/examples/light/CMakeLists.txt +++ b/examples/light/CMakeLists.txt @@ -17,6 +17,8 @@ if(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH}) set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32h2_devkit_c) elseif("${IDF_TARGET}" STREQUAL "esp32s3") set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32s3_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32c6") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c6_devkit_c) else() message(FATAL_ERROR "Unsupported IDF_TARGET") endif() diff --git a/examples/light/partitions_h2.csv b/examples/light/partitions_h2.csv index 29f199567..a64b27539 100644 --- a/examples/light/partitions_h2.csv +++ b/examples/light/partitions_h2.csv @@ -1,9 +1,9 @@ # Name, Type, SubType, Offset, Size, Flags # Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table -esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition +esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition nvs, data, nvs, 0x10000, 0x6000, nvs_keys, data, nvs_keys, , 0x1000, phy_init, data, phy, , 0x1000, -# Temporarily disable ota for ESP32-H2 because the use of flash need to be optimized. -factory, app, factory, , 0x1C0000, +ota_0, app, ota_0, , 0x1C0000, +ota_1, app, ota_1, , 0x1C0000, ot_storage,data, fat, , 0x6000, diff --git a/examples/light/sdkconfig.defaults.esp32c6 b/examples/light/sdkconfig.defaults.esp32c6 new file mode 100644 index 000000000..c4e3aa0ab --- /dev/null +++ b/examples/light/sdkconfig.defaults.esp32c6 @@ -0,0 +1,67 @@ +CONFIG_IDF_TARGET="esp32c6" + +# Default to 921600 baud when flashing and monitoring device +CONFIG_ESPTOOLPY_BAUD_921600B=y +CONFIG_ESPTOOLPY_BAUD=921600 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +CONFIG_ESPTOOLPY_FLASHFREQ="40m" +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 + +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y + +# NIMBLE +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=n +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Disable OpenThread +CONFIG_OPENTHREAD_ENABLED=n + +# Disable lwip ipv6 autoconfig +CONFIG_LWIP_IPV6_AUTOCONFIG=n + +# Use a custom partition table +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" + +# LwIP config for OpenThread +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 +CONFIG_LWIP_MULTICAST_PING=y + +# mbedTLS +CONFIG_MBEDTLS_HARDWARE_AES=n +CONFIG_MBEDTLS_HARDWARE_MPI=n +CONFIG_MBEDTLS_HARDWARE_SHA=n +CONFIG_MBEDTLS_HARDWARE_ECC=y +CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN=n +CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY=n +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_SSL_PROTO_DTLS=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y + +# MDNS platform +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# Enable OTA Requestor +CONFIG_ENABLE_OTA_REQUESTOR=y + +# Disable AP +CONFIG_ENABLE_WIFI_STATION=y +CONFIG_ENABLE_WIFI_AP=n + +# Button +CONFIG_BUTTON_PERIOD_TIME_MS=20 +CONFIG_BUTTON_LONG_PRESS_TIME_MS=5000 + +# Enable chip shell +CONFIG_ENABLE_CHIP_SHELL=y + diff --git a/examples/light/sdkconfig.defaults.esp32h2 b/examples/light/sdkconfig.defaults.esp32h2 index 1ce0c71a5..d3108eb3b 100644 --- a/examples/light/sdkconfig.defaults.esp32h2 +++ b/examples/light/sdkconfig.defaults.esp32h2 @@ -1,5 +1,4 @@ CONFIG_IDF_TARGET="esp32h2" -CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_2=y # Default to 921600 baud when flashing and monitoring device CONFIG_ESPTOOLPY_BAUD_921600B=y @@ -9,7 +8,6 @@ CONFIG_ESPTOOLPY_FLASHFREQ_40M=y CONFIG_ESPTOOLPY_FLASHFREQ="40m" CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y # libsodium CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y @@ -27,6 +25,11 @@ CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y # Enable OpenThread CONFIG_OPENTHREAD_ENABLED=y CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n +CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y +CONFIG_OPENTHREAD_CLI=n + # Disable lwip ipv6 autoconfig CONFIG_LWIP_IPV6_AUTOCONFIG=n @@ -55,7 +58,7 @@ CONFIG_USE_MINIMAL_MDNS=n CONFIG_ENABLE_EXTENDED_DISCOVERY=y # Enable OTA Requestor -CONFIG_ENABLE_OTA_REQUESTOR=n +CONFIG_ENABLE_OTA_REQUESTOR=y # Disable STA and AP for ESP32H2 CONFIG_ENABLE_WIFI_STATION=n diff --git a/examples/light_switch/CMakeLists.txt b/examples/light_switch/CMakeLists.txt index 4ad887e47..152e2ddb3 100644 --- a/examples/light_switch/CMakeLists.txt +++ b/examples/light_switch/CMakeLists.txt @@ -15,6 +15,8 @@ if(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH}) set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c2_devkit_m) elseif("${IDF_TARGET}" STREQUAL "esp32h2") set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32h2_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32c6") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c6_devkit_c) else() message(FATAL_ERROR "Unsupported IDF_TARGET") endif() diff --git a/examples/light_switch/partitions_c6.csv b/examples/light_switch/partitions_c6.csv new file mode 100644 index 000000000..a64b27539 --- /dev/null +++ b/examples/light_switch/partitions_c6.csv @@ -0,0 +1,9 @@ +# Name, Type, SubType, Offset, Size, Flags +# Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table +esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition +nvs, data, nvs, 0x10000, 0x6000, +nvs_keys, data, nvs_keys, , 0x1000, +phy_init, data, phy, , 0x1000, +ota_0, app, ota_0, , 0x1C0000, +ota_1, app, ota_1, , 0x1C0000, +ot_storage,data, fat, , 0x6000, diff --git a/examples/light_switch/partitions_h2.csv b/examples/light_switch/partitions_h2.csv index 29f199567..a64b27539 100644 --- a/examples/light_switch/partitions_h2.csv +++ b/examples/light_switch/partitions_h2.csv @@ -1,9 +1,9 @@ # Name, Type, SubType, Offset, Size, Flags # Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table -esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition +esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition nvs, data, nvs, 0x10000, 0x6000, nvs_keys, data, nvs_keys, , 0x1000, phy_init, data, phy, , 0x1000, -# Temporarily disable ota for ESP32-H2 because the use of flash need to be optimized. -factory, app, factory, , 0x1C0000, +ota_0, app, ota_0, , 0x1C0000, +ota_1, app, ota_1, , 0x1C0000, ot_storage,data, fat, , 0x6000, diff --git a/examples/light_switch/sdkconfig.defaults.esp32c6 b/examples/light_switch/sdkconfig.defaults.esp32c6 new file mode 100644 index 000000000..207d09f63 --- /dev/null +++ b/examples/light_switch/sdkconfig.defaults.esp32c6 @@ -0,0 +1,72 @@ +CONFIG_IDF_TARGET="esp32c6" + +# Default to 921600 baud when flashing and monitoring device +CONFIG_ESPTOOLPY_BAUD_921600B=y +CONFIG_ESPTOOLPY_BAUD=921600 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +CONFIG_ESPTOOLPY_FLASHFREQ="40m" +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 + +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y + +# NIMBLE +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=n +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Enable OpenThread +CONFIG_OPENTHREAD_ENABLED=y +CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n +CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y +CONFIG_OPENTHREAD_CLI=n + +# Disable lwip ipv6 autoconfig +CONFIG_LWIP_IPV6_AUTOCONFIG=n + +# Use a custom partition table +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_c6.csv" + +# LwIP config for OpenThread +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 +CONFIG_LWIP_MULTICAST_PING=y + +# mbedTLS +CONFIG_MBEDTLS_HARDWARE_AES=n +CONFIG_MBEDTLS_HARDWARE_MPI=n +CONFIG_MBEDTLS_HARDWARE_SHA=n +CONFIG_MBEDTLS_HARDWARE_ECC=y +CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN=n +CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY=n +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_SSL_PROTO_DTLS=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y + +# MDNS platform +CONFIG_USE_MINIMAL_MDNS=n +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# Enable OTA Requestor +CONFIG_ENABLE_OTA_REQUESTOR=y + +# Disable STA and AP for ESP32C6 +CONFIG_ENABLE_WIFI_STATION=n +CONFIG_ENABLE_WIFI_AP=n + +# Button +CONFIG_BUTTON_PERIOD_TIME_MS=20 +CONFIG_BUTTON_LONG_PRESS_TIME_MS=5000 + +# Enable chip shell +CONFIG_ENABLE_CHIP_SHELL=y + diff --git a/examples/light_switch/sdkconfig.defaults.esp32h2 b/examples/light_switch/sdkconfig.defaults.esp32h2 index 1ce0c71a5..d3108eb3b 100644 --- a/examples/light_switch/sdkconfig.defaults.esp32h2 +++ b/examples/light_switch/sdkconfig.defaults.esp32h2 @@ -1,5 +1,4 @@ CONFIG_IDF_TARGET="esp32h2" -CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_2=y # Default to 921600 baud when flashing and monitoring device CONFIG_ESPTOOLPY_BAUD_921600B=y @@ -9,7 +8,6 @@ CONFIG_ESPTOOLPY_FLASHFREQ_40M=y CONFIG_ESPTOOLPY_FLASHFREQ="40m" CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y # libsodium CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y @@ -27,6 +25,11 @@ CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y # Enable OpenThread CONFIG_OPENTHREAD_ENABLED=y CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n +CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y +CONFIG_OPENTHREAD_CLI=n + # Disable lwip ipv6 autoconfig CONFIG_LWIP_IPV6_AUTOCONFIG=n @@ -55,7 +58,7 @@ CONFIG_USE_MINIMAL_MDNS=n CONFIG_ENABLE_EXTENDED_DISCOVERY=y # Enable OTA Requestor -CONFIG_ENABLE_OTA_REQUESTOR=n +CONFIG_ENABLE_OTA_REQUESTOR=y # Disable STA and AP for ESP32H2 CONFIG_ENABLE_WIFI_STATION=n diff --git a/examples/zap_light/CMakeLists.txt b/examples/zap_light/CMakeLists.txt index 881446a54..b4a3b4d89 100644 --- a/examples/zap_light/CMakeLists.txt +++ b/examples/zap_light/CMakeLists.txt @@ -15,6 +15,8 @@ if(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH}) set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32h2_devkit_c) elseif("${IDF_TARGET}" STREQUAL "esp32s3") set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32s3_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32c6") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c6_devkit_c) else() message(FATAL_ERROR "Unsupported IDF_TARGET") endif() diff --git a/examples/zap_light/main/zap-generated/CHIPClientCallbacks.h b/examples/zap_light/main/zap-generated/CHIPClientCallbacks.h index 4458f5174..a04601f85 100644 --- a/examples/zap_light/main/zap-generated/CHIPClientCallbacks.h +++ b/examples/zap_light/main/zap-generated/CHIPClientCallbacks.h @@ -19,9 +19,8 @@ #pragma once -#include -#include #include +#include #include #include #include @@ -30,3 +29,4 @@ #include // List specific responses + diff --git a/examples/zap_light/main/zap-generated/CHIPClusters.h b/examples/zap_light/main/zap-generated/CHIPClusters.h index fffb265ae..42cca3a0c 100644 --- a/examples/zap_light/main/zap-generated/CHIPClusters.h +++ b/examples/zap_light/main/zap-generated/CHIPClusters.h @@ -33,10 +33,7 @@ namespace Controller { class DLL_EXPORT OtaSoftwareUpdateProviderCluster : public ClusterBase { public: - OtaSoftwareUpdateProviderCluster(Messaging::ExchangeManager & exchangeManager, const SessionHandle & session, - EndpointId endpoint) : - ClusterBase(exchangeManager, session, app::Clusters::OtaSoftwareUpdateProvider::Id, endpoint) - {} + OtaSoftwareUpdateProviderCluster(Messaging::ExchangeManager & exchangeManager, const SessionHandle & session, EndpointId endpoint) : ClusterBase(exchangeManager, session, endpoint) {} ~OtaSoftwareUpdateProviderCluster() {} }; diff --git a/examples/zap_light/main/zap-generated/IMClusterCommandHandler.cpp b/examples/zap_light/main/zap-generated/IMClusterCommandHandler.cpp index adf2da73d..92e288763 100644 --- a/examples/zap_light/main/zap-generated/IMClusterCommandHandler.cpp +++ b/examples/zap_light/main/zap-generated/IMClusterCommandHandler.cpp @@ -17,23 +17,19 @@ // THIS FILE IS GENERATED BY ZAP -#include #include +#include -#include #include #include #include #include +#include #include #include -#include #include #include -// Currently we need some work to keep compatible with ember lib. -#include - namespace chip { namespace app { @@ -46,45 +42,38 @@ namespace AdministratorCommissioning { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::OpenCommissioningWindow::Id: { - Commands::OpenCommissioningWindow::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(apCommandObj, aCommandPath, - commandData); - } + Commands::OpenCommissioningWindow::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::OpenBasicCommissioningWindow::Id: { - Commands::OpenBasicCommissioningWindow::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallback( - apCommandObj, aCommandPath, commandData); - } + Commands::OpenBasicCommissioningWindow::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::RevokeCommissioning::Id: { - Commands::RevokeCommissioning::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfAdministratorCommissioningClusterRevokeCommissioningCallback(apCommandObj, aCommandPath, commandData); - } + Commands::RevokeCommissioning::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfAdministratorCommissioningClusterRevokeCommissioningCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -92,199 +81,178 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace AdministratorCommissioning +} namespace ColorControl { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::MoveToHue::Id: { - Commands::MoveToHue::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveToHueCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveToHue::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveToHueCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveHue::Id: { - Commands::MoveHue::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveHueCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveHue::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveHueCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::StepHue::Id: { - Commands::StepHue::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterStepHueCallback(apCommandObj, aCommandPath, commandData); - } + Commands::StepHue::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterStepHueCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveToSaturation::Id: { - Commands::MoveToSaturation::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveToSaturationCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveToSaturation::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveToSaturationCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveSaturation::Id: { - Commands::MoveSaturation::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveSaturationCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveSaturation::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveSaturationCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::StepSaturation::Id: { - Commands::StepSaturation::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterStepSaturationCallback(apCommandObj, aCommandPath, commandData); - } + Commands::StepSaturation::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterStepSaturationCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveToHueAndSaturation::Id: { - Commands::MoveToHueAndSaturation::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveToHueAndSaturationCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveToHueAndSaturation::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveToHueAndSaturationCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveToColor::Id: { - Commands::MoveToColor::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveToColorCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveToColor::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveToColorCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveColor::Id: { - Commands::MoveColor::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveColorCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveColor::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveColorCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::StepColor::Id: { - Commands::StepColor::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterStepColorCallback(apCommandObj, aCommandPath, commandData); - } + Commands::StepColor::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterStepColorCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveToColorTemperature::Id: { - Commands::MoveToColorTemperature::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveToColorTemperatureCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveToColorTemperature::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveToColorTemperatureCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::EnhancedMoveToHue::Id: { - Commands::EnhancedMoveToHue::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterEnhancedMoveToHueCallback(apCommandObj, aCommandPath, commandData); - } + Commands::EnhancedMoveToHue::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterEnhancedMoveToHueCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::EnhancedMoveHue::Id: { - Commands::EnhancedMoveHue::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterEnhancedMoveHueCallback(apCommandObj, aCommandPath, commandData); - } + Commands::EnhancedMoveHue::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterEnhancedMoveHueCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::EnhancedStepHue::Id: { - Commands::EnhancedStepHue::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterEnhancedStepHueCallback(apCommandObj, aCommandPath, commandData); - } + Commands::EnhancedStepHue::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterEnhancedStepHueCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::EnhancedMoveToHueAndSaturation::Id: { - Commands::EnhancedMoveToHueAndSaturation::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfColorControlClusterEnhancedMoveToHueAndSaturationCallback(apCommandObj, aCommandPath, commandData); - } + Commands::EnhancedMoveToHueAndSaturation::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterEnhancedMoveToHueAndSaturationCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::ColorLoopSet::Id: { - Commands::ColorLoopSet::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterColorLoopSetCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ColorLoopSet::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterColorLoopSetCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::StopMoveStep::Id: { - Commands::StopMoveStep::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterStopMoveStepCallback(apCommandObj, aCommandPath, commandData); - } + Commands::StopMoveStep::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterStopMoveStepCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveColorTemperature::Id: { - Commands::MoveColorTemperature::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterMoveColorTemperatureCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveColorTemperature::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterMoveColorTemperatureCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::StepColorTemperature::Id: { - Commands::StepColorTemperature::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfColorControlClusterStepColorTemperatureCallback(apCommandObj, aCommandPath, commandData); - } + Commands::StepColorTemperature::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfColorControlClusterStepColorTemperatureCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -292,36 +260,34 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace ColorControl +} namespace DiagnosticLogs { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::RetrieveLogsRequest::Id: { - Commands::RetrieveLogsRequest::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfDiagnosticLogsClusterRetrieveLogsRequestCallback(apCommandObj, aCommandPath, commandData); - } + Commands::RetrieveLogsRequest::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfDiagnosticLogsClusterRetrieveLogsRequestCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -329,36 +295,34 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace DiagnosticLogs +} namespace EthernetNetworkDiagnostics { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::ResetCounts::Id: { - Commands::ResetCounts::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfEthernetNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ResetCounts::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfEthernetNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -366,55 +330,50 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace EthernetNetworkDiagnostics +} namespace GeneralCommissioning { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::ArmFailSafe::Id: { - Commands::ArmFailSafe::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGeneralCommissioningClusterArmFailSafeCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ArmFailSafe::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGeneralCommissioningClusterArmFailSafeCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::SetRegulatoryConfig::Id: { - Commands::SetRegulatoryConfig::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGeneralCommissioningClusterSetRegulatoryConfigCallback(apCommandObj, aCommandPath, commandData); - } + Commands::SetRegulatoryConfig::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGeneralCommissioningClusterSetRegulatoryConfigCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::CommissioningComplete::Id: { - Commands::CommissioningComplete::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfGeneralCommissioningClusterCommissioningCompleteCallback(apCommandObj, aCommandPath, commandData); - } + Commands::CommissioningComplete::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGeneralCommissioningClusterCommissioningCompleteCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -422,36 +381,34 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace GeneralCommissioning +} namespace GeneralDiagnostics { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::TestEventTrigger::Id: { - Commands::TestEventTrigger::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGeneralDiagnosticsClusterTestEventTriggerCallback(apCommandObj, aCommandPath, commandData); - } + Commands::TestEventTrigger::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGeneralDiagnosticsClusterTestEventTriggerCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -459,63 +416,58 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace GeneralDiagnostics +} namespace GroupKeyManagement { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::KeySetWrite::Id: { - Commands::KeySetWrite::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupKeyManagementClusterKeySetWriteCallback(apCommandObj, aCommandPath, commandData); - } + Commands::KeySetWrite::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupKeyManagementClusterKeySetWriteCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::KeySetRead::Id: { - Commands::KeySetRead::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupKeyManagementClusterKeySetReadCallback(apCommandObj, aCommandPath, commandData); - } + Commands::KeySetRead::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupKeyManagementClusterKeySetReadCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::KeySetRemove::Id: { - Commands::KeySetRemove::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupKeyManagementClusterKeySetRemoveCallback(apCommandObj, aCommandPath, commandData); - } + Commands::KeySetRemove::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupKeyManagementClusterKeySetRemoveCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::KeySetReadAllIndices::Id: { - Commands::KeySetReadAllIndices::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupKeyManagementClusterKeySetReadAllIndicesCallback(apCommandObj, aCommandPath, commandData); - } + Commands::KeySetReadAllIndices::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupKeyManagementClusterKeySetReadAllIndicesCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -523,81 +475,74 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace GroupKeyManagement +} namespace Groups { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::AddGroup::Id: { - Commands::AddGroup::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupsClusterAddGroupCallback(apCommandObj, aCommandPath, commandData); - } + Commands::AddGroup::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupsClusterAddGroupCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::ViewGroup::Id: { - Commands::ViewGroup::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupsClusterViewGroupCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ViewGroup::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupsClusterViewGroupCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::GetGroupMembership::Id: { - Commands::GetGroupMembership::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupsClusterGetGroupMembershipCallback(apCommandObj, aCommandPath, commandData); - } + Commands::GetGroupMembership::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupsClusterGetGroupMembershipCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::RemoveGroup::Id: { - Commands::RemoveGroup::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupsClusterRemoveGroupCallback(apCommandObj, aCommandPath, commandData); - } + Commands::RemoveGroup::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupsClusterRemoveGroupCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::RemoveAllGroups::Id: { - Commands::RemoveAllGroups::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupsClusterRemoveAllGroupsCallback(apCommandObj, aCommandPath, commandData); - } + Commands::RemoveAllGroups::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupsClusterRemoveAllGroupsCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::AddGroupIfIdentifying::Id: { - Commands::AddGroupIfIdentifying::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfGroupsClusterAddGroupIfIdentifyingCallback(apCommandObj, aCommandPath, commandData); - } + Commands::AddGroupIfIdentifying::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfGroupsClusterAddGroupIfIdentifyingCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -605,45 +550,42 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace Groups +} namespace Identify { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::Identify::Id: { - Commands::Identify::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfIdentifyClusterIdentifyCallback(apCommandObj, aCommandPath, commandData); - } + Commands::Identify::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfIdentifyClusterIdentifyCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::TriggerEffect::Id: { - Commands::TriggerEffect::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfIdentifyClusterTriggerEffectCallback(apCommandObj, aCommandPath, commandData); - } + Commands::TriggerEffect::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfIdentifyClusterTriggerEffectCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -651,99 +593,90 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace Identify +} namespace LevelControl { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::MoveToLevel::Id: { - Commands::MoveToLevel::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterMoveToLevelCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveToLevel::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterMoveToLevelCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::Move::Id: { - Commands::Move::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterMoveCallback(apCommandObj, aCommandPath, commandData); - } + Commands::Move::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterMoveCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::Step::Id: { - Commands::Step::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterStepCallback(apCommandObj, aCommandPath, commandData); - } + Commands::Step::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterStepCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::Stop::Id: { - Commands::Stop::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterStopCallback(apCommandObj, aCommandPath, commandData); - } + Commands::Stop::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterStopCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveToLevelWithOnOff::Id: { - Commands::MoveToLevelWithOnOff::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterMoveToLevelWithOnOffCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveToLevelWithOnOff::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterMoveToLevelWithOnOffCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::MoveWithOnOff::Id: { - Commands::MoveWithOnOff::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterMoveWithOnOffCallback(apCommandObj, aCommandPath, commandData); - } + Commands::MoveWithOnOff::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterMoveWithOnOffCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::StepWithOnOff::Id: { - Commands::StepWithOnOff::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterStepWithOnOffCallback(apCommandObj, aCommandPath, commandData); - } + Commands::StepWithOnOff::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterStepWithOnOffCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::StopWithOnOff::Id: { - Commands::StopWithOnOff::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfLevelControlClusterStopWithOnOffCallback(apCommandObj, aCommandPath, commandData); - } + Commands::StopWithOnOff::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfLevelControlClusterStopWithOnOffCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -751,83 +684,74 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace LevelControl +} namespace NetworkCommissioning { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::ScanNetworks::Id: { - Commands::ScanNetworks::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfNetworkCommissioningClusterScanNetworksCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ScanNetworks::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfNetworkCommissioningClusterScanNetworksCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::AddOrUpdateWiFiNetwork::Id: { - Commands::AddOrUpdateWiFiNetwork::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfNetworkCommissioningClusterAddOrUpdateWiFiNetworkCallback(apCommandObj, aCommandPath, commandData); - } + Commands::AddOrUpdateWiFiNetwork::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfNetworkCommissioningClusterAddOrUpdateWiFiNetworkCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::AddOrUpdateThreadNetwork::Id: { - Commands::AddOrUpdateThreadNetwork::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfNetworkCommissioningClusterAddOrUpdateThreadNetworkCallback(apCommandObj, aCommandPath, commandData); - } + Commands::AddOrUpdateThreadNetwork::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfNetworkCommissioningClusterAddOrUpdateThreadNetworkCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::RemoveNetwork::Id: { - Commands::RemoveNetwork::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfNetworkCommissioningClusterRemoveNetworkCallback(apCommandObj, aCommandPath, commandData); - } + Commands::RemoveNetwork::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfNetworkCommissioningClusterRemoveNetworkCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::ConnectNetwork::Id: { - Commands::ConnectNetwork::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfNetworkCommissioningClusterConnectNetworkCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ConnectNetwork::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfNetworkCommissioningClusterConnectNetworkCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::ReorderNetwork::Id: { - Commands::ReorderNetwork::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfNetworkCommissioningClusterReorderNetworkCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ReorderNetwork::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfNetworkCommissioningClusterReorderNetworkCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -835,37 +759,34 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace NetworkCommissioning +} namespace OtaSoftwareUpdateRequestor { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { - case Commands::AnnounceOtaProvider::Id: { - Commands::AnnounceOtaProvider::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfOtaSoftwareUpdateRequestorClusterAnnounceOtaProviderCallback(apCommandObj, aCommandPath, commandData); - } + case Commands::AnnounceOTAProvider::Id: { + Commands::AnnounceOTAProvider::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOtaSoftwareUpdateRequestorClusterAnnounceOTAProviderCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -873,81 +794,74 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace OtaSoftwareUpdateRequestor +} namespace OnOff { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::Off::Id: { - Commands::Off::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOnOffClusterOffCallback(apCommandObj, aCommandPath, commandData); - } + Commands::Off::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOnOffClusterOffCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::On::Id: { - Commands::On::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOnOffClusterOnCallback(apCommandObj, aCommandPath, commandData); - } + Commands::On::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOnOffClusterOnCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::Toggle::Id: { - Commands::Toggle::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOnOffClusterToggleCallback(apCommandObj, aCommandPath, commandData); - } + Commands::Toggle::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOnOffClusterToggleCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::OffWithEffect::Id: { - Commands::OffWithEffect::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOnOffClusterOffWithEffectCallback(apCommandObj, aCommandPath, commandData); - } + Commands::OffWithEffect::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOnOffClusterOffWithEffectCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::OnWithRecallGlobalScene::Id: { - Commands::OnWithRecallGlobalScene::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOnOffClusterOnWithRecallGlobalSceneCallback(apCommandObj, aCommandPath, commandData); - } + Commands::OnWithRecallGlobalScene::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOnOffClusterOnWithRecallGlobalSceneCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::OnWithTimedOff::Id: { - Commands::OnWithTimedOff::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOnOffClusterOnWithTimedOffCallback(apCommandObj, aCommandPath, commandData); - } + Commands::OnWithTimedOff::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOnOffClusterOnWithTimedOffCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -955,102 +869,90 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace OnOff +} namespace OperationalCredentials { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::AttestationRequest::Id: { - Commands::AttestationRequest::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfOperationalCredentialsClusterAttestationRequestCallback(apCommandObj, aCommandPath, commandData); - } + Commands::AttestationRequest::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterAttestationRequestCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::CertificateChainRequest::Id: { - Commands::CertificateChainRequest::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfOperationalCredentialsClusterCertificateChainRequestCallback(apCommandObj, aCommandPath, commandData); - } + Commands::CertificateChainRequest::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterCertificateChainRequestCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::CSRRequest::Id: { - Commands::CSRRequest::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOperationalCredentialsClusterCSRRequestCallback(apCommandObj, aCommandPath, commandData); - } + Commands::CSRRequest::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterCSRRequestCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::AddNOC::Id: { - Commands::AddNOC::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOperationalCredentialsClusterAddNOCCallback(apCommandObj, aCommandPath, commandData); - } + Commands::AddNOC::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterAddNOCCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::UpdateNOC::Id: { - Commands::UpdateNOC::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOperationalCredentialsClusterUpdateNOCCallback(apCommandObj, aCommandPath, commandData); - } + Commands::UpdateNOC::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterUpdateNOCCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::UpdateFabricLabel::Id: { - Commands::UpdateFabricLabel::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOperationalCredentialsClusterUpdateFabricLabelCallback(apCommandObj, aCommandPath, commandData); - } + Commands::UpdateFabricLabel::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterUpdateFabricLabelCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::RemoveFabric::Id: { - Commands::RemoveFabric::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfOperationalCredentialsClusterRemoveFabricCallback(apCommandObj, aCommandPath, commandData); - } + Commands::RemoveFabric::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterRemoveFabricCallback(apCommandObj, aCommandPath, commandData); + } break; } case Commands::AddTrustedRootCertificate::Id: { - Commands::AddTrustedRootCertificate::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = - emberAfOperationalCredentialsClusterAddTrustedRootCertificateCallback(apCommandObj, aCommandPath, commandData); - } + Commands::AddTrustedRootCertificate::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfOperationalCredentialsClusterAddTrustedRootCertificateCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -1058,36 +960,34 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace OperationalCredentials +} namespace SoftwareDiagnostics { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::ResetWatermarks::Id: { - Commands::ResetWatermarks::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfSoftwareDiagnosticsClusterResetWatermarksCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ResetWatermarks::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfSoftwareDiagnosticsClusterResetWatermarksCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -1095,36 +995,34 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace SoftwareDiagnostics +} namespace ThreadNetworkDiagnostics { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::ResetCounts::Id: { - Commands::ResetCounts::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfThreadNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ResetCounts::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfThreadNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -1132,36 +1030,34 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace ThreadNetworkDiagnostics +} namespace WiFiNetworkDiagnostics { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) { CHIP_ERROR TLVError = CHIP_NO_ERROR; - bool wasHandled = false; + bool wasHandled = false; { switch (aCommandPath.mCommandId) { case Commands::ResetCounts::Id: { - Commands::ResetCounts::DecodableType commandData; - TLVError = DataModel::Decode(aDataTlv, commandData); - if (TLVError == CHIP_NO_ERROR) - { - wasHandled = emberAfWiFiNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); - } + Commands::ResetCounts::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) { + wasHandled = emberAfWiFiNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); + } break; } default: { // Unrecognized command ID, error status will apply. apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); - ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, - ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); return; } } @@ -1169,19 +1065,18 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP if (CHIP_NO_ERROR != TLVError || !wasHandled) { - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); - ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); } } -} // namespace WiFiNetworkDiagnostics +} + } // namespace Clusters void DispatchSingleClusterCommand(const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aReader, CommandHandler * apCommandObj) { - Compatibility::SetupEmberAfCommandHandler(apCommandObj, aCommandPath); - switch (aCommandPath.mClusterId) { case Clusters::AdministratorCommissioning::Id: @@ -1237,11 +1132,12 @@ void DispatchSingleClusterCommand(const ConcreteCommandPath & aCommandPath, TLV: break; default: ChipLogError(Zcl, "Unknown cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mClusterId)); - apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCluster); + apCommandObj->AddStatus( + aCommandPath, + Protocols::InteractionModel::Status::UnsupportedCluster + ); break; } - - Compatibility::ResetEmberAfObjects(); } } // namespace app diff --git a/examples/zap_light/main/zap-generated/PluginApplicationCallbacks.h b/examples/zap_light/main/zap-generated/PluginApplicationCallbacks.h index 935de8bba..de27155a6 100644 --- a/examples/zap_light/main/zap-generated/PluginApplicationCallbacks.h +++ b/examples/zap_light/main/zap-generated/PluginApplicationCallbacks.h @@ -1,49 +1,56 @@ -/* - * - * Copyright (c) 2022 Project CHIP Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// THIS FILE IS GENERATED BY ZAP - #pragma once +void MatterAccessControlPluginServerInitCallback(); +void MatterAdministratorCommissioningPluginServerInitCallback(); +void MatterBasicInformationPluginServerInitCallback(); +void MatterColorControlPluginServerInitCallback(); +void MatterDescriptorPluginServerInitCallback(); +void MatterDiagnosticLogsPluginServerInitCallback(); +void MatterEthernetNetworkDiagnosticsPluginServerInitCallback(); +void MatterFixedLabelPluginServerInitCallback(); +void MatterGeneralCommissioningPluginServerInitCallback(); +void MatterGeneralDiagnosticsPluginServerInitCallback(); +void MatterGroupKeyManagementPluginServerInitCallback(); +void MatterGroupsPluginServerInitCallback(); +void MatterIdentifyPluginServerInitCallback(); +void MatterLevelControlPluginServerInitCallback(); +void MatterLocalizationConfigurationPluginServerInitCallback(); +void MatterNetworkCommissioningPluginServerInitCallback(); +void MatterOccupancySensingPluginServerInitCallback(); +void MatterOnOffPluginServerInitCallback(); +void MatterOperationalCredentialsPluginServerInitCallback(); +void MatterOtaSoftwareUpdateRequestorPluginServerInitCallback(); +void MatterSoftwareDiagnosticsPluginServerInitCallback(); +void MatterSwitchPluginServerInitCallback(); +void MatterThreadNetworkDiagnosticsPluginServerInitCallback(); +void MatterTimeFormatLocalizationPluginServerInitCallback(); +void MatterUserLabelPluginServerInitCallback(); +void MatterWiFiNetworkDiagnosticsPluginServerInitCallback(); + +#define MATTER_PLUGINS_INIT \ + MatterAccessControlPluginServerInitCallback(); \ + MatterAdministratorCommissioningPluginServerInitCallback(); \ + MatterBasicInformationPluginServerInitCallback(); \ + MatterColorControlPluginServerInitCallback(); \ + MatterDescriptorPluginServerInitCallback(); \ + MatterDiagnosticLogsPluginServerInitCallback(); \ + MatterEthernetNetworkDiagnosticsPluginServerInitCallback(); \ + MatterFixedLabelPluginServerInitCallback(); \ + MatterGeneralCommissioningPluginServerInitCallback(); \ + MatterGeneralDiagnosticsPluginServerInitCallback(); \ + MatterGroupKeyManagementPluginServerInitCallback(); \ + MatterGroupsPluginServerInitCallback(); \ + MatterIdentifyPluginServerInitCallback(); \ + MatterLevelControlPluginServerInitCallback(); \ + MatterLocalizationConfigurationPluginServerInitCallback(); \ + MatterNetworkCommissioningPluginServerInitCallback(); \ + MatterOccupancySensingPluginServerInitCallback(); \ + MatterOnOffPluginServerInitCallback(); \ + MatterOperationalCredentialsPluginServerInitCallback(); \ + MatterOtaSoftwareUpdateRequestorPluginServerInitCallback(); \ + MatterSoftwareDiagnosticsPluginServerInitCallback(); \ + MatterSwitchPluginServerInitCallback(); \ + MatterThreadNetworkDiagnosticsPluginServerInitCallback(); \ + MatterTimeFormatLocalizationPluginServerInitCallback(); \ + MatterUserLabelPluginServerInitCallback(); \ + MatterWiFiNetworkDiagnosticsPluginServerInitCallback(); -#define MATTER_PLUGINS_INIT \ - MatterIdentifyPluginServerInitCallback(); \ - MatterGroupsPluginServerInitCallback(); \ - MatterOnOffPluginServerInitCallback(); \ - MatterLevelControlPluginServerInitCallback(); \ - MatterDescriptorPluginServerInitCallback(); \ - MatterAccessControlPluginServerInitCallback(); \ - MatterBasicInformationPluginServerInitCallback(); \ - MatterOtaSoftwareUpdateProviderPluginClientInitCallback(); \ - MatterOtaSoftwareUpdateRequestorPluginServerInitCallback(); \ - MatterLocalizationConfigurationPluginServerInitCallback(); \ - MatterTimeFormatLocalizationPluginServerInitCallback(); \ - MatterGeneralCommissioningPluginServerInitCallback(); \ - MatterNetworkCommissioningPluginServerInitCallback(); \ - MatterDiagnosticLogsPluginServerInitCallback(); \ - MatterGeneralDiagnosticsPluginServerInitCallback(); \ - MatterSoftwareDiagnosticsPluginServerInitCallback(); \ - MatterThreadNetworkDiagnosticsPluginServerInitCallback(); \ - MatterWiFiNetworkDiagnosticsPluginServerInitCallback(); \ - MatterEthernetNetworkDiagnosticsPluginServerInitCallback(); \ - MatterSwitchPluginServerInitCallback(); \ - MatterAdministratorCommissioningPluginServerInitCallback(); \ - MatterOperationalCredentialsPluginServerInitCallback(); \ - MatterGroupKeyManagementPluginServerInitCallback(); \ - MatterFixedLabelPluginServerInitCallback(); \ - MatterUserLabelPluginServerInitCallback(); \ - MatterColorControlPluginServerInitCallback(); \ - MatterOccupancySensingPluginServerInitCallback(); diff --git a/examples/zap_light/main/zap-generated/access.h b/examples/zap_light/main/zap-generated/access.h index 0b7fcd5e6..b9946f3ca 100644 --- a/examples/zap_light/main/zap-generated/access.h +++ b/examples/zap_light/main/zap-generated/access.h @@ -31,8 +31,8 @@ #define GENERATED_ACCESS_READ_ATTRIBUTE__CLUSTER { \ /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: view */ \ /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: view */ \ - 31, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ - 31, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ + 0x0000001F, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ + 0x0000001F, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ /* Cluster: Access Control, Attribute: SubjectsPerAccessControlEntry, Privilege: view */ \ /* Cluster: Access Control, Attribute: TargetsPerAccessControlEntry, Privilege: view */ \ /* Cluster: Access Control, Attribute: AccessControlEntriesPerFabric, Privilege: view */ \ @@ -40,15 +40,15 @@ /* Cluster: Basic Information, Attribute: Location, Privilege: view */ \ /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \ /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \ - 49, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \ /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: view */ \ - 49, /* Cluster: Network Commissioning, Attribute: LastNetworkingStatus, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Attribute: LastNetworkID, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Attribute: LastNetworkingStatus, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Attribute: LastNetworkID, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \ /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: view */ \ - /* Cluster: User Label, Attribute: label list, Privilege: view */ \ + /* Cluster: User Label, Attribute: LabelList, Privilege: view */ \ /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: view */ \ } @@ -56,8 +56,8 @@ #define GENERATED_ACCESS_READ_ATTRIBUTE__ATTRIBUTE { \ /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: view */ \ /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: view */ \ - 0, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ - 1, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ + 0x00000000, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ + 0x00000001, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ /* Cluster: Access Control, Attribute: SubjectsPerAccessControlEntry, Privilege: view */ \ /* Cluster: Access Control, Attribute: TargetsPerAccessControlEntry, Privilege: view */ \ /* Cluster: Access Control, Attribute: AccessControlEntriesPerFabric, Privilege: view */ \ @@ -65,15 +65,15 @@ /* Cluster: Basic Information, Attribute: Location, Privilege: view */ \ /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \ /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \ - 0, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \ - 1, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \ + 0x00000000, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \ + 0x00000001, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \ /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: view */ \ - 5, /* Cluster: Network Commissioning, Attribute: LastNetworkingStatus, Privilege: administer */ \ - 6, /* Cluster: Network Commissioning, Attribute: LastNetworkID, Privilege: administer */ \ - 7, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \ - 0, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \ + 0x00000005, /* Cluster: Network Commissioning, Attribute: LastNetworkingStatus, Privilege: administer */ \ + 0x00000006, /* Cluster: Network Commissioning, Attribute: LastNetworkID, Privilege: administer */ \ + 0x00000007, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \ + 0x00000000, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \ /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: view */ \ - /* Cluster: User Label, Attribute: label list, Privilege: view */ \ + /* Cluster: User Label, Attribute: LabelList, Privilege: view */ \ /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: view */ \ } @@ -98,7 +98,7 @@ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \ /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: view */ \ - /* Cluster: User Label, Attribute: label list, Privilege: view */ \ + /* Cluster: User Label, Attribute: LabelList, Privilege: view */ \ /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: view */ \ } @@ -106,34 +106,34 @@ // Parallel array data (*cluster*, attribute, privilege) for write attribute #define GENERATED_ACCESS_WRITE_ATTRIBUTE__CLUSTER { \ - 6, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \ - 8, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \ - 31, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ - 31, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ - 40, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \ - 40, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \ - 40, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \ - 48, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \ - 63, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \ - 65, /* Cluster: User Label, Attribute: label list, Privilege: manage */ \ - 768, /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: manage */ \ + 0x00000006, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \ + 0x00000008, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \ + 0x0000001F, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ + 0x0000001F, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ + 0x00000028, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \ + 0x00000028, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \ + 0x00000028, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \ + 0x00000030, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \ + 0x0000003F, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \ + 0x00000041, /* Cluster: User Label, Attribute: LabelList, Privilege: manage */ \ + 0x00000300, /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: manage */ \ } // Parallel array data (cluster, *attribute*, privilege) for write attribute #define GENERATED_ACCESS_WRITE_ATTRIBUTE__ATTRIBUTE { \ - 16387, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \ - 16384, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \ - 0, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ - 1, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ - 5, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \ - 6, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \ - 16, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \ - 0, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \ - 4, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \ - 0, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \ - 0, /* Cluster: User Label, Attribute: label list, Privilege: manage */ \ - 16400, /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: manage */ \ + 0x00004003, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \ + 0x00004000, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \ + 0x00000000, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ + 0x00000001, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ + 0x00000005, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \ + 0x00000006, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \ + 0x00000010, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \ + 0x00000000, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \ + 0x00000004, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \ + 0x00000000, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \ + 0x00000000, /* Cluster: User Label, Attribute: LabelList, Privilege: manage */ \ + 0x00004010, /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: manage */ \ } // Parallel array data (cluster, attribute, *privilege*) for write attribute @@ -148,7 +148,7 @@ kMatterAccessPrivilegeAdminister, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \ kMatterAccessPrivilegeManage, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \ - kMatterAccessPrivilegeManage, /* Cluster: User Label, Attribute: label list, Privilege: manage */ \ + kMatterAccessPrivilegeManage, /* Cluster: User Label, Attribute: LabelList, Privilege: manage */ \ kMatterAccessPrivilegeManage, /* Cluster: Color Control, Attribute: StartUpColorTemperatureMireds, Privilege: manage */ \ } @@ -156,72 +156,72 @@ // Parallel array data (*cluster*, command, privilege) for invoke command #define GENERATED_ACCESS_INVOKE_COMMAND__CLUSTER { \ - 3, /* Cluster: Identify, Command: Identify, Privilege: manage */ \ - 3, /* Cluster: Identify, Command: TriggerEffect, Privilege: manage */ \ - 4, /* Cluster: Groups, Command: AddGroup, Privilege: manage */ \ - 4, /* Cluster: Groups, Command: RemoveGroup, Privilege: manage */ \ - 4, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \ - 4, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \ - 48, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \ - 48, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \ - 48, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Command: ScanNetworks, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Command: AddOrUpdateWiFiNetwork, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Command: AddOrUpdateThreadNetwork, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Command: RemoveNetwork, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ - 49, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ - 51, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ - 60, /* Cluster: AdministratorCommissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ - 60, /* Cluster: AdministratorCommissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ - 60, /* Cluster: AdministratorCommissioning, Command: RevokeCommissioning, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: AddNOC, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: UpdateNOC, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: UpdateFabricLabel, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: RemoveFabric, Privilege: administer */ \ - 62, /* Cluster: Operational Credentials, Command: AddTrustedRootCertificate, Privilege: administer */ \ - 63, /* Cluster: Group Key Management, Command: KeySetWrite, Privilege: administer */ \ - 63, /* Cluster: Group Key Management, Command: KeySetRead, Privilege: administer */ \ - 63, /* Cluster: Group Key Management, Command: KeySetRemove, Privilege: administer */ \ - 63, /* Cluster: Group Key Management, Command: KeySetReadAllIndices, Privilege: administer */ \ + 0x00000003, /* Cluster: Identify, Command: Identify, Privilege: manage */ \ + 0x00000003, /* Cluster: Identify, Command: TriggerEffect, Privilege: manage */ \ + 0x00000004, /* Cluster: Groups, Command: AddGroup, Privilege: manage */ \ + 0x00000004, /* Cluster: Groups, Command: RemoveGroup, Privilege: manage */ \ + 0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \ + 0x00000004, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \ + 0x00000030, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \ + 0x00000030, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \ + 0x00000030, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Command: ScanNetworks, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Command: AddOrUpdateWiFiNetwork, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Command: AddOrUpdateThreadNetwork, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Command: RemoveNetwork, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ + 0x00000031, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ + 0x00000033, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + 0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ + 0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ + 0x0000003C, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: AddNOC, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: UpdateNOC, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: UpdateFabricLabel, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: RemoveFabric, Privilege: administer */ \ + 0x0000003E, /* Cluster: Operational Credentials, Command: AddTrustedRootCertificate, Privilege: administer */ \ + 0x0000003F, /* Cluster: Group Key Management, Command: KeySetWrite, Privilege: administer */ \ + 0x0000003F, /* Cluster: Group Key Management, Command: KeySetRead, Privilege: administer */ \ + 0x0000003F, /* Cluster: Group Key Management, Command: KeySetRemove, Privilege: administer */ \ + 0x0000003F, /* Cluster: Group Key Management, Command: KeySetReadAllIndices, Privilege: administer */ \ } // Parallel array data (cluster, *command*, privilege) for invoke command #define GENERATED_ACCESS_INVOKE_COMMAND__COMMAND { \ - 0, /* Cluster: Identify, Command: Identify, Privilege: manage */ \ - 64, /* Cluster: Identify, Command: TriggerEffect, Privilege: manage */ \ - 0, /* Cluster: Groups, Command: AddGroup, Privilege: manage */ \ - 3, /* Cluster: Groups, Command: RemoveGroup, Privilege: manage */ \ - 4, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \ - 5, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \ - 0, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \ - 2, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \ - 4, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \ - 0, /* Cluster: Network Commissioning, Command: ScanNetworks, Privilege: administer */ \ - 2, /* Cluster: Network Commissioning, Command: AddOrUpdateWiFiNetwork, Privilege: administer */ \ - 3, /* Cluster: Network Commissioning, Command: AddOrUpdateThreadNetwork, Privilege: administer */ \ - 4, /* Cluster: Network Commissioning, Command: RemoveNetwork, Privilege: administer */ \ - 6, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ - 8, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ - 0, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ - 0, /* Cluster: AdministratorCommissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ - 1, /* Cluster: AdministratorCommissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ - 2, /* Cluster: AdministratorCommissioning, Command: RevokeCommissioning, Privilege: administer */ \ - 0, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \ - 2, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \ - 4, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \ - 6, /* Cluster: Operational Credentials, Command: AddNOC, Privilege: administer */ \ - 7, /* Cluster: Operational Credentials, Command: UpdateNOC, Privilege: administer */ \ - 9, /* Cluster: Operational Credentials, Command: UpdateFabricLabel, Privilege: administer */ \ - 10, /* Cluster: Operational Credentials, Command: RemoveFabric, Privilege: administer */ \ - 11, /* Cluster: Operational Credentials, Command: AddTrustedRootCertificate, Privilege: administer */ \ - 0, /* Cluster: Group Key Management, Command: KeySetWrite, Privilege: administer */ \ - 1, /* Cluster: Group Key Management, Command: KeySetRead, Privilege: administer */ \ - 3, /* Cluster: Group Key Management, Command: KeySetRemove, Privilege: administer */ \ - 4, /* Cluster: Group Key Management, Command: KeySetReadAllIndices, Privilege: administer */ \ + 0x00000000, /* Cluster: Identify, Command: Identify, Privilege: manage */ \ + 0x00000040, /* Cluster: Identify, Command: TriggerEffect, Privilege: manage */ \ + 0x00000000, /* Cluster: Groups, Command: AddGroup, Privilege: manage */ \ + 0x00000003, /* Cluster: Groups, Command: RemoveGroup, Privilege: manage */ \ + 0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \ + 0x00000005, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \ + 0x00000000, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \ + 0x00000002, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \ + 0x00000004, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \ + 0x00000000, /* Cluster: Network Commissioning, Command: ScanNetworks, Privilege: administer */ \ + 0x00000002, /* Cluster: Network Commissioning, Command: AddOrUpdateWiFiNetwork, Privilege: administer */ \ + 0x00000003, /* Cluster: Network Commissioning, Command: AddOrUpdateThreadNetwork, Privilege: administer */ \ + 0x00000004, /* Cluster: Network Commissioning, Command: RemoveNetwork, Privilege: administer */ \ + 0x00000006, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ + 0x00000008, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ + 0x00000000, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + 0x00000000, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ + 0x00000001, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ + 0x00000002, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ + 0x00000000, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \ + 0x00000002, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \ + 0x00000004, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \ + 0x00000006, /* Cluster: Operational Credentials, Command: AddNOC, Privilege: administer */ \ + 0x00000007, /* Cluster: Operational Credentials, Command: UpdateNOC, Privilege: administer */ \ + 0x00000009, /* Cluster: Operational Credentials, Command: UpdateFabricLabel, Privilege: administer */ \ + 0x0000000A, /* Cluster: Operational Credentials, Command: RemoveFabric, Privilege: administer */ \ + 0x0000000B, /* Cluster: Operational Credentials, Command: AddTrustedRootCertificate, Privilege: administer */ \ + 0x00000000, /* Cluster: Group Key Management, Command: KeySetWrite, Privilege: administer */ \ + 0x00000001, /* Cluster: Group Key Management, Command: KeySetRead, Privilege: administer */ \ + 0x00000003, /* Cluster: Group Key Management, Command: KeySetRemove, Privilege: administer */ \ + 0x00000004, /* Cluster: Group Key Management, Command: KeySetReadAllIndices, Privilege: administer */ \ } // Parallel array data (cluster, command, *privilege*) for invoke command @@ -242,9 +242,9 @@ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ kMatterAccessPrivilegeManage, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ - kMatterAccessPrivilegeAdminister, /* Cluster: AdministratorCommissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ - kMatterAccessPrivilegeAdminister, /* Cluster: AdministratorCommissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ - kMatterAccessPrivilegeAdminister, /* Cluster: AdministratorCommissioning, Command: RevokeCommissioning, Privilege: administer */ \ + kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ + kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ + kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \ @@ -263,14 +263,14 @@ // Parallel array data (*cluster*, event, privilege) for read event #define GENERATED_ACCESS_READ_EVENT__CLUSTER { \ - 31, /* Cluster: Access Control, Event: AccessControlEntryChanged, Privilege: administer */ \ - 31, /* Cluster: Access Control, Event: AccessControlExtensionChanged, Privilege: administer */ \ + 0x0000001F, /* Cluster: Access Control, Event: AccessControlEntryChanged, Privilege: administer */ \ + 0x0000001F, /* Cluster: Access Control, Event: AccessControlExtensionChanged, Privilege: administer */ \ } // Parallel array data (cluster, *event*, privilege) for read event #define GENERATED_ACCESS_READ_EVENT__EVENT { \ - 0, /* Cluster: Access Control, Event: AccessControlEntryChanged, Privilege: administer */ \ - 1, /* Cluster: Access Control, Event: AccessControlExtensionChanged, Privilege: administer */ \ + 0x00000000, /* Cluster: Access Control, Event: AccessControlEntryChanged, Privilege: administer */ \ + 0x00000001, /* Cluster: Access Control, Event: AccessControlExtensionChanged, Privilege: administer */ \ } // Parallel array data (cluster, event, *privilege*) for read event diff --git a/examples/zap_light/main/zap-generated/endpoint_config.h b/examples/zap_light/main/zap-generated/endpoint_config.h index 9bfeaaf0c..dbb359184 100644 --- a/examples/zap_light/main/zap-generated/endpoint_config.h +++ b/examples/zap_light/main/zap-generated/endpoint_config.h @@ -21,565 +21,468 @@ #pragma once #include +#include + // Default values for the attributes longer than a pointer, // in a form of a binary blob // Separate block is generated for big-endian and little-endian cases. #if BIGENDIAN_CPU -#define GENERATED_DEFAULTS \ - { \ - \ - /* Endpoint: 0, Cluster: Localization Configuration (server), big-endian */ \ - \ - /* 0 - ActiveLocale, */ \ - 5, 'e', 'n', '-', 'U', 'S', \ - \ - /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ - \ - /* 6 - Breadcrumb, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - } +#define GENERATED_DEFAULTS { \ +\ + /* Endpoint: 0, Cluster: Localization Configuration (server), big-endian */\ +\ + /* 0 - ActiveLocale, */\ + 5, 'e', 'n', '-', 'U', 'S', \ +\ +\ + /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */\ +\ + /* 6 - Breadcrumb, */\ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +\ +} + #else // !BIGENDIAN_CPU -#define GENERATED_DEFAULTS \ - { \ - \ - /* Endpoint: 0, Cluster: Localization Configuration (server), little-endian */ \ - \ - /* 0 - ActiveLocale, */ \ - 5, 'e', 'n', '-', 'U', 'S', \ - \ - /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ - \ - /* 6 - Breadcrumb, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - } +#define GENERATED_DEFAULTS { \ +\ + /* Endpoint: 0, Cluster: Localization Configuration (server), little-endian */\ +\ + /* 0 - ActiveLocale, */\ + 5, 'e', 'n', '-', 'U', 'S', \ +\ +\ + /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */\ +\ + /* 6 - Breadcrumb, */\ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +\ +} #endif // BIGENDIAN_CPU #define GENERATED_DEFAULTS_COUNT (2) -#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE -#define ZAP_LONG_DEFAULTS_INDEX(index) \ - { \ - &generatedDefaults[index] \ - } -#define ZAP_MIN_MAX_DEFAULTS_INDEX(index) \ - { \ - &minMaxDefaults[index] \ - } -#define ZAP_EMPTY_DEFAULT() \ - { \ - (uint32_t) 0 \ - } -#define ZAP_SIMPLE_DEFAULT(x) \ - { \ - (uint32_t) x \ - } - // This is an array of EmberAfAttributeMinMaxValue structures. #define GENERATED_MIN_MAX_DEFAULT_COUNT 4 -#define GENERATED_MIN_MAX_DEFAULTS \ - { \ - \ - /* Endpoint: 0, Cluster: Time Format Localization (server) */ \ - { (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x1 }, /* HourFormat */ \ - \ - /* Endpoint: 1, Cluster: On/Off (server) */ \ - { (uint16_t) 0xFF, (uint16_t) 0x0, (uint16_t) 0x2 }, /* StartUpOnOff */ \ - \ - /* Endpoint: 1, Cluster: Level Control (server) */ \ - { (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x3 }, /* Options */ \ - \ - /* Endpoint: 1, Cluster: Color Control (server) */ \ - { \ - (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0xFEFF \ - } /* StartUpColorTemperatureMireds */ \ - } +#define GENERATED_MIN_MAX_DEFAULTS { \ +\ + /* Endpoint: 0, Cluster: Time Format Localization (server) */ \ + { (uint16_t)0x0, (uint16_t)0x0, (uint16_t)0x1 }, /* HourFormat */ \ +\ + /* Endpoint: 1, Cluster: On/Off (server) */ \ + { (uint16_t)0xFF, (uint16_t)0x0, (uint16_t)0x2 }, /* StartUpOnOff */ \ +\ + /* Endpoint: 1, Cluster: Level Control (server) */ \ + { (uint16_t)0x0, (uint16_t)0x0, (uint16_t)0x3 }, /* Options */ \ +\ + /* Endpoint: 1, Cluster: Color Control (server) */ \ + { (uint16_t)0x0, (uint16_t)0x0, (uint16_t)0xFEFF } /* StartUpColorTemperatureMireds */ \ +} + -#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 271 -#define GENERATED_ATTRIBUTES \ - { \ - \ - /* Endpoint: 0, Cluster: Groups (server) */ \ - { 0x00000000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* NameSupport */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* DeviceTypeList */ \ - { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ServerList */ \ - { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClientList */ \ - { 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PartsList */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Access Control (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* ACL */ \ - { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Extension */ \ - { 0x00000002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* SubjectsPerAccessControlEntry */ \ - { 0x00000003, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TargetsPerAccessControlEntry */ \ - { 0x00000004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* AccessControlEntriesPerFabric */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Basic Information (server) */ \ - { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* DataModelRevision */ \ - { 0x00000001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* VendorName */ \ - { 0x00000002, ZAP_TYPE(VENDOR_ID), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x00000003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* ProductName */ \ - { 0x00000004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ - { 0x00000005, ZAP_TYPE(CHAR_STRING), 33, \ - ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \ - { 0x00000006, ZAP_TYPE(CHAR_STRING), 3, \ - ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ - { 0x00000007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */ \ - { 0x00000008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* HardwareVersionString */ \ - { 0x00000009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */ \ - { 0x0000000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* SoftwareVersionString */ \ - { 0x0000000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */ \ - { 0x0000000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \ - { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 258, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* ProductURL */ \ - { 0x0000000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \ - { 0x0000000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \ - { 0x00000010, ZAP_TYPE(BOOLEAN), 1, \ - ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \ - { 0x00000011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ - { 0x00000012, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \ - { 0x00000013, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CapabilityMinima */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* DefaultOtaProviders */ \ - { 0x00000001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* UpdatePossible */ \ - { 0x00000002, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* UpdateState */ \ - { 0x00000003, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0) }, /* UpdateStateProgress */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Localization Configuration (server) */ \ - { 0x00000000, ZAP_TYPE(CHAR_STRING), 36, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(0) }, /* ActiveLocale */ \ - { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedLocales */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Time Format Localization (server) */ \ - { 0x00000000, ZAP_TYPE(ENUM8), 1, \ - ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(0) }, /* HourFormat */ \ - { 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_SIMPLE_DEFAULT(0) }, /* ActiveCalendarType */ \ - { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* SupportedCalendarTypes */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6) }, /* Breadcrumb */ \ - { 0x00000001, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* BasicCommissioningInfo */ \ - { 0x00000002, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RegulatoryConfig */ \ - { 0x00000003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* LocationCapability */ \ - { 0x00000004, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* SupportsConcurrentConnection */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ - { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* MaxNetworks */ \ - { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Networks */ \ - { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* ScanMaxTimeSeconds */ \ - { 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* ConnectMaxTimeSeconds */ \ - { 0x00000004, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* InterfaceEnabled */ \ - { 0x00000005, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkingStatus */ \ - { 0x00000006, ZAP_TYPE(OCTET_STRING), 33, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkID */ \ - { 0x00000007, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastConnectErrorValue */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(2) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NetworkInterfaces */ \ - { 0x00000001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RebootCount */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* UpTime */ \ - { 0x00000003, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TotalOperationalHours */ \ - { 0x00000004, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0x00000005, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ActiveHardwareFaults */ \ - { 0x00000006, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ActiveRadioFaults */ \ - { 0x00000007, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ActiveNetworkFaults */ \ - { 0x00000008, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TestEventTriggersEnabled */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ThreadMetrics */ \ - { 0x00000001, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentHeapFree */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentHeapUsed */ \ - { 0x00000003, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* CurrentHeapHighWatermark */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(1) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ - { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* channel */ \ - { 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x00000002, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* NetworkName */ \ - { 0x00000003, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PanId */ \ - { 0x00000004, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* ExtendedPanId */ \ - { 0x00000005, ZAP_TYPE(OCTET_STRING), 18, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* MeshLocalPrefix */ \ - { 0x00000006, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* OverrunCount */ \ - { 0x00000007, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NeighborTableList */ \ - { 0x00000008, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RouteTableList */ \ - { 0x00000009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PartitionId */ \ - { 0x0000000A, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* weighting */ \ - { 0x0000000B, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ - { 0x0000000C, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ - { 0x0000000D, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ - { 0x0000000E, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* DetachedRoleCount */ \ - { 0x0000000F, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ChildRoleCount */ \ - { 0x00000010, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RouterRoleCount */ \ - { 0x00000011, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* LeaderRoleCount */ \ - { 0x00000012, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* AttachAttemptCount */ \ - { 0x00000013, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* PartitionIdChangeCount */ \ - { 0x00000014, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* BetterPartitionAttachAttemptCount */ \ - { 0x00000015, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ParentChangeCount */ \ - { 0x00000016, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxTotalCount */ \ - { 0x00000017, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxUnicastCount */ \ - { 0x00000018, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxBroadcastCount */ \ - { 0x00000019, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TxAckRequestedCount */ \ - { 0x0000001A, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxAckedCount */ \ - { 0x0000001B, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TxNoAckRequestedCount */ \ - { 0x0000001C, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxDataCount */ \ - { 0x0000001D, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxDataPollCount */ \ - { 0x0000001E, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxBeaconCount */ \ - { 0x0000001F, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TxBeaconRequestCount */ \ - { 0x00000020, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxOtherCount */ \ - { 0x00000021, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxRetryCount */ \ - { 0x00000022, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x00000023, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x00000024, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxErrCcaCount */ \ - { 0x00000025, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxErrAbortCount */ \ - { 0x00000026, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TxErrBusyChannelCount */ \ - { 0x00000027, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxTotalCount */ \ - { 0x00000028, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxUnicastCount */ \ - { 0x00000029, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxBroadcastCount */ \ - { 0x0000002A, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxDataCount */ \ - { 0x0000002B, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxDataPollCount */ \ - { 0x0000002C, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxBeaconCount */ \ - { 0x0000002D, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* RxBeaconRequestCount */ \ - { 0x0000002E, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxOtherCount */ \ - { 0x0000002F, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* RxAddressFilteredCount */ \ - { 0x00000030, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* RxDestAddrFilteredCount */ \ - { 0x00000031, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* RxDuplicatedCount */ \ - { 0x00000032, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* RxErrNoFrameCount */ \ - { 0x00000033, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* RxErrUnknownNeighborCount */ \ - { 0x00000034, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* RxErrInvalidSrcAddrCount */ \ - { 0x00000035, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxErrSecCount */ \ - { 0x00000036, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxErrFcsCount */ \ - { 0x00000037, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxErrOtherCount */ \ - { 0x00000038, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* ActiveTimestamp */ \ - { 0x00000039, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PendingTimestamp */ \ - { 0x0000003A, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Delay */ \ - { 0x0000003B, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* SecurityPolicy */ \ - { 0x0000003C, ZAP_TYPE(OCTET_STRING), 5, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* ChannelPage0Mask */ \ - { 0x0000003D, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* OperationalDatasetComponents */ \ - { 0x0000003E, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ActiveNetworkFaultsList */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x000F) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x00000000, ZAP_TYPE(OCTET_STRING), 7, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* bssid */ \ - { 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ - { 0x00000002, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ - { 0x00000003, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* ChannelNumber */ \ - { 0x00000004, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Rssi */ \ - { 0x00000005, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* BeaconLostCount */ \ - { 0x00000006, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* BeaconRxCount */ \ - { 0x00000007, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PacketMulticastRxCount */ \ - { 0x00000008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PacketMulticastTxCount */ \ - { 0x00000009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PacketUnicastRxCount */ \ - { 0x0000000A, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PacketUnicastTxCount */ \ - { 0x0000000B, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* CurrentMaxRate */ \ - { 0x0000000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* OverrunCount */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(3) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ - { 0x00000000, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ - { 0x00000001, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* FullDuplex */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PacketRxCount */ \ - { 0x00000003, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PacketTxCount */ \ - { 0x00000004, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxErrCount */ \ - { 0x00000005, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CollisionCount */ \ - { 0x00000006, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* OverrunCount */ \ - { 0x00000007, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* CarrierDetect */ \ - { 0x00000008, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TimeSinceReset */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(3) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Switch (server) */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ - { 0x00000000, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* WindowStatus */ \ - { 0x00000001, ZAP_TYPE(FABRIC_IDX), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* AdminFabricIndex */ \ - { 0x00000002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* AdminVendorId */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NOCs */ \ - { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Fabrics */ \ - { 0x00000002, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ - { 0x00000003, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x00000004, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* TrustedRootCertificates */ \ - { 0x00000005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* CurrentFabricIndex */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Group Key Management (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* GroupKeyMap */ \ - { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* GroupTable */ \ - { 0x00000002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* MaxGroupsPerFabric */ \ - { 0x00000003, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* MaxGroupKeysPerFabric */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Fixed Label (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* label list */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: User Label (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* label list */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ - /* Endpoint: 1, Cluster: Identify (server) */ \ - { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* identify time */ \ - { 0x00000001, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x0) }, /* identify type */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ - \ - /* Endpoint: 1, Cluster: Groups (server) */ \ - { 0x00000000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* NameSupport */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ - \ - /* Endpoint: 1, Cluster: On/Off (server) */ \ - { 0x00000000, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(TOKENIZE), ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0x00004000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* GlobalSceneControl */ \ - { 0x00004001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */ \ - { 0x00004002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */ \ - { 0x00004003, ZAP_TYPE(ENUM8), 1, \ - ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ - ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(1) }, /* StartUpOnOff */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(1) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ - \ - /* Endpoint: 1, Cluster: Level Control (server) */ \ - { 0x00000000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_SIMPLE_DEFAULT(0x01) }, /* CurrentLevel */ \ - { 0x00000001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RemainingTime */ \ - { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* MinLevel */ \ - { 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xFE) }, /* MaxLevel */ \ - { 0x00000004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* CurrentFrequency */ \ - { 0x00000005, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* MinFrequency */ \ - { 0x00000006, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* MaxFrequency */ \ - { 0x0000000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(2) }, /* Options */ \ - { 0x00000010, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnOffTransitionTime */ \ - { 0x00000011, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_SIMPLE_DEFAULT(0xFF) }, /* OnLevel */ \ - { 0x00000012, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* OnTransitionTime */ \ - { 0x00000013, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* OffTransitionTime */ \ - { 0x00000014, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_SIMPLE_DEFAULT(50) }, /* DefaultMoveRate */ \ - { 0x00004000, ZAP_TYPE(INT8U), 1, \ - ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_SIMPLE_DEFAULT(255) }, /* StartUpCurrentLevel */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(3) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) }, /* ClusterRevision */ \ - \ - /* Endpoint: 1, Cluster: Descriptor (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* DeviceTypeList */ \ - { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ServerList */ \ - { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClientList */ \ - { 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PartsList */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \ - \ - /* Endpoint: 1, Cluster: Color Control (server) */ \ - { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CurrentHue */ \ - { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CurrentSaturation */ \ - { 0x00000002, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RemainingTime */ \ - { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x616B) }, /* CurrentX */ \ - { 0x00000004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x607D) }, /* CurrentY */ \ - { 0x00000007, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x00FA) }, /* ColorTemperatureMireds */ \ - { 0x00000008, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* ColorMode */ \ - { 0x0000000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* Options */ \ - { 0x00000010, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* NumberOfPrimaries */ \ - { 0x00004000, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* EnhancedCurrentHue */ \ - { 0x00004001, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* EnhancedColorMode */ \ - { 0x00004002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* ColorLoopActive */ \ - { 0x00004003, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* ColorLoopDirection */ \ - { 0x00004004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0019) }, /* ColorLoopTime */ \ - { 0x00004005, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x2300) }, /* ColorLoopStartEnhancedHue */ \ - { 0x00004006, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ColorLoopStoredEnhancedHue */ \ - { 0x0000400A, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x1F) }, /* ColorCapabilities */ \ - { 0x0000400B, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ColorTempPhysicalMinMireds */ \ - { 0x0000400C, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFEFF) }, /* ColorTempPhysicalMaxMireds */ \ - { 0x0000400D, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* CoupleColorTempToLevelMinMireds */ \ - { 0x00004010, ZAP_TYPE(INT16U), 2, \ - ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(3) }, /* StartUpColorTemperatureMireds */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x1F) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) }, /* ClusterRevision */ \ - \ - /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \ - { 0x00000000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* occupancy */ \ - { 0x00000001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* occupancy sensor type */ \ - { 0x00000002, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* occupancy sensor type bitmap */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ - } +#define GENERATED_ATTRIBUTE_COUNT 273 +#define GENERATED_ATTRIBUTES { \ +\ + /* Endpoint: 0, Cluster: Groups (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(BITMAP8), 0 }, /* NameSupport */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* DeviceTypeList */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ServerList */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClientList */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PartsList */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Access Control (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ACL */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Extension */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SubjectsPerAccessControlEntry */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TargetsPerAccessControlEntry */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* AccessControlEntriesPerFabric */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Basic Information (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* DataModelRevision */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* VendorName */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(VENDOR_ID), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* VendorID */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductName */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductID */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000005, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* NodeLabel */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000006, 3, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Location */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000007, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* HardwareVersion */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000008, 65, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* HardwareVersionString */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000009, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* SoftwareVersion */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000A, 65, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* SoftwareVersionString */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000B, 17, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ManufacturingDate */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000C, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* PartNumber */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000D, 258, ZAP_TYPE(LONG_CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductURL */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000E, 65, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductLabel */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000F, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* SerialNumber */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x00000010, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* LocalConfigDisabled */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x00000011, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* Reachable */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000012, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* UniqueID */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000013, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CapabilityMinima */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* DefaultOTAProviders */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x00000001, 1, ZAP_TYPE(BOOLEAN), 0 }, /* UpdatePossible */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x00000002, 1, ZAP_TYPE(ENUM8), 0 }, /* UpdateState */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x00000003, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* UpdateStateProgress */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Localization Configuration (server) */ \ + { ZAP_LONG_DEFAULTS_INDEX(0), 0x00000000, 36, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ActiveLocale */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedLocales */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Time Format Localization (server) */ \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(0), 0x00000000, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* HourFormat */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x00000001, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ActiveCalendarType */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedCalendarTypes */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: General Commissioning (server) */ \ + { ZAP_LONG_DEFAULTS_INDEX(6), 0x00000000, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Breadcrumb */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* BasicCommissioningInfo */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RegulatoryConfig */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* LocationCapability */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportsConcurrentConnection */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(INT8U), 0 }, /* MaxNetworks */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* Networks */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(INT8U), 0 }, /* ScanMaxTimeSeconds */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 1, ZAP_TYPE(INT8U), 0 }, /* ConnectMaxTimeSeconds */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* InterfaceEnabled */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000005, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LastNetworkingStatus */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000006, 33, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LastNetworkID */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000007, 4, ZAP_TYPE(INT32S), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LastConnectErrorValue */ \ + { ZAP_SIMPLE_DEFAULT(2), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* NetworkInterfaces */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RebootCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* UpTime */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TotalOperationalHours */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* BootReason */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000005, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveHardwareFaults */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000006, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveRadioFaults */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000007, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveNetworkFaults */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000008, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TestEventTriggersEnabled */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ThreadMetrics */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapFree */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapUsed */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapHighWatermark */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Channel */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* RoutingRole */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 17, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* NetworkName */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PanId */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ExtendedPanId */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000005, 18, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* MeshLocalPrefix */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000006, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* OverrunCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000007, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* NeighborTable */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000008, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RouteTable */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000009, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PartitionId */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000A, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Weighting */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000B, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* DataVersion */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000C, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StableDataVersion */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000D, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LeaderRouterId */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000E, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* DetachedRoleCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000F, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ChildRoleCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000010, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RouterRoleCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000011, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* LeaderRoleCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000012, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* AttachAttemptCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000013, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PartitionIdChangeCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000014, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* BetterPartitionAttachAttemptCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000015, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ParentChangeCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000016, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxTotalCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000017, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxUnicastCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000018, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxBroadcastCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000019, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxAckRequestedCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000001A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxAckedCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000001B, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxNoAckRequestedCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000001C, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxDataCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000001D, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxDataPollCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000001E, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxBeaconCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000001F, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxBeaconRequestCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000020, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxOtherCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000021, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxRetryCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000022, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxDirectMaxRetryExpiryCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000023, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxIndirectMaxRetryExpiryCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000024, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxErrCcaCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000025, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxErrAbortCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000026, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxErrBusyChannelCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000027, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxTotalCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000028, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxUnicastCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000029, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxBroadcastCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000002A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDataCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000002B, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDataPollCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000002C, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxBeaconCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000002D, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxBeaconRequestCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000002E, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxOtherCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000002F, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxAddressFilteredCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000030, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDestAddrFilteredCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000031, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDuplicatedCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000032, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrNoFrameCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000033, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrUnknownNeighborCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000034, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrInvalidSrcAddrCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000035, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrSecCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000036, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrFcsCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000037, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrOtherCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000038, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ActiveTimestamp */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000039, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PendingTimestamp */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000003A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Delay */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000003B, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* SecurityPolicy */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000003C, 5, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ChannelPage0Mask */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000003D, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OperationalDatasetComponents */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000003E, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveNetworkFaultsList */ \ + { ZAP_SIMPLE_DEFAULT(0x000F), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 7, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* BSSID */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* SecurityType */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* WiFiVersion */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ChannelNumber */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(INT8S), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* RSSI */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000005, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* BeaconLostCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000006, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* BeaconRxCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000007, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketMulticastRxCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000008, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketMulticastTxCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000009, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketUnicastRxCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketUnicastTxCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000B, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* CurrentMaxRate */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000000C, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OverrunCount */ \ + { ZAP_SIMPLE_DEFAULT(3), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PHYRate */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* FullDuplex */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PacketRxCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PacketTxCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxErrCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000005, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CollisionCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000006, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* OverrunCount */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000007, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* CarrierDetect */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000008, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TimeSinceReset */ \ + { ZAP_SIMPLE_DEFAULT(3), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Switch (server) */ \ + { ZAP_SIMPLE_DEFAULT(2), 0x00000000, 1, ZAP_TYPE(INT8U), 0 }, /* NumberOfPositions */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(INT8U), 0 }, /* CurrentPosition */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Administrator Commissioning (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* WindowStatus */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(FABRIC_IDX), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* AdminFabricIndex */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* AdminVendorId */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* NOCs */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* Fabrics */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedFabrics */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CommissionedFabrics */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000004, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TrustedRootCertificates */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000005, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentFabricIndex */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Group Key Management (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* GroupKeyMap */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* GroupTable */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* MaxGroupsPerFabric */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* MaxGroupKeysPerFabric */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: Fixed Label (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* LabelList */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 0, Cluster: User Label (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* LabelList */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 1, Cluster: Identify (server) */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00000000, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* IdentifyTime */ \ + { ZAP_SIMPLE_DEFAULT(0x0), 0x00000001, 1, ZAP_TYPE(ENUM8), 0 }, /* IdentifyType */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 1, Cluster: Groups (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(BITMAP8), 0 }, /* NameSupport */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 1, Cluster: On/Off (server) */ \ + { ZAP_SIMPLE_DEFAULT(0x00), 0x00000000, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(TOKENIZE) }, /* OnOff */ \ + { ZAP_SIMPLE_DEFAULT(0x01), 0x00004000, 1, ZAP_TYPE(BOOLEAN), 0 }, /* GlobalSceneControl */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00004001, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OnTime */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00004002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OffWaitTime */ \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(1), 0x00004003, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpOnOff */ \ + { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 1, Cluster: Level Control (server) */ \ + { ZAP_SIMPLE_DEFAULT(0x01), 0x00000000, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* CurrentLevel */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00000001, 2, ZAP_TYPE(INT16U), 0 }, /* RemainingTime */ \ + { ZAP_SIMPLE_DEFAULT(0x01), 0x00000002, 1, ZAP_TYPE(INT8U), 0 }, /* MinLevel */ \ + { ZAP_SIMPLE_DEFAULT(0xFE), 0x00000003, 1, ZAP_TYPE(INT8U), 0 }, /* MaxLevel */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00000004, 2, ZAP_TYPE(INT16U), 0 }, /* CurrentFrequency */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00000005, 2, ZAP_TYPE(INT16U), 0 }, /* MinFrequency */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00000006, 2, ZAP_TYPE(INT16U), 0 }, /* MaxFrequency */ \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(2), 0x0000000F, 1, ZAP_TYPE(BITMAP8), ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Options */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00000010, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OnOffTransitionTime */ \ + { ZAP_SIMPLE_DEFAULT(0xFF), 0x00000011, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OnLevel */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000012, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OnTransitionTime */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000013, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OffTransitionTime */ \ + { ZAP_SIMPLE_DEFAULT(50), 0x00000014, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* DefaultMoveRate */ \ + { ZAP_SIMPLE_DEFAULT(255), 0x00004000, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpCurrentLevel */ \ + { ZAP_SIMPLE_DEFAULT(3), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(5), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 1, Cluster: Descriptor (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* DeviceTypeList */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ServerList */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClientList */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000003, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PartsList */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClusterRevision */ \ +\ + /* Endpoint: 1, Cluster: Color Control (server) */ \ + { ZAP_SIMPLE_DEFAULT(0x00), 0x00000000, 1, ZAP_TYPE(INT8U), 0 }, /* CurrentHue */ \ + { ZAP_SIMPLE_DEFAULT(0x00), 0x00000001, 1, ZAP_TYPE(INT8U), 0 }, /* CurrentSaturation */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00000002, 2, ZAP_TYPE(INT16U), 0 }, /* RemainingTime */ \ + { ZAP_SIMPLE_DEFAULT(0x616B), 0x00000003, 2, ZAP_TYPE(INT16U), 0 }, /* CurrentX */ \ + { ZAP_SIMPLE_DEFAULT(0x607D), 0x00000004, 2, ZAP_TYPE(INT16U), 0 }, /* CurrentY */ \ + { ZAP_SIMPLE_DEFAULT(0x00FA), 0x00000007, 2, ZAP_TYPE(INT16U), 0 }, /* ColorTemperatureMireds */ \ + { ZAP_SIMPLE_DEFAULT(0x01), 0x00000008, 1, ZAP_TYPE(ENUM8), 0 }, /* ColorMode */ \ + { ZAP_SIMPLE_DEFAULT(0x00), 0x0000000F, 1, ZAP_TYPE(BITMAP8), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Options */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000010, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* NumberOfPrimaries */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00004000, 2, ZAP_TYPE(INT16U), 0 }, /* EnhancedCurrentHue */ \ + { ZAP_SIMPLE_DEFAULT(0x01), 0x00004001, 1, ZAP_TYPE(ENUM8), 0 }, /* EnhancedColorMode */ \ + { ZAP_SIMPLE_DEFAULT(0x00), 0x00004002, 1, ZAP_TYPE(INT8U), 0 }, /* ColorLoopActive */ \ + { ZAP_SIMPLE_DEFAULT(0x00), 0x00004003, 1, ZAP_TYPE(INT8U), 0 }, /* ColorLoopDirection */ \ + { ZAP_SIMPLE_DEFAULT(0x0019), 0x00004004, 2, ZAP_TYPE(INT16U), 0 }, /* ColorLoopTime */ \ + { ZAP_SIMPLE_DEFAULT(0x2300), 0x00004005, 2, ZAP_TYPE(INT16U), 0 }, /* ColorLoopStartEnhancedHue */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x00004006, 2, ZAP_TYPE(INT16U), 0 }, /* ColorLoopStoredEnhancedHue */ \ + { ZAP_SIMPLE_DEFAULT(0x1F), 0x0000400A, 2, ZAP_TYPE(BITMAP16), 0 }, /* ColorCapabilities */ \ + { ZAP_SIMPLE_DEFAULT(0x0000), 0x0000400B, 2, ZAP_TYPE(INT16U), 0 }, /* ColorTempPhysicalMinMireds */ \ + { ZAP_SIMPLE_DEFAULT(0xFEFF), 0x0000400C, 2, ZAP_TYPE(INT16U), 0 }, /* ColorTempPhysicalMaxMireds */ \ + { ZAP_EMPTY_DEFAULT(), 0x0000400D, 2, ZAP_TYPE(INT16U), 0 }, /* CoupleColorTempToLevelMinMireds */ \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(3), 0x00004010, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpColorTemperatureMireds */ \ + { ZAP_SIMPLE_DEFAULT(0x1F), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(5), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +\ + /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(BITMAP8), 0 }, /* Occupancy */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(ENUM8), 0 }, /* OccupancySensorType */ \ + { ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(BITMAP8), 0 }, /* OccupancySensorTypeBitmap */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(3), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ +} -// This is an array of EmberAfCluster structures. -#define ZAP_ATTRIBUTE_INDEX(index) (&generatedAttributes[index]) -#define ZAP_GENERATED_COMMANDS_INDEX(index) ((chip::CommandId *) (&generatedCommands[index])) +// clang-format off +#define GENERATED_EVENT_COUNT 15 +#define GENERATED_EVENTS { \ + /* Endpoint: 0, Cluster: Access Control (server) */ \ + /* EventList (index=0) */ \ + 0x00000000, /* AccessControlEntryChanged */ \ + 0x00000001, /* AccessControlExtensionChanged */ \ + /* Endpoint: 0, Cluster: Basic Information (server) */ \ + /* EventList (index=2) */ \ + 0x00000000, /* StartUp */ \ + 0x00000001, /* ShutDown */ \ + 0x00000002, /* Leave */ \ + /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \ + /* EventList (index=5) */ \ + 0x00000000, /* StateTransition */ \ + 0x00000001, /* VersionApplied */ \ + 0x00000002, /* DownloadError */ \ + /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ + /* EventList (index=8) */ \ + 0x00000000, /* HardwareFaultChange */ \ + 0x00000001, /* RadioFaultChange */ \ + 0x00000002, /* NetworkFaultChange */ \ + 0x00000003, /* BootReason */ \ + /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ + /* EventList (index=12) */ \ + 0x00000000, /* Disconnection */ \ + 0x00000001, /* AssociationFailure */ \ + 0x00000002, /* ConnectionStatus */ \ +} + +// clang-format on // Cluster function static arrays -#define GENERATED_FUNCTION_ARRAYS \ - const EmberAfGenericClusterFunction chipFuncArrayGroupsServer[] = { \ - (EmberAfGenericClusterFunction) emberAfGroupsClusterServerInitCallback, \ - }; \ - const EmberAfGenericClusterFunction chipFuncArrayLocalizationConfigurationServer[] = { \ - (EmberAfGenericClusterFunction) emberAfLocalizationConfigurationClusterServerInitCallback, \ - (EmberAfGenericClusterFunction) MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback, \ - }; \ - const EmberAfGenericClusterFunction chipFuncArrayTimeFormatLocalizationServer[] = { \ - (EmberAfGenericClusterFunction) emberAfTimeFormatLocalizationClusterServerInitCallback, \ - (EmberAfGenericClusterFunction) MatterTimeFormatLocalizationClusterServerPreAttributeChangedCallback, \ - }; \ - const EmberAfGenericClusterFunction chipFuncArrayIdentifyServer[] = { \ - (EmberAfGenericClusterFunction) emberAfIdentifyClusterServerInitCallback, \ - (EmberAfGenericClusterFunction) MatterIdentifyClusterServerAttributeChangedCallback, \ - }; \ - const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = { \ - (EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback, \ - }; \ - const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \ - (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \ - }; \ - const EmberAfGenericClusterFunction chipFuncArrayColorControlServer[] = { \ - (EmberAfGenericClusterFunction) emberAfColorControlClusterServerInitCallback, \ - }; \ - const EmberAfGenericClusterFunction chipFuncArrayOccupancySensingServer[] = { \ - (EmberAfGenericClusterFunction) emberAfOccupancySensingClusterServerInitCallback, \ - }; +#define GENERATED_FUNCTION_ARRAYS \ +const EmberAfGenericClusterFunction chipFuncArrayGroupsServer[] = {\ + (EmberAfGenericClusterFunction) emberAfGroupsClusterServerInitCallback,\ +};\ +const EmberAfGenericClusterFunction chipFuncArrayLocalizationConfigurationServer[] = {\ + (EmberAfGenericClusterFunction) emberAfLocalizationConfigurationClusterServerInitCallback,\ + (EmberAfGenericClusterFunction) MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback,\ +};\ +const EmberAfGenericClusterFunction chipFuncArrayTimeFormatLocalizationServer[] = {\ + (EmberAfGenericClusterFunction) emberAfTimeFormatLocalizationClusterServerInitCallback,\ + (EmberAfGenericClusterFunction) MatterTimeFormatLocalizationClusterServerPreAttributeChangedCallback,\ +};\ +const EmberAfGenericClusterFunction chipFuncArrayIdentifyServer[] = {\ + (EmberAfGenericClusterFunction) emberAfIdentifyClusterServerInitCallback,\ + (EmberAfGenericClusterFunction) MatterIdentifyClusterServerAttributeChangedCallback,\ +};\ +const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = {\ + (EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback,\ + (EmberAfGenericClusterFunction) MatterOnOffClusterServerShutdownCallback,\ +};\ +const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = {\ + (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback,\ + (EmberAfGenericClusterFunction) MatterLevelControlClusterServerShutdownCallback,\ +};\ +const EmberAfGenericClusterFunction chipFuncArrayColorControlServer[] = {\ + (EmberAfGenericClusterFunction) emberAfColorControlClusterServerInitCallback,\ + (EmberAfGenericClusterFunction) MatterColorControlClusterServerShutdownCallback,\ +};\ +const EmberAfGenericClusterFunction chipFuncArrayOccupancySensingServer[] = {\ + (EmberAfGenericClusterFunction) emberAfOccupancySensingClusterServerInitCallback,\ +};\ + + // clang-format off #define GENERATED_COMMANDS { \ @@ -600,7 +503,7 @@ chip::kInvalidCommandId /* end of list */, \ /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */\ /* AcceptedCommandList (index=12) */ \ - 0x00000000 /* AnnounceOtaProvider */, \ + 0x00000000 /* AnnounceOTAProvider */, \ chip::kInvalidCommandId /* end of list */, \ /* Endpoint: 0, Cluster: General Commissioning (server) */\ /* AcceptedCommandList (index=14) */ \ @@ -654,7 +557,7 @@ /* AcceptedCommandList (index=45) */ \ 0x00000000 /* ResetCounts */, \ chip::kInvalidCommandId /* end of list */, \ - /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */\ + /* Endpoint: 0, Cluster: Administrator Commissioning (server) */\ /* AcceptedCommandList (index=47) */ \ 0x00000000 /* OpenCommissioningWindow */, \ 0x00000001 /* OpenBasicCommissioningWindow */, \ @@ -754,397 +657,435 @@ // clang-format on -#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask +// This is an array of EmberAfCluster structures. #define GENERATED_CLUSTER_COUNT 29 - // clang-format off #define GENERATED_CLUSTERS { \ { \ /* Endpoint: 0, Cluster: Groups (server) */ \ - .clusterId = 0x00000004, \ + .clusterId = 0x00000004, \ .attributes = ZAP_ATTRIBUTE_INDEX(0), \ .attributeCount = 3, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayGroupsServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 0 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 7 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 0 ), \ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 7 ), \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - .clusterId = 0x0000001D, \ + .clusterId = 0x0000001D, \ .attributes = ZAP_ATTRIBUTE_INDEX(3), \ .attributeCount = 6, \ .clusterSize = 4, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Access Control (server) */ \ - .clusterId = 0x0000001F, \ + .clusterId = 0x0000001F, \ .attributes = ZAP_ATTRIBUTE_INDEX(9), \ .attributeCount = 7, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = ZAP_GENERATED_EVENTS_INDEX( 0 ), \ + .eventCount = 2, \ },\ { \ /* Endpoint: 0, Cluster: Basic Information (server) */ \ - .clusterId = 0x00000028, \ + .clusterId = 0x00000028, \ .attributes = ZAP_ATTRIBUTE_INDEX(16), \ .attributeCount = 22, \ .clusterSize = 41, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = ZAP_GENERATED_EVENTS_INDEX( 2 ), \ + .eventCount = 3, \ },\ { \ /* Endpoint: 0, Cluster: OTA Software Update Provider (client) */ \ - .clusterId = 0x00000029, \ + .clusterId = 0x00000029, \ .attributes = ZAP_ATTRIBUTE_INDEX(38), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \ - .clusterId = 0x0000002A, \ + .clusterId = 0x0000002A, \ .attributes = ZAP_ATTRIBUTE_INDEX(38), \ .attributeCount = 6, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 12 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 12 ), \ + .generatedCommandList = nullptr, \ + .eventList = ZAP_GENERATED_EVENTS_INDEX( 5 ), \ + .eventCount = 3, \ },\ { \ /* Endpoint: 0, Cluster: Localization Configuration (server) */ \ - .clusterId = 0x0000002B, \ + .clusterId = 0x0000002B, \ .attributes = ZAP_ATTRIBUTE_INDEX(44), \ .attributeCount = 4, \ .clusterSize = 42, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ .functions = chipFuncArrayLocalizationConfigurationServer, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Time Format Localization (server) */ \ - .clusterId = 0x0000002C, \ + .clusterId = 0x0000002C, \ .attributes = ZAP_ATTRIBUTE_INDEX(48), \ .attributeCount = 5, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ .functions = chipFuncArrayTimeFormatLocalizationServer, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - .clusterId = 0x00000030, \ + .clusterId = 0x00000030, \ .attributes = ZAP_ATTRIBUTE_INDEX(53), \ .attributeCount = 7, \ .clusterSize = 14, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 14 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 18 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 14 ), \ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 18 ), \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ - .clusterId = 0x00000031, \ + .clusterId = 0x00000031, \ .attributes = ZAP_ATTRIBUTE_INDEX(60), \ .attributeCount = 10, \ .clusterSize = 48, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 22 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 29 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 22 ), \ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 29 ), \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \ - .clusterId = 0x00000032, \ + .clusterId = 0x00000032, \ .attributes = ZAP_ATTRIBUTE_INDEX(70), \ .attributeCount = 2, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 33 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 35 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 33 ), \ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 35 ), \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - .clusterId = 0x00000033, \ + .clusterId = 0x00000033, \ .attributes = ZAP_ATTRIBUTE_INDEX(72), \ .attributeCount = 11, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 37 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 37 ), \ + .generatedCommandList = nullptr, \ + .eventList = ZAP_GENERATED_EVENTS_INDEX( 8 ), \ + .eventCount = 4, \ },\ { \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - .clusterId = 0x00000034, \ + .clusterId = 0x00000034, \ .attributes = ZAP_ATTRIBUTE_INDEX(83), \ .attributeCount = 6, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 39 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 39 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ - .clusterId = 0x00000035, \ + .clusterId = 0x00000035, \ .attributes = ZAP_ATTRIBUTE_INDEX(89), \ .attributeCount = 65, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 41 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 41 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - .clusterId = 0x00000036, \ + .clusterId = 0x00000036, \ .attributes = ZAP_ATTRIBUTE_INDEX(154), \ .attributeCount = 15, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 43 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 43 ), \ + .generatedCommandList = nullptr, \ + .eventList = ZAP_GENERATED_EVENTS_INDEX( 12 ), \ + .eventCount = 3, \ },\ { \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ - .clusterId = 0x00000037, \ + .clusterId = 0x00000037, \ .attributes = ZAP_ATTRIBUTE_INDEX(169), \ .attributeCount = 11, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 45 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 45 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Switch (server) */ \ - .clusterId = 0x0000003B, \ + .clusterId = 0x0000003B, \ .attributes = ZAP_ATTRIBUTE_INDEX(180), \ - .attributeCount = 2, \ - .clusterSize = 6, \ + .attributeCount = 4, \ + .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ - /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ - .clusterId = 0x0000003C, \ - .attributes = ZAP_ATTRIBUTE_INDEX(182), \ + /* Endpoint: 0, Cluster: Administrator Commissioning (server) */ \ + .clusterId = 0x0000003C, \ + .attributes = ZAP_ATTRIBUTE_INDEX(184), \ .attributeCount = 5, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 47 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 47 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - .clusterId = 0x0000003E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(187), \ + .clusterId = 0x0000003E, \ + .attributes = ZAP_ATTRIBUTE_INDEX(189), \ .attributeCount = 8, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 51 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 60 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 51 ), \ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 60 ), \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Group Key Management (server) */ \ - .clusterId = 0x0000003F, \ - .attributes = ZAP_ATTRIBUTE_INDEX(195), \ + .clusterId = 0x0000003F, \ + .attributes = ZAP_ATTRIBUTE_INDEX(197), \ .attributeCount = 6, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 65 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 70 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 65 ), \ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 70 ), \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: Fixed Label (server) */ \ - .clusterId = 0x00000040, \ - .attributes = ZAP_ATTRIBUTE_INDEX(201), \ + .clusterId = 0x00000040, \ + .attributes = ZAP_ATTRIBUTE_INDEX(203), \ .attributeCount = 3, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 0, Cluster: User Label (server) */ \ - .clusterId = 0x00000041, \ - .attributes = ZAP_ATTRIBUTE_INDEX(204), \ + .clusterId = 0x00000041, \ + .attributes = ZAP_ATTRIBUTE_INDEX(206), \ .attributeCount = 3, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 1, Cluster: Identify (server) */ \ - .clusterId = 0x00000003, \ - .attributes = ZAP_ATTRIBUTE_INDEX(207), \ + .clusterId = 0x00000003, \ + .attributes = ZAP_ATTRIBUTE_INDEX(209), \ .attributeCount = 4, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ .functions = chipFuncArrayIdentifyServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 73 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 73 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 1, Cluster: Groups (server) */ \ - .clusterId = 0x00000004, \ - .attributes = ZAP_ATTRIBUTE_INDEX(211), \ + .clusterId = 0x00000004, \ + .attributes = ZAP_ATTRIBUTE_INDEX(213), \ .attributeCount = 3, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayGroupsServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 76 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 83 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 76 ), \ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 83 ), \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 1, Cluster: On/Off (server) */ \ - .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(214), \ + .clusterId = 0x00000006, \ + .attributes = ZAP_ATTRIBUTE_INDEX(216), \ .attributeCount = 7, \ .clusterSize = 13, \ - .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ + .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(SHUTDOWN_FUNCTION), \ .functions = chipFuncArrayOnOffServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 88 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 88 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 1, Cluster: Level Control (server) */ \ - .clusterId = 0x00000008, \ - .attributes = ZAP_ATTRIBUTE_INDEX(221), \ + .clusterId = 0x00000008, \ + .attributes = ZAP_ATTRIBUTE_INDEX(223), \ .attributeCount = 16, \ .clusterSize = 27, \ - .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ + .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(SHUTDOWN_FUNCTION), \ .functions = chipFuncArrayLevelControlServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 95 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 95 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 1, Cluster: Descriptor (server) */ \ - .clusterId = 0x0000001D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(237), \ + .clusterId = 0x0000001D, \ + .attributes = ZAP_ATTRIBUTE_INDEX(239), \ .attributeCount = 6, \ .clusterSize = 4, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 1, Cluster: Color Control (server) */ \ - .clusterId = 0x00000300, \ - .attributes = ZAP_ATTRIBUTE_INDEX(243), \ + .clusterId = 0x00000300, \ + .attributes = ZAP_ATTRIBUTE_INDEX(245), \ .attributeCount = 23, \ .clusterSize = 40, \ - .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ + .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(SHUTDOWN_FUNCTION), \ .functions = chipFuncArrayColorControlServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 104 ) ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 104 ), \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ { \ /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \ - .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(266), \ + .clusterId = 0x00000406, \ + .attributes = ZAP_ATTRIBUTE_INDEX(268), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayOccupancySensingServer, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ + .acceptedCommandList = nullptr, \ + .generatedCommandList = nullptr, \ + .eventList = nullptr, \ + .eventCount = 0, \ },\ } // clang-format on -#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index]) - #define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 28 // This is an array of EmberAfEndpointType structures. -#define GENERATED_ENDPOINT_TYPES \ - { \ - { ZAP_CLUSTER_INDEX(0), 22, 251 }, { ZAP_CLUSTER_INDEX(22), 7, 109 }, \ - } +#define GENERATED_ENDPOINT_TYPES { \ + { ZAP_CLUSTER_INDEX(0), 22, 253 }, \ + { ZAP_CLUSTER_INDEX(22), 7, 109 }, \ +} + + // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (259) -static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected"); +static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, + "ATTRIBUTE_LARGEST larger than expected"); // Total size of singleton attributes #define ATTRIBUTE_SINGLETONS_SIZE (37) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (360) +#define ATTRIBUTE_MAX_SIZE (362) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) // Array of endpoints that are supported, the data inside // the array is the endpoint number. -#define FIXED_ENDPOINT_ARRAY \ - { \ - 0x0000, 0x0001 \ - } +#define FIXED_ENDPOINT_ARRAY { 0x0000, 0x0001 } // Array of profile ids -#define FIXED_PROFILE_IDS \ - { \ - 0x0103, 0x0103 \ - } +#define FIXED_PROFILE_IDS { 0x0103, 0x0103 } // Array of device types -#define FIXED_DEVICE_TYPES \ - { \ - { 0x0016, 1 }, { 0x0101, 1 } \ - } +#define FIXED_DEVICE_TYPES {{0x0016,1},{0x0101,1}} // Array of device type offsets -#define FIXED_DEVICE_TYPE_OFFSETS \ - { \ - 0, 1 \ - } +#define FIXED_DEVICE_TYPE_OFFSETS { 0,1} // Array of device type lengths -#define FIXED_DEVICE_TYPE_LENGTHS \ - { \ - 1, 1 \ - } +#define FIXED_DEVICE_TYPE_LENGTHS { 1,1} // Array of endpoint types supported on each endpoint -#define FIXED_ENDPOINT_TYPES \ - { \ - 0, 1 \ - } +#define FIXED_ENDPOINT_TYPES { 0, 1 } // Array of networks supported on each endpoint -#define FIXED_NETWORKS \ - { \ - 0, 0 \ - } +#define FIXED_NETWORKS { 0, 0 } + diff --git a/examples/zap_light/main/zap-generated/gen_config.h b/examples/zap_light/main/zap-generated/gen_config.h index 65903e997..16fc855f6 100644 --- a/examples/zap_light/main/zap-generated/gen_config.h +++ b/examples/zap_light/main/zap-generated/gen_config.h @@ -20,14 +20,6 @@ // Prevent multiple inclusion #pragma once -// User options for plugin Binding Table Library -#define EMBER_BINDING_TABLE_SIZE 10 - -/**** Network Section ****/ -#define EMBER_SUPPORTED_NETWORKS (1) - -#define EMBER_APS_UNICAST_MESSAGE_COUNT 10 - /**** Cluster endpoint counts ****/ #define EMBER_AF_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_GROUPS_CLUSTER_SERVER_ENDPOINT_COUNT (2) @@ -64,16 +56,19 @@ #define EMBER_AF_PLUGIN_IDENTIFY_SERVER #define EMBER_AF_PLUGIN_IDENTIFY + // Use this macro to check if the server side of the Groups cluster is included #define ZCL_USING_GROUPS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_GROUPS_SERVER #define EMBER_AF_PLUGIN_GROUPS + // Use this macro to check if the server side of the On/Off cluster is included #define ZCL_USING_ON_OFF_CLUSTER_SERVER #define EMBER_AF_PLUGIN_ON_OFF_SERVER #define EMBER_AF_PLUGIN_ON_OFF + // Use this macro to check if the server side of the Level Control cluster is included #define ZCL_USING_LEVEL_CONTROL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_LEVEL_CONTROL_SERVER @@ -83,110 +78,132 @@ #define EMBER_AF_PLUGIN_LEVEL_CONTROL_MINIMUM_LEVEL 0 #define EMBER_AF_PLUGIN_LEVEL_CONTROL_RATE 0 + // Use this macro to check if the server side of the Descriptor cluster is included #define ZCL_USING_DESCRIPTOR_CLUSTER_SERVER #define EMBER_AF_PLUGIN_DESCRIPTOR_SERVER #define EMBER_AF_PLUGIN_DESCRIPTOR + // Use this macro to check if the server side of the Access Control cluster is included #define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER #define EMBER_AF_PLUGIN_ACCESS_CONTROL + // Use this macro to check if the server side of the Basic Information cluster is included #define ZCL_USING_BASIC_INFORMATION_CLUSTER_SERVER #define EMBER_AF_PLUGIN_BASIC_INFORMATION_SERVER #define EMBER_AF_PLUGIN_BASIC_INFORMATION + // Use this macro to check if the client side of the OTA Software Update Provider cluster is included #define ZCL_USING_OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_OTA_SOFTWARE_UPDATE_PROVIDER_CLIENT + // Use this macro to check if the server side of the OTA Software Update Requestor cluster is included #define ZCL_USING_OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER_SERVER #define EMBER_AF_PLUGIN_OTA_SOFTWARE_UPDATE_REQUESTOR_SERVER #define EMBER_AF_PLUGIN_OTA_SOFTWARE_UPDATE_REQUESTOR + // Use this macro to check if the server side of the Localization Configuration cluster is included #define ZCL_USING_LOCALIZATION_CONFIGURATION_CLUSTER_SERVER #define EMBER_AF_PLUGIN_LOCALIZATION_CONFIGURATION_SERVER #define EMBER_AF_PLUGIN_LOCALIZATION_CONFIGURATION + // Use this macro to check if the server side of the Time Format Localization cluster is included #define ZCL_USING_TIME_FORMAT_LOCALIZATION_CLUSTER_SERVER #define EMBER_AF_PLUGIN_TIME_FORMAT_LOCALIZATION_SERVER #define EMBER_AF_PLUGIN_TIME_FORMAT_LOCALIZATION + // Use this macro to check if the server side of the General Commissioning cluster is included #define ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_SERVER #define EMBER_AF_PLUGIN_GENERAL_COMMISSIONING_SERVER #define EMBER_AF_PLUGIN_GENERAL_COMMISSIONING + // Use this macro to check if the server side of the Network Commissioning cluster is included #define ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_SERVER #define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING_SERVER #define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING + // Use this macro to check if the server side of the Diagnostic Logs cluster is included #define ZCL_USING_DIAGNOSTIC_LOGS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_DIAGNOSTIC_LOGS_SERVER #define EMBER_AF_PLUGIN_DIAGNOSTIC_LOGS + // Use this macro to check if the server side of the General Diagnostics cluster is included #define ZCL_USING_GENERAL_DIAGNOSTICS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_GENERAL_DIAGNOSTICS_SERVER #define EMBER_AF_PLUGIN_GENERAL_DIAGNOSTICS + // Use this macro to check if the server side of the Software Diagnostics cluster is included #define ZCL_USING_SOFTWARE_DIAGNOSTICS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_SOFTWARE_DIAGNOSTICS_SERVER #define EMBER_AF_PLUGIN_SOFTWARE_DIAGNOSTICS + // Use this macro to check if the server side of the Thread Network Diagnostics cluster is included #define ZCL_USING_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_THREAD_NETWORK_DIAGNOSTICS_SERVER #define EMBER_AF_PLUGIN_THREAD_NETWORK_DIAGNOSTICS + // Use this macro to check if the server side of the WiFi Network Diagnostics cluster is included #define ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS_SERVER #define EMBER_AF_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS + // Use this macro to check if the server side of the Ethernet Network Diagnostics cluster is included #define ZCL_USING_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_ETHERNET_NETWORK_DIAGNOSTICS_SERVER #define EMBER_AF_PLUGIN_ETHERNET_NETWORK_DIAGNOSTICS + // Use this macro to check if the server side of the Switch cluster is included #define ZCL_USING_SWITCH_CLUSTER_SERVER #define EMBER_AF_PLUGIN_SWITCH_SERVER #define EMBER_AF_PLUGIN_SWITCH -// Use this macro to check if the server side of the AdministratorCommissioning cluster is included + +// Use this macro to check if the server side of the Administrator Commissioning cluster is included #define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER #define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER #define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING + // Use this macro to check if the server side of the Operational Credentials cluster is included #define ZCL_USING_OPERATIONAL_CREDENTIALS_CLUSTER_SERVER #define EMBER_AF_PLUGIN_OPERATIONAL_CREDENTIALS_SERVER #define EMBER_AF_PLUGIN_OPERATIONAL_CREDENTIALS + // Use this macro to check if the server side of the Group Key Management cluster is included #define ZCL_USING_GROUP_KEY_MANAGEMENT_CLUSTER_SERVER #define EMBER_AF_PLUGIN_GROUP_KEY_MANAGEMENT_SERVER #define EMBER_AF_PLUGIN_GROUP_KEY_MANAGEMENT + // Use this macro to check if the server side of the Fixed Label cluster is included #define ZCL_USING_FIXED_LABEL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_FIXED_LABEL_SERVER #define EMBER_AF_PLUGIN_FIXED_LABEL + // Use this macro to check if the server side of the User Label cluster is included #define ZCL_USING_USER_LABEL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_USER_LABEL_SERVER #define EMBER_AF_PLUGIN_USER_LABEL + // Use this macro to check if the server side of the Color Control cluster is included #define ZCL_USING_COLOR_CONTROL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_COLOR_CONTROL_SERVER @@ -196,7 +213,9 @@ #define EMBER_AF_PLUGIN_COLOR_CONTROL_SERVER_TEMP #define EMBER_AF_PLUGIN_COLOR_CONTROL_SERVER_HSV + // Use this macro to check if the server side of the Occupancy Sensing cluster is included #define ZCL_USING_OCCUPANCY_SENSING_CLUSTER_SERVER #define EMBER_AF_PLUGIN_OCCUPANCY_SENSING_SERVER #define EMBER_AF_PLUGIN_OCCUPANCY_SENSING + diff --git a/examples/zap_light/main/zap-generated/light.matter b/examples/zap_light/main/zap-generated/light.matter index fc6b3778c..73f3b486a 100644 --- a/examples/zap_light/main/zap-generated/light.matter +++ b/examples/zap_light/main/zap-generated/light.matter @@ -31,6 +31,10 @@ server cluster Identify = 3 { attribute int16u identifyTime = 0; readonly attribute enum8 identifyType = 1; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -53,16 +57,20 @@ server cluster Groups = 4 { } readonly attribute bitmap8 nameSupport = 0; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; request struct AddGroupRequest { - group_id groupId = 0; + group_id groupID = 0; CHAR_STRING groupName = 1; } request struct ViewGroupRequest { - group_id groupId = 0; + group_id groupID = 0; } request struct GetGroupMembershipRequest { @@ -70,22 +78,22 @@ server cluster Groups = 4 { } request struct RemoveGroupRequest { - group_id groupId = 0; + group_id groupID = 0; } request struct AddGroupIfIdentifyingRequest { - group_id groupId = 0; + group_id groupID = 0; CHAR_STRING groupName = 1; } response struct AddGroupResponse = 0 { ENUM8 status = 0; - group_id groupId = 1; + group_id groupID = 1; } response struct ViewGroupResponse = 1 { ENUM8 status = 0; - group_id groupId = 1; + group_id groupID = 1; CHAR_STRING groupName = 2; } @@ -96,7 +104,7 @@ server cluster Groups = 4 { response struct RemoveGroupResponse = 3 { ENUM8 status = 0; - group_id groupId = 1; + group_id groupID = 1; } fabric command access(invoke: manage) AddGroup(AddGroupRequest): AddGroupResponse = 0; @@ -137,21 +145,21 @@ server cluster OnOff = 6 { kLighting = 0x1; } - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - readonly attribute boolean onOff = 0; readonly attribute boolean globalSceneControl = 16384; attribute int16u onTime = 16385; attribute int16u offWaitTime = 16386; attribute access(write: manage) nullable OnOffStartUpOnOff startUpOnOff = 16387; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; request struct OffWithEffectRequest { - OnOffEffectIdentifier effectId = 0; - OnOffDelayedAllOffEffectVariant effectVariant = 1; + OnOffEffectIdentifier effectIdentifier = 0; + int8u effectVariant = 1; } request struct OnWithTimedOffRequest { @@ -185,6 +193,11 @@ server cluster LevelControl = 8 { kFrequency = 0x4; } + bitmap LevelControlOptions : BITMAP8 { + kExecuteIfOff = 0x1; + kCoupleColorTempToLevel = 0x2; + } + readonly attribute nullable int8u currentLevel = 0; readonly attribute int16u remainingTime = 1; readonly attribute int8u minLevel = 2; @@ -192,68 +205,72 @@ server cluster LevelControl = 8 { readonly attribute int16u currentFrequency = 4; readonly attribute int16u minFrequency = 5; readonly attribute int16u maxFrequency = 6; - attribute bitmap8 options = 15; + attribute LevelControlOptions options = 15; attribute int16u onOffTransitionTime = 16; attribute nullable int8u onLevel = 17; attribute nullable int16u onTransitionTime = 18; attribute nullable int16u offTransitionTime = 19; attribute nullable int8u defaultMoveRate = 20; attribute access(write: manage) nullable int8u startUpCurrentLevel = 16384; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; request struct MoveToLevelRequest { INT8U level = 0; nullable INT16U transitionTime = 1; - BITMAP8 optionsMask = 2; - BITMAP8 optionsOverride = 3; + LevelControlOptions optionsMask = 2; + LevelControlOptions optionsOverride = 3; } request struct MoveRequest { MoveMode moveMode = 0; nullable INT8U rate = 1; - BITMAP8 optionsMask = 2; - BITMAP8 optionsOverride = 3; + LevelControlOptions optionsMask = 2; + LevelControlOptions optionsOverride = 3; } request struct StepRequest { StepMode stepMode = 0; INT8U stepSize = 1; nullable INT16U transitionTime = 2; - BITMAP8 optionsMask = 3; - BITMAP8 optionsOverride = 4; + LevelControlOptions optionsMask = 3; + LevelControlOptions optionsOverride = 4; } request struct StopRequest { - BITMAP8 optionsMask = 0; - BITMAP8 optionsOverride = 1; + LevelControlOptions optionsMask = 0; + LevelControlOptions optionsOverride = 1; } request struct MoveToLevelWithOnOffRequest { INT8U level = 0; nullable INT16U transitionTime = 1; - BITMAP8 optionsMask = 2; - BITMAP8 optionsOverride = 3; + LevelControlOptions optionsMask = 2; + LevelControlOptions optionsOverride = 3; } request struct MoveWithOnOffRequest { MoveMode moveMode = 0; nullable INT8U rate = 1; - BITMAP8 optionsMask = 2; - BITMAP8 optionsOverride = 3; + LevelControlOptions optionsMask = 2; + LevelControlOptions optionsOverride = 3; } request struct StepWithOnOffRequest { StepMode stepMode = 0; INT8U stepSize = 1; nullable INT16U transitionTime = 2; - BITMAP8 optionsMask = 3; - BITMAP8 optionsOverride = 4; + LevelControlOptions optionsMask = 3; + LevelControlOptions optionsOverride = 4; } request struct StopWithOnOffRequest { - BITMAP8 optionsMask = 0; - BITMAP8 optionsOverride = 1; + LevelControlOptions optionsMask = 0; + LevelControlOptions optionsOverride = 1; } command MoveToLevel(MoveToLevelRequest): DefaultSuccess = 0; @@ -268,7 +285,7 @@ server cluster LevelControl = 8 { server cluster Descriptor = 29 { struct DeviceTypeStruct { - devtype_id type = 0; + devtype_id deviceType = 0; int16u revision = 1; } @@ -276,36 +293,40 @@ server cluster Descriptor = 29 { readonly attribute CLUSTER_ID serverList[] = 1; readonly attribute CLUSTER_ID clientList[] = 2; readonly attribute ENDPOINT_NO partsList[] = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } server cluster AccessControl = 31 { - enum AuthMode : ENUM8 { + enum AccessControlEntryAuthModeEnum : ENUM8 { kPase = 1; kCase = 2; kGroup = 3; } + enum AccessControlEntryPrivilegeEnum : ENUM8 { + kView = 1; + kProxyView = 2; + kOperate = 3; + kManage = 4; + kAdminister = 5; + } + enum ChangeTypeEnum : ENUM8 { kChanged = 0; kAdded = 1; kRemoved = 2; } - enum Privilege : ENUM8 { - kView = 1; - kProxyView = 2; - kOperate = 3; - kManage = 4; - kAdminister = 5; - } - - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntryStruct { + fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1; + fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -315,38 +336,41 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct AccessControlExtensionStruct { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; - nullable AccessControlEntry latestValue = 4; + nullable AccessControlEntryStruct latestValue = 4; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; - nullable ExtensionEntry latestValue = 4; + nullable AccessControlExtensionStruct latestValue = 4; fabric_idx fabricIndex = 254; } - attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0; - attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1; + attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0; + attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1; readonly attribute int16u subjectsPerAccessControlEntry = 2; readonly attribute int16u targetsPerAccessControlEntry = 3; readonly attribute int16u accessControlEntriesPerFabric = 4; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } -server cluster Basic = 40 { +server cluster BasicInformation = 40 { struct CapabilityMinimaStruct { int16u caseSessionsPerFabric = 0; int16u subscriptionsPerFabric = 1; @@ -387,6 +411,10 @@ server cluster Basic = 40 { readonly attribute boolean reachable = 17; readonly attribute char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } @@ -412,11 +440,16 @@ client cluster OtaSoftwareUpdateProvider = 41 { kDownloadProtocolNotSupported = 3; } + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; request struct QueryImageRequest { - vendor_id vendorId = 0; - INT16U productId = 1; + vendor_id vendorID = 0; + INT16U productID = 1; INT32U softwareVersion = 2; OTADownloadProtocol protocolsSupported[] = 3; optional INT16U hardwareVersion = 4; @@ -483,7 +516,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -508,33 +541,41 @@ server cluster OtaSoftwareUpdateRequestor = 42 { nullable INT64S platformCode = 3; } - attribute ProviderLocation defaultOtaProviders[] = 0; + attribute ProviderLocation defaultOTAProviders[] = 0; readonly attribute boolean updatePossible = 1; readonly attribute OTAUpdateStateEnum updateState = 2; readonly attribute nullable int8u updateStateProgress = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - request struct AnnounceOtaProviderRequest { - node_id providerNodeId = 0; - vendor_id vendorId = 1; + request struct AnnounceOTAProviderRequest { + node_id providerNodeID = 0; + vendor_id vendorID = 1; OTAAnnouncementReason announcementReason = 2; optional OCTET_STRING<512> metadataForNode = 3; endpoint_no endpoint = 4; } - command AnnounceOtaProvider(AnnounceOtaProviderRequest): DefaultSuccess = 0; + command AnnounceOTAProvider(AnnounceOTAProviderRequest): DefaultSuccess = 0; } server cluster LocalizationConfiguration = 43 { attribute char_string<35> activeLocale = 0; readonly attribute CHAR_STRING supportedLocales[] = 1; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } server cluster TimeFormatLocalization = 44 { - enum CalendarType : ENUM8 { + enum CalendarTypeEnum : ENUM8 { kBuddhist = 0; kChinese = 1; kCoptic = 2; @@ -549,14 +590,18 @@ server cluster TimeFormatLocalization = 44 { kTaiwanese = 11; } - enum HourFormat : ENUM8 { + enum HourFormatEnum : ENUM8 { k12hr = 0; k24hr = 1; } - attribute HourFormat hourFormat = 0; - attribute CalendarType activeCalendarType = 1; - readonly attribute CalendarType supportedCalendarTypes[] = 2; + attribute HourFormatEnum hourFormat = 0; + attribute CalendarTypeEnum activeCalendarType = 1; + readonly attribute CalendarTypeEnum supportedCalendarTypes[] = 2; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } @@ -586,6 +631,10 @@ server cluster GeneralCommissioning = 48 { readonly attribute RegulatoryLocationType regulatoryConfig = 2; readonly attribute RegulatoryLocationType locationCapability = 3; readonly attribute boolean supportsConcurrentConnection = 4; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -653,7 +702,7 @@ server cluster NetworkCommissioning = 49 { bitmap WiFiSecurity : BITMAP8 { kUnencrypted = 0x1; - kWepPersonal = 0x2; + kWep = 0x2; kWpaPersonal = 0x4; kWpa2Personal = 0x8; kWpa3Personal = 0x10; @@ -692,6 +741,10 @@ server cluster NetworkCommissioning = 49 { readonly attribute access(read: administer) nullable NetworkCommissioningStatus lastNetworkingStatus = 5; readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6; readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -755,13 +808,13 @@ server cluster NetworkCommissioning = 49 { } server cluster DiagnosticLogs = 50 { - enum LogsIntent : ENUM8 { + enum IntentEnum : ENUM8 { kEndUserSupport = 0; kNetworkDiag = 1; kCrashLogs = 2; } - enum LogsStatus : ENUM8 { + enum StatusEnum : ENUM8 { kSuccess = 0; kExhausted = 1; kNoLogs = 2; @@ -769,25 +822,29 @@ server cluster DiagnosticLogs = 50 { kDenied = 4; } - enum LogsTransferProtocol : ENUM8 { + enum TransferProtocolEnum : ENUM8 { kResponsePayload = 0; kBdx = 1; } + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; request struct RetrieveLogsRequestRequest { - LogsIntent intent = 0; - LogsTransferProtocol requestedProtocol = 1; - OCTET_STRING<32> transferFileDesignator = 2; + IntentEnum intent = 0; + TransferProtocolEnum requestedProtocol = 1; + optional CHAR_STRING<32> transferFileDesignator = 2; } command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0; } server cluster GeneralDiagnostics = 51 { - enum BootReasonType : ENUM8 { + enum BootReasonEnum : ENUM8 { kUnspecified = 0; kPowerOnReboot = 1; kBrownOutReset = 2; @@ -797,7 +854,7 @@ server cluster GeneralDiagnostics = 51 { kSoftwareReset = 6; } - enum HardwareFaultType : ENUM8 { + enum HardwareFaultEnum : ENUM8 { kUnspecified = 0; kRadio = 1; kSensor = 2; @@ -811,7 +868,7 @@ server cluster GeneralDiagnostics = 51 { kTamperDetected = 10; } - enum InterfaceType : ENUM8 { + enum InterfaceTypeEnum : ENUM8 { kUnspecified = 0; kWiFi = 1; kEthernet = 2; @@ -819,14 +876,14 @@ server cluster GeneralDiagnostics = 51 { kThread = 4; } - enum NetworkFaultType : ENUM8 { + enum NetworkFaultEnum : ENUM8 { kUnspecified = 0; kHardwareFailure = 1; kNetworkJammed = 2; kConnectionFailed = 3; } - enum RadioFaultType : ENUM8 { + enum RadioFaultEnum : ENUM8 { kUnspecified = 0; kWiFiFault = 1; kCellularFault = 2; @@ -836,7 +893,7 @@ server cluster GeneralDiagnostics = 51 { kEthernetFault = 6; } - struct NetworkInterfaceType { + struct NetworkInterface { char_string<32> name = 0; boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; @@ -844,37 +901,41 @@ server cluster GeneralDiagnostics = 51 { octet_string<8> hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; - InterfaceType type = 7; + InterfaceTypeEnum type = 7; } critical event HardwareFaultChange = 0 { - HardwareFaultType current[] = 0; - HardwareFaultType previous[] = 1; + HardwareFaultEnum current[] = 0; + HardwareFaultEnum previous[] = 1; } critical event RadioFaultChange = 1 { - RadioFaultType current[] = 0; - RadioFaultType previous[] = 1; + RadioFaultEnum current[] = 0; + RadioFaultEnum previous[] = 1; } critical event NetworkFaultChange = 2 { - NetworkFaultType current[] = 0; - NetworkFaultType previous[] = 1; + NetworkFaultEnum current[] = 0; + NetworkFaultEnum previous[] = 1; } critical event BootReason = 3 { - BootReasonType bootReason = 0; + BootReasonEnum bootReason = 0; } - readonly attribute NetworkInterfaceType networkInterfaces[] = 0; + readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; readonly attribute int64u upTime = 2; readonly attribute int32u totalOperationalHours = 3; - readonly attribute enum8 bootReasons = 4; - readonly attribute ENUM8 activeHardwareFaults[] = 5; - readonly attribute ENUM8 activeRadioFaults[] = 6; - readonly attribute ENUM8 activeNetworkFaults[] = 7; + readonly attribute BootReasonEnum bootReason = 4; + readonly attribute HardwareFaultEnum activeHardwareFaults[] = 5; + readonly attribute RadioFaultEnum activeRadioFaults[] = 6; + readonly attribute NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -891,7 +952,7 @@ server cluster SoftwareDiagnostics = 52 { kWaterMarks = 0x1; } - struct ThreadMetrics { + struct ThreadMetricsStruct { int64u id = 0; optional char_string<8> name = 1; optional int32u stackFreeCurrent = 2; @@ -905,10 +966,14 @@ server cluster SoftwareDiagnostics = 52 { optional OCTET_STRING faultRecording = 2; } - readonly attribute ThreadMetrics threadMetrics[] = 0; + readonly attribute ThreadMetricsStruct threadMetrics[] = 0; readonly attribute int64u currentHeapFree = 1; readonly attribute int64u currentHeapUsed = 2; readonly attribute int64u currentHeapHighWatermark = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -916,6 +981,11 @@ server cluster SoftwareDiagnostics = 52 { } server cluster ThreadNetworkDiagnostics = 53 { + enum ConnectionStatusEnum : ENUM8 { + kConnected = 0; + kNotConnected = 1; + } + enum NetworkFault : ENUM8 { kUnspecified = 0; kLinkDown = 1; @@ -933,11 +1003,6 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - enum ThreadConnectionStatus : ENUM8 { - kConnected = 0; - kNotConnected = 1; - } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; @@ -977,7 +1042,7 @@ server cluster ThreadNetworkDiagnostics = 53 { struct SecurityPolicy { int16u rotationTime = 0; - bitmap16 flags = 1; + int16u flags = 1; } struct OperationalDatasetComponents { @@ -996,7 +1061,7 @@ server cluster ThreadNetworkDiagnostics = 53 { } info event ConnectionStatus = 0 { - ThreadConnectionStatus connectionStatus = 0; + ConnectionStatusEnum connectionStatus = 0; } info event NetworkFaultChange = 1 { @@ -1011,8 +1076,8 @@ server cluster ThreadNetworkDiagnostics = 53 { readonly attribute nullable int64u extendedPanId = 4; readonly attribute nullable octet_string<17> meshLocalPrefix = 5; readonly attribute int64u overrunCount = 6; - readonly attribute NeighborTable neighborTableList[] = 7; - readonly attribute RouteTable routeTableList[] = 8; + readonly attribute NeighborTable neighborTable[] = 7; + readonly attribute RouteTable routeTable[] = 8; readonly attribute nullable int32u partitionId = 9; readonly attribute nullable int8u weighting = 10; readonly attribute nullable int8u dataVersion = 11; @@ -1067,6 +1132,10 @@ server cluster ThreadNetworkDiagnostics = 53 { readonly attribute nullable octet_string<4> channelPage0Mask = 60; readonly attribute nullable OperationalDatasetComponents operationalDatasetComponents = 61; readonly attribute NetworkFault activeNetworkFaultsList[] = 62; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -1074,14 +1143,19 @@ server cluster ThreadNetworkDiagnostics = 53 { } server cluster WiFiNetworkDiagnostics = 54 { - enum AssociationFailureCause : ENUM8 { + enum AssociationFailureCauseEnum : ENUM8 { kUnknown = 0; kAssociationFailed = 1; kAuthenticationFailed = 2; kSsidNotFound = 3; } - enum SecurityType : ENUM8 { + enum ConnectionStatusEnum : ENUM8 { + kConnected = 0; + kNotConnected = 1; + } + + enum SecurityTypeEnum : ENUM8 { kUnspecified = 0; kNone = 1; kWep = 2; @@ -1090,18 +1164,18 @@ server cluster WiFiNetworkDiagnostics = 54 { kWpa3 = 5; } - enum WiFiConnectionStatus : ENUM8 { - kConnected = 0; - kNotConnected = 1; + enum WiFiVersionEnum : ENUM8 { + kA = 0; + kB = 1; + kG = 2; + kN = 3; + kAc = 4; + kAx = 5; } - enum WiFiVersionType : ENUM8 { - k80211a = 0; - k80211b = 1; - k80211g = 2; - k80211n = 3; - k80211ac = 4; - k80211ax = 5; + bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + kPacketCounts = 0x1; + kErrorCounts = 0x2; } info event Disconnection = 0 { @@ -1109,17 +1183,17 @@ server cluster WiFiNetworkDiagnostics = 54 { } info event AssociationFailure = 1 { - AssociationFailureCause associationFailure = 0; + AssociationFailureCauseEnum associationFailure = 0; INT16U status = 1; } info event ConnectionStatus = 2 { - WiFiConnectionStatus connectionStatus = 0; + ConnectionStatusEnum connectionStatus = 0; } readonly attribute nullable octet_string<6> bssid = 0; - readonly attribute nullable SecurityType securityType = 1; - readonly attribute nullable WiFiVersionType wiFiVersion = 2; + readonly attribute nullable SecurityTypeEnum securityType = 1; + readonly attribute nullable WiFiVersionEnum wiFiVersion = 2; readonly attribute nullable int16u channelNumber = 3; readonly attribute nullable int8s rssi = 4; readonly attribute nullable int32u beaconLostCount = 5; @@ -1130,6 +1204,10 @@ server cluster WiFiNetworkDiagnostics = 54 { readonly attribute nullable int32u packetUnicastTxCount = 10; readonly attribute nullable int64u currentMaxRate = 11; readonly attribute nullable int64u overrunCount = 12; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -1137,20 +1215,25 @@ server cluster WiFiNetworkDiagnostics = 54 { } server cluster EthernetNetworkDiagnostics = 55 { - enum PHYRateType : ENUM8 { - k10m = 0; - k100m = 1; - k1000m = 2; - k25g = 3; - k5g = 4; - k10g = 5; - k40g = 6; - k100g = 7; - k200g = 8; - k400g = 9; + enum PHYRateEnum : ENUM8 { + kRate10M = 0; + kRate100M = 1; + kRate1G = 2; + kRate25g = 3; + kRate5G = 4; + kRate10G = 5; + kRate40G = 6; + kRate100G = 7; + kRate200G = 8; + kRate400G = 9; } - readonly attribute nullable PHYRateType PHYRate = 0; + bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + kPacketCounts = 0x1; + kErrorCounts = 0x2; + } + + readonly attribute nullable PHYRateEnum PHYRate = 0; readonly attribute nullable boolean fullDuplex = 1; readonly attribute int64u packetRxCount = 2; readonly attribute int64u packetTxCount = 3; @@ -1159,6 +1242,10 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute int64u overrunCount = 6; readonly attribute nullable boolean carrierDetect = 7; readonly attribute int64u timeSinceReset = 8; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -1166,6 +1253,14 @@ server cluster EthernetNetworkDiagnostics = 55 { } server cluster Switch = 59 { + bitmap SwitchFeature : BITMAP32 { + kLatchingSwitch = 0x1; + kMomentarySwitch = 0x2; + kMomentarySwitchRelease = 0x4; + kMomentarySwitchLongPress = 0x8; + kMomentarySwitchMultiPress = 0x10; + } + info event SwitchLatched = 0 { INT8U newPosition = 0; } @@ -1192,16 +1287,22 @@ server cluster Switch = 59 { } info event MultiPressComplete = 6 { - INT8U newPosition = 0; + INT8U previousPosition = 0; INT8U totalNumberOfPressesCounted = 1; } + readonly attribute int8u numberOfPositions = 0; + readonly attribute int8u currentPosition = 1; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } server cluster AdministratorCommissioning = 60 { - enum CommissioningWindowStatus : ENUM8 { + enum CommissioningWindowStatusEnum : ENUM8 { kWindowNotOpen = 0; kEnhancedWindowOpen = 1; kBasicWindowOpen = 2; @@ -1213,15 +1314,19 @@ server cluster AdministratorCommissioning = 60 { kWindowNotOpen = 4; } - readonly attribute CommissioningWindowStatus windowStatus = 0; + readonly attribute CommissioningWindowStatusEnum windowStatus = 0; readonly attribute nullable fabric_idx adminFabricIndex = 1; readonly attribute nullable int16u adminVendorId = 2; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; request struct OpenCommissioningWindowRequest { INT16U commissioningTimeout = 0; - OCTET_STRING PAKEVerifier = 1; + OCTET_STRING PAKEPasscodeVerifier = 1; INT16U discriminator = 2; INT32U iterations = 3; OCTET_STRING salt = 4; @@ -1237,8 +1342,13 @@ server cluster AdministratorCommissioning = 60 { } server cluster OperationalCredentials = 62 { - enum OperationalCertStatus : ENUM8 { - kSuccess = 0; + enum CertificateChainTypeEnum : ENUM8 { + kDACCertificate = 1; + kPAICertificate = 2; + } + + enum NodeOperationalCertStatusEnum : ENUM8 { + kOk = 0; kInvalidPublicKey = 1; kInvalidNodeOpId = 2; kInvalidNOC = 3; @@ -1250,27 +1360,31 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptorStruct { octet_string<65> rootPublicKey = 1; - vendor_id vendorId = 2; - fabric_id fabricId = 3; - node_id nodeId = 4; + vendor_id vendorID = 2; + fabric_id fabricID = 3; + node_id nodeID = 4; char_string<32> label = 5; fabric_idx fabricIndex = 254; } readonly attribute access(read: administer) NOCStruct NOCs[] = 0; - readonly attribute FabricDescriptor fabrics[] = 1; + readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; readonly attribute int8u commissionedFabrics = 3; readonly attribute OCTET_STRING trustedRootCertificates[] = 4; readonly attribute int8u currentFabricIndex = 5; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -1279,7 +1393,7 @@ server cluster OperationalCredentials = 62 { } request struct CertificateChainRequestRequest { - INT8U certificateType = 0; + CertificateChainTypeEnum certificateType = 0; } request struct CSRRequestRequest { @@ -1309,12 +1423,12 @@ server cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - OCTET_STRING rootCertificate = 0; + OCTET_STRING rootCACertificate = 0; } response struct AttestationResponse = 1 { OCTET_STRING attestationElements = 0; - OCTET_STRING signature = 1; + OCTET_STRING attestationSignature = 1; } response struct CertificateChainResponse = 3 { @@ -1327,7 +1441,7 @@ server cluster OperationalCredentials = 62 { } response struct NOCResponse = 8 { - OperationalCertStatus statusCode = 0; + NodeOperationalCertStatusEnum statusCode = 0; optional fabric_idx fabricIndex = 1; optional CHAR_STRING debugText = 2; } @@ -1343,18 +1457,18 @@ server cluster OperationalCredentials = 62 { } server cluster GroupKeyManagement = 63 { - enum GroupKeySecurityPolicy : ENUM8 { + enum GroupKeySecurityPolicyEnum : ENUM8 { kTrustFirst = 0; kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; @@ -1363,7 +1477,7 @@ server cluster GroupKeyManagement = 63 { struct GroupKeySetStruct { int16u groupKeySetID = 0; - GroupKeySecurityPolicy groupKeySecurityPolicy = 1; + GroupKeySecurityPolicyEnum groupKeySecurityPolicy = 1; nullable octet_string<16> epochKey0 = 2; nullable epoch_us epochStartTime0 = 3; nullable octet_string<16> epochKey1 = 4; @@ -1376,6 +1490,10 @@ server cluster GroupKeyManagement = 63 { readonly attribute GroupInfoMapStruct groupTable[] = 1; readonly attribute int16u maxGroupsPerFabric = 2; readonly attribute int16u maxGroupKeysPerFabric = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -1411,12 +1529,20 @@ server cluster GroupKeyManagement = 63 { server cluster FixedLabel = 64 { readonly attribute LabelStruct labelList[] = 0; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } server cluster UserLabel = 65 { attribute access(write: manage) LabelStruct labelList[] = 0; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } @@ -1512,6 +1638,10 @@ server cluster ColorControl = 768 { readonly attribute int16u colorTempPhysicalMaxMireds = 16396; readonly attribute int16u coupleColorTempToLevelMinMireds = 16397; attribute access(write: manage) nullable int16u startUpColorTemperatureMireds = 16400; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; @@ -1592,7 +1722,7 @@ server cluster ColorControl = 768 { } request struct MoveToColorTemperatureRequest { - INT16U colorTemperature = 0; + INT16U colorTemperatureMireds = 0; INT16U transitionTime = 1; BITMAP8 optionsMask = 2; BITMAP8 optionsOverride = 3; @@ -1685,15 +1815,36 @@ server cluster ColorControl = 768 { } server cluster OccupancySensing = 1030 { - readonly attribute bitmap8 occupancy = 0; - readonly attribute enum8 occupancySensorType = 1; - readonly attribute bitmap8 occupancySensorTypeBitmap = 2; + enum OccupancySensorTypeEnum : ENUM8 { + kPir = 0; + kUltrasonic = 1; + kPIRAndUltrasonic = 2; + kPhysicalContact = 3; + } + + bitmap OccupancyBitmap : BITMAP8 { + kOccupied = 0x1; + } + + bitmap OccupancySensorTypeBitmap : BITMAP8 { + kPir = 0x1; + kUltrasonic = 0x2; + kPhysicalContact = 0x4; + } + + readonly attribute OccupancyBitmap occupancy = 0; + readonly attribute OccupancySensorTypeEnum occupancySensorType = 1; + readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; } endpoint 0 { - device type rootdevice = 22; + device type rootdevice = 22, version 1; binding cluster OtaSoftwareUpdateProvider; server cluster Groups { @@ -1712,17 +1863,22 @@ endpoint 0 { } server cluster AccessControl { + emits event AccessControlEntryChanged; + emits event AccessControlExtensionChanged; callback attribute acl; callback attribute extension; callback attribute subjectsPerAccessControlEntry default = 4; callback attribute targetsPerAccessControlEntry default = 3; - callback attribute accessControlEntriesPerFabric default = 3; + callback attribute accessControlEntriesPerFabric default = 4; callback attribute attributeList; ram attribute featureMap; ram attribute clusterRevision default = 1; } - server cluster Basic { + server cluster BasicInformation { + emits event StartUp; + emits event ShutDown; + emits event Leave; callback attribute dataModelRevision default = 10; callback attribute vendorName; callback attribute vendorID; @@ -1748,7 +1904,10 @@ endpoint 0 { } server cluster OtaSoftwareUpdateRequestor { - callback attribute defaultOtaProviders; + emits event StateTransition; + emits event VersionApplied; + emits event DownloadError; + callback attribute defaultOTAProviders; ram attribute updatePossible default = 1; ram attribute updateState; ram attribute updateStateProgress; @@ -1800,11 +1959,15 @@ endpoint 0 { } server cluster GeneralDiagnostics { + emits event HardwareFaultChange; + emits event RadioFaultChange; + emits event NetworkFaultChange; + emits event BootReason; callback attribute networkInterfaces; callback attribute rebootCount; callback attribute upTime; callback attribute totalOperationalHours; - callback attribute bootReasons; + callback attribute bootReason; callback attribute activeHardwareFaults; callback attribute activeRadioFaults; callback attribute activeNetworkFaults; @@ -1830,8 +1993,8 @@ endpoint 0 { callback attribute extendedPanId; callback attribute meshLocalPrefix; callback attribute overrunCount; - callback attribute neighborTableList; - callback attribute routeTableList; + callback attribute neighborTable; + callback attribute routeTable; callback attribute partitionId; callback attribute weighting; callback attribute dataVersion; @@ -1891,6 +2054,9 @@ endpoint 0 { } server cluster WiFiNetworkDiagnostics { + emits event Disconnection; + emits event AssociationFailure; + emits event ConnectionStatus; callback attribute bssid; callback attribute securityType; callback attribute wiFiVersion; @@ -1923,6 +2089,8 @@ endpoint 0 { } server cluster Switch { + ram attribute numberOfPositions default = 2; + ram attribute currentPosition; ram attribute featureMap; ram attribute clusterRevision default = 1; } @@ -1968,7 +2136,7 @@ endpoint 0 { } } endpoint 1 { - device type dimmablelight = 257; + device type dimmablelight = 257, version 1; server cluster Identify { ram attribute identifyTime; diff --git a/examples/zap_light/main/zap-generated/light.zap b/examples/zap_light/main/zap-generated/light.zap index 2f2092841..755f82a37 100644 --- a/examples/zap_light/main/zap-generated/light.zap +++ b/examples/zap_light/main/zap-generated/light.zap @@ -1,5 +1,5 @@ { - "featureLevel": 80, + "featureLevel": 92, "creator": "zap", "keyValuePairs": [ { @@ -83,7 +83,7 @@ "enabled": 0, "attributes": [ { - "name": "identify time", + "name": "IdentifyTime", "code": 0, "mfgCode": null, "side": "server", @@ -235,7 +235,7 @@ ], "attributes": [ { - "name": "name support", + "name": "NameSupport", "code": 0, "mfgCode": null, "side": "server", @@ -622,7 +622,7 @@ "name": "On/off Switch Configuration", "code": 7, "mfgCode": null, - "define": "ON_OFF_SWITCH_CONFIG_CLUSTER", + "define": "ON_OFF_SWITCH_CONFIGURATION_CLUSTER", "side": "client", "enabled": 0, "attributes": [ @@ -648,7 +648,7 @@ "name": "On/off Switch Configuration", "code": 7, "mfgCode": null, - "define": "ON_OFF_SWITCH_CONFIG_CLUSTER", + "define": "ON_OFF_SWITCH_CONFIGURATION_CLUSTER", "side": "server", "enabled": 0, "attributes": [ @@ -1076,7 +1076,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "4", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1130,13 +1130,29 @@ "maxInterval": 65534, "reportableChange": 0 } + ], + "events": [ + { + "name": "AccessControlEntryChanged", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "AccessControlExtensionChanged", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { - "name": "Basic", + "name": "Basic Information", "code": 40, "mfgCode": null, - "define": "BASIC_CLUSTER", + "define": "BASIC_INFORMATION_CLUSTER", "side": "client", "enabled": 0, "attributes": [ @@ -1159,10 +1175,10 @@ ] }, { - "name": "Basic", + "name": "Basic Information", "code": 40, "mfgCode": null, - "define": "BASIC_CLUSTER", + "define": "BASIC_INFORMATION_CLUSTER", "side": "server", "enabled": 1, "attributes": [ @@ -1518,13 +1534,36 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "StartUp", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "ShutDown", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "Leave", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { "name": "OTA Software Update Provider", "code": 41, "mfgCode": null, - "define": "OTA_PROVIDER_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", "side": "client", "enabled": 1, "commands": [ @@ -1576,7 +1615,7 @@ "name": "OTA Software Update Provider", "code": 41, "mfgCode": null, - "define": "OTA_PROVIDER_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", "side": "server", "enabled": 0, "commands": [ @@ -1652,12 +1691,12 @@ "name": "OTA Software Update Requestor", "code": 42, "mfgCode": null, - "define": "OTA_REQUESTOR_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", "side": "client", "enabled": 0, "commands": [ { - "name": "AnnounceOtaProvider", + "name": "AnnounceOTAProvider", "code": 0, "mfgCode": null, "source": "client", @@ -1688,12 +1727,12 @@ "name": "OTA Software Update Requestor", "code": 42, "mfgCode": null, - "define": "OTA_REQUESTOR_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", "side": "server", "enabled": 1, "attributes": [ { - "name": "DefaultOtaProviders", + "name": "DefaultOTAProviders", "code": 0, "mfgCode": null, "side": "server", @@ -1804,6 +1843,29 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "StateTransition", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "VersionApplied", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "DownloadError", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { @@ -1909,7 +1971,7 @@ "code": 0, "mfgCode": null, "side": "server", - "type": "HourFormat", + "type": "HourFormatEnum", "included": 1, "storageOption": "NVM", "singleton": 0, @@ -1925,7 +1987,7 @@ "code": 1, "mfgCode": null, "side": "server", - "type": "CalendarType", + "type": "CalendarTypeEnum", "included": 1, "storageOption": "NVM", "singleton": 0, @@ -2007,7 +2069,7 @@ "code": 0, "mfgCode": null, "side": "server", - "type": "TempUnit", + "type": "TempUnitEnum", "included": 0, "storageOption": "NVM", "singleton": 0, @@ -2685,11 +2747,11 @@ "reportableChange": 0 }, { - "name": "BootReasons", + "name": "BootReason", "code": 4, "mfgCode": null, "side": "server", - "type": "enum8", + "type": "BootReasonEnum", "included": 1, "storageOption": "External", "singleton": 0, @@ -2796,6 +2858,36 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "HardwareFaultChange", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "RadioFaultChange", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "NetworkFaultChange", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "BootReason", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { @@ -2985,7 +3077,7 @@ "enabled": 1, "attributes": [ { - "name": "channel", + "name": "Channel", "code": 0, "mfgCode": null, "side": "server", @@ -3097,7 +3189,7 @@ "reportableChange": 0 }, { - "name": "NeighborTableList", + "name": "NeighborTable", "code": 7, "mfgCode": null, "side": "server", @@ -3113,7 +3205,7 @@ "reportableChange": 0 }, { - "name": "RouteTableList", + "name": "RouteTable", "code": 8, "mfgCode": null, "side": "server", @@ -3145,7 +3237,7 @@ "reportableChange": 0 }, { - "name": "weighting", + "name": "Weighting", "code": 10, "mfgCode": null, "side": "server", @@ -4071,7 +4163,7 @@ "enabled": 1, "attributes": [ { - "name": "bssid", + "name": "BSSID", "code": 0, "mfgCode": null, "side": "server", @@ -4091,7 +4183,7 @@ "code": 1, "mfgCode": null, "side": "server", - "type": "SecurityType", + "type": "SecurityTypeEnum", "included": 1, "storageOption": "External", "singleton": 0, @@ -4107,7 +4199,7 @@ "code": 2, "mfgCode": null, "side": "server", - "type": "WiFiVersionType", + "type": "WiFiVersionEnum", "included": 1, "storageOption": "External", "singleton": 0, @@ -4135,7 +4227,7 @@ "reportableChange": 0 }, { - "name": "Rssi", + "name": "RSSI", "code": 4, "mfgCode": null, "side": "server", @@ -4310,6 +4402,29 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "Disconnection", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "AssociationFailure", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "ConnectionStatus", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { @@ -4361,7 +4476,7 @@ "code": 0, "mfgCode": null, "side": "server", - "type": "PHYRateType", + "type": "PHYRateEnum", "included": 1, "storageOption": "External", "singleton": 0, @@ -4550,6 +4665,38 @@ "side": "server", "enabled": 1, "attributes": [ + { + "name": "NumberOfPositions", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CurrentPosition", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, { "name": "FeatureMap", "code": 65532, @@ -4585,7 +4732,7 @@ ] }, { - "name": "AdministratorCommissioning", + "name": "Administrator Commissioning", "code": 60, "mfgCode": null, "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", @@ -4637,7 +4784,7 @@ ] }, { - "name": "AdministratorCommissioning", + "name": "Administrator Commissioning", "code": 60, "mfgCode": null, "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", @@ -4649,7 +4796,7 @@ "code": 0, "mfgCode": null, "side": "server", - "type": "CommissioningWindowStatus", + "type": "CommissioningWindowStatusEnum", "included": 1, "storageOption": "External", "singleton": 0, @@ -5173,7 +5320,7 @@ "enabled": 1, "attributes": [ { - "name": "label list", + "name": "LabelList", "code": 0, "mfgCode": null, "side": "server", @@ -5239,7 +5386,7 @@ "enabled": 1, "attributes": [ { - "name": "label list", + "name": "LabelList", "code": 0, "mfgCode": null, "side": "server", @@ -5349,7 +5496,7 @@ "enabled": 1, "attributes": [ { - "name": "identify time", + "name": "IdentifyTime", "code": 0, "mfgCode": null, "side": "server", @@ -5365,7 +5512,7 @@ "reportableChange": 0 }, { - "name": "identify type", + "name": "IdentifyType", "code": 1, "mfgCode": null, "side": "server", @@ -5533,7 +5680,7 @@ ], "attributes": [ { - "name": "name support", + "name": "NameSupport", "code": 0, "mfgCode": null, "side": "server", @@ -6261,7 +6408,7 @@ "code": 15, "mfgCode": null, "side": "server", - "type": "bitmap8", + "type": "LevelControlOptions", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -6583,10 +6730,10 @@ ] }, { - "name": "Basic", + "name": "Basic Information", "code": 40, "mfgCode": null, - "define": "BASIC_CLUSTER", + "define": "BASIC_INFORMATION_CLUSTER", "side": "client", "enabled": 0, "attributes": [ @@ -6609,10 +6756,10 @@ ] }, { - "name": "Basic", + "name": "Basic Information", "code": 40, "mfgCode": null, - "define": "BASIC_CLUSTER", + "define": "BASIC_INFORMATION_CLUSTER", "side": "server", "enabled": 0, "attributes": [ @@ -8091,11 +8238,11 @@ "enabled": 1, "attributes": [ { - "name": "occupancy", + "name": "Occupancy", "code": 0, "mfgCode": null, "side": "server", - "type": "bitmap8", + "type": "OccupancyBitmap", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -8107,11 +8254,11 @@ "reportableChange": 0 }, { - "name": "occupancy sensor type", + "name": "OccupancySensorType", "code": 1, "mfgCode": null, "side": "server", - "type": "enum8", + "type": "OccupancySensorTypeEnum", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -8123,11 +8270,11 @@ "reportableChange": 0 }, { - "name": "occupancy sensor type bitmap", + "name": "OccupancySensorTypeBitmap", "code": 2, "mfgCode": null, "side": "server", - "type": "bitmap8", + "type": "OccupancySensorTypeBitmap", "included": 1, "storageOption": "RAM", "singleton": 0, diff --git a/examples/zap_light/partitions_h2.csv b/examples/zap_light/partitions_h2.csv index 7d1b2a4f8..a64b27539 100644 --- a/examples/zap_light/partitions_h2.csv +++ b/examples/zap_light/partitions_h2.csv @@ -1,8 +1,9 @@ # Name, Type, SubType, Offset, Size, Flags # Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table -sec_cert, 0x3F, ,0xd000, 0x3000, , # Never mark this as an encrypted partition +esp_secure_cert, 0x3F, ,0xd000, 0x2000, , # Never mark this as an encrypted partition nvs, data, nvs, 0x10000, 0x6000, +nvs_keys, data, nvs_keys, , 0x1000, phy_init, data, phy, , 0x1000, -# Temporarily disable ota for ESP32-H2 because the use of flash need to be optimized. -factory, app, factory, , 0x1C0000, +ota_0, app, ota_0, , 0x1C0000, +ota_1, app, ota_1, , 0x1C0000, ot_storage,data, fat, , 0x6000, diff --git a/examples/zap_light/sdkconfig.defaults.esp32h2 b/examples/zap_light/sdkconfig.defaults.esp32h2 index 1ce0c71a5..d3108eb3b 100644 --- a/examples/zap_light/sdkconfig.defaults.esp32h2 +++ b/examples/zap_light/sdkconfig.defaults.esp32h2 @@ -1,5 +1,4 @@ CONFIG_IDF_TARGET="esp32h2" -CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_2=y # Default to 921600 baud when flashing and monitoring device CONFIG_ESPTOOLPY_BAUD_921600B=y @@ -9,7 +8,6 @@ CONFIG_ESPTOOLPY_FLASHFREQ_40M=y CONFIG_ESPTOOLPY_FLASHFREQ="40m" CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y # libsodium CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y @@ -27,6 +25,11 @@ CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y # Enable OpenThread CONFIG_OPENTHREAD_ENABLED=y CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n +CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y +CONFIG_OPENTHREAD_CLI=n + # Disable lwip ipv6 autoconfig CONFIG_LWIP_IPV6_AUTOCONFIG=n @@ -55,7 +58,7 @@ CONFIG_USE_MINIMAL_MDNS=n CONFIG_ENABLE_EXTENDED_DISCOVERY=y # Enable OTA Requestor -CONFIG_ENABLE_OTA_REQUESTOR=n +CONFIG_ENABLE_OTA_REQUESTOR=y # Disable STA and AP for ESP32H2 CONFIG_ENABLE_WIFI_STATION=n diff --git a/examples/zigbee_bridge/main/app_zboss.cpp b/examples/zigbee_bridge/main/app_zboss.cpp index ed8be0f7d..2d9f37fcc 100644 --- a/examples/zigbee_bridge/main/app_zboss.cpp +++ b/examples/zigbee_bridge/main/app_zboss.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include @@ -20,7 +20,7 @@ static const char *TAG = "esp_zboss"; -static void bdb_start_top_level_commissioning_cb(zb_uint8_t mode_mask) +static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); } @@ -31,77 +31,71 @@ static void bdb_start_top_level_commissioning_cb(zb_uint8_t mode_mask) * @param bufid Reference to the Zigbee stack buffer used to pass signal. */ -void zboss_signal_handler(zb_bufid_t bufid) +void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { // Read signal desription - zb_zdo_app_signal_hdr_t *p_sg_p = NULL; - zb_zdo_app_signal_type_t sig = zb_get_app_signal(bufid, &p_sg_p); - zb_ret_t status = ZB_GET_APP_SIGNAL_STATUS(bufid); - zb_zdo_signal_device_annce_params_t *device_annce_params = NULL; - zb_zdo_signal_macsplit_dev_boot_params_t *rcp_version = NULL; + uint32_t *p_sg_p = signal_struct->p_app_signal; + esp_err_t err_status = signal_struct->esp_err_status; + esp_zb_app_signal_type_t sig_type = *p_sg_p; + esp_zb_zdo_signal_device_annce_params_t *dev_annce_params = NULL; + esp_zb_zdo_signal_macsplit_dev_boot_params_t *rcp_version = NULL; - switch (sig) { - case ZB_ZDO_SIGNAL_SKIP_STARTUP: + switch (sig_type) { + case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: ESP_LOGI(TAG, "Zigbee stack initialized"); - esp_zb_bdb_start_top_level_commissioning(ZB_BDB_INITIALIZATION); + esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); break; - case ZB_MACSPLIT_DEVICE_BOOT: + case ESP_ZB_MACSPLIT_DEVICE_BOOT: ESP_LOGI(TAG, "Zigbee rcp device booted"); - rcp_version = ZB_ZDO_SIGNAL_GET_PARAMS(p_sg_p, zb_zdo_signal_macsplit_dev_boot_params_t); - ESP_LOGI(TAG, "Zigbee rcp device version: %d.%d.%d", (rcp_version->dev_version >> 24 & 0x000000FF), - (rcp_version->dev_version >> 16 & 0x000000FF), (rcp_version->dev_version & 0x000000FF)); + rcp_version = (esp_zb_zdo_signal_macsplit_dev_boot_params_t*)esp_zb_app_signal_get_params(p_sg_p); + ESP_LOGI(TAG, "Running RCP Version:%s", rcp_version->version_str); break; - case ZB_BDB_SIGNAL_DEVICE_FIRST_START: - case ZB_BDB_SIGNAL_DEVICE_REBOOT: - if (status == RET_OK) { + case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: + case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: + if (err_status == ESP_OK) { ESP_LOGI(TAG, "Start network formation"); - esp_zb_bdb_start_top_level_commissioning(ZB_BDB_NETWORK_FORMATION); + esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION); } else { - ESP_LOGE(TAG, "Failed to initialize Zigbee stack (status: %d)", status); + ESP_LOGE(TAG, "Failed to initialize Zigbee stack (status: %d)", err_status); } break; - case ZB_BDB_SIGNAL_FORMATION: - if (status == RET_OK) { - zb_ieee_addr_t ieee_address; - zb_get_long_address(ieee_address); + case ESP_ZB_BDB_SIGNAL_FORMATION: + if (err_status == ESP_OK) { + esp_zb_ieee_addr_t ieee_address; + esp_zb_get_long_address(ieee_address); ESP_LOGI(TAG, "Formed network successfully"); ESP_LOGI(TAG, "ieee extended address: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx)", ieee_address[7], ieee_address[6], ieee_address[5], ieee_address[4], ieee_address[3], - ieee_address[2], ieee_address[1], ieee_address[0], ZB_PIBCACHE_PAN_ID()); - esp_zb_bdb_start_top_level_commissioning(ZB_BDB_NETWORK_STEERING); + ieee_address[2], ieee_address[1], ieee_address[0], esp_zb_get_pan_id()); + esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); } else { - ESP_LOGI(TAG, "Restart network formation (status: %d)", status); - ZB_SCHEDULE_APP_ALARM((zb_callback_t)bdb_start_top_level_commissioning_cb, ZB_BDB_NETWORK_FORMATION, - ZB_TIME_ONE_SECOND); + ESP_LOGI(TAG, "Restart network formation (status: %d)", err_status); + esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000); } break; - case ZB_BDB_SIGNAL_STEERING: - if (status == RET_OK) { + case ESP_ZB_BDB_SIGNAL_STEERING: + if (err_status == ESP_OK) { ESP_LOGI(TAG, "Network steering started"); } break; - case ZB_ZDO_SIGNAL_DEVICE_ANNCE: - device_annce_params = ZB_ZDO_SIGNAL_GET_PARAMS(p_sg_p, zb_zdo_signal_device_annce_params_t); - ESP_LOGI(TAG, "New device commissioned or rejoined (short: 0x%04hx)", device_annce_params->device_short_addr); + case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE: + dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t *)esp_zb_app_signal_get_params(p_sg_p); + ESP_LOGI(TAG, "New device commissioned or rejoined (short: 0x%04hx)", dev_annce_params->device_short_addr); esp_zb_zdo_match_desc_req_param_t cmd_req; - cmd_req.dst_nwk_addr = device_annce_params->device_short_addr; - cmd_req.addr_of_interest = device_annce_params->device_short_addr; - esp_zb_zdo_find_on_off_light(&cmd_req, zigbee_bridge_find_bridged_on_off_light_cb); + cmd_req.dst_nwk_addr = dev_annce_params->device_short_addr; + cmd_req.addr_of_interest = dev_annce_params->device_short_addr; + esp_zb_zdo_find_on_off_light(&cmd_req, zigbee_bridge_find_bridged_on_off_light_cb, NULL); break; default: - ESP_LOGI(TAG, "status: %d", status); + ESP_LOGI(TAG, "status: %d", err_status); break; } - /* All callbacks should either reuse or free passed buffers. If bufid == 0, the buffer is invalid (not passed) */ - if (bufid) { - zb_buf_free(bufid); - } } static void zboss_task(void *pvParameters) diff --git a/examples/zigbee_bridge/main/idf_component.yml b/examples/zigbee_bridge/main/idf_component.yml index da2f5d001..fcc36a272 100644 --- a/examples/zigbee_bridge/main/idf_component.yml +++ b/examples/zigbee_bridge/main/idf_component.yml @@ -1,8 +1,7 @@ ## IDF Component Manager Manifest File dependencies: - espressif/esp-zboss-lib: "~0.1.0" - espressif/esp-zigbee-lib: "~0.1.1" - espressif/mdns: "^1.0.3" + espressif/esp-zboss-lib: "~0.3.0" + espressif/esp-zigbee-lib: "~0.5.0" ## Required IDF version idf: version: ">=5.0.0" diff --git a/examples/zigbee_bridge/main/zigbee_bridge.cpp b/examples/zigbee_bridge/main/zigbee_bridge.cpp index eaa93ad04..43e2a46fb 100644 --- a/examples/zigbee_bridge/main/zigbee_bridge.cpp +++ b/examples/zigbee_bridge/main/zigbee_bridge.cpp @@ -22,10 +22,10 @@ using namespace esp_matter::cluster; extern uint16_t aggregator_endpoint_id; -void zigbee_bridge_find_bridged_on_off_light_cb(zb_uint8_t zdo_status, zb_uint16_t addr, zb_uint8_t endpoint) +void zigbee_bridge_find_bridged_on_off_light_cb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx) { ESP_LOGI(TAG, "on_off_light found: address:0x%x, endpoint:%d, response_status:%d", addr, endpoint, zdo_status); - if (zdo_status == ZB_ZDP_STATUS_SUCCESS) { + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { node_t *node = node::get(); if (!node) { ESP_LOGE(TAG, "Could not find esp_matter node"); @@ -62,7 +62,7 @@ esp_err_t zigbee_bridge_attribute_update(uint16_t endpoint_id, uint32_t cluster_ cmd_req.zcl_basic_cmd.dst_endpoint = zigbee_device->dev_addr.zigbee_endpointid; cmd_req.zcl_basic_cmd.src_endpoint = esp_matter::endpoint::get_id(zigbee_device->dev->endpoint); cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; - cmd_req.on_off_cmd_id = val->val.b ? ZB_ZCL_CMD_ON_OFF_ON_ID : ZB_ZCL_CMD_ON_OFF_OFF_ID; + cmd_req.on_off_cmd_id = val->val.b ? ESP_ZB_ZCL_CMD_ON_OFF_ON_ID : ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID; esp_zb_zcl_on_off_cmd_req(&cmd_req); } } diff --git a/examples/zigbee_bridge/main/zigbee_bridge.h b/examples/zigbee_bridge/main/zigbee_bridge.h index 1a865afc9..b66c90611 100644 --- a/examples/zigbee_bridge/main/zigbee_bridge.h +++ b/examples/zigbee_bridge/main/zigbee_bridge.h @@ -9,12 +9,12 @@ #pragma once #include -#include -#include +#include +#include #include #include -void zigbee_bridge_find_bridged_on_off_light_cb(zb_uint8_t zdo_status, zb_uint16_t addr, zb_uint8_t endpoint); +void zigbee_bridge_find_bridged_on_off_light_cb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx); esp_err_t zigbee_bridge_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val, app_bridged_device_t *zigbee_device); diff --git a/examples/zigbee_bridge/sdkconfig.defaults b/examples/zigbee_bridge/sdkconfig.defaults index e75d3bb08..a7a632238 100644 --- a/examples/zigbee_bridge/sdkconfig.defaults +++ b/examples/zigbee_bridge/sdkconfig.defaults @@ -38,8 +38,5 @@ CONFIG_ZB_ENABLED=y CONFIG_ZB_ZCZR=y CONFIG_ZB_RADIO_MACSPLIT_UART=y -# disable softap by default -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n - # Disable DS Peripheral CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n diff --git a/export.sh b/export.sh index 631d19883..d9ae4b572 100644 --- a/export.sh +++ b/export.sh @@ -54,7 +54,7 @@ esp_matter_export_main() { export PATH=${PATH}:${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/host # export zap-cli path - export export ZAP_INSTALL_PATH=${ESP_MATTER_PATH}/zap + export export ZAP_INSTALL_PATH=${ESP_MATTER_PATH}/.zap } esp_matter_export_main diff --git a/install.sh b/install.sh index 55922ff5b..ffd17a641 100755 --- a/install.sh +++ b/install.sh @@ -12,6 +12,22 @@ echo "Running Matter Setup" echo "" source ${MATTER_PATH}/scripts/bootstrap.sh +echo "" +echo "Installing zap-cli" +echo "" +# Run the zap_download.py and extract the path of installed binary +# eg output before cut: "export ZAP_INSTALL_PATH=zap/zap-v2023.03.06-nightly" +# output after cut: zap/zap-v2023.03.06-nightly +# TODO: Remove the zap-version after https://github.com/project-chip/connectedhomeip/pull/25727 merged +zap_path=`python3 ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/scripts/tools/zap/zap_download.py \ + --sdk-root ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip --zap RELEASE --zap-version v2023.03.06-nightly \ + --extract-root .zap 2>/dev/null | cut -d= -f2` +# Move files to one directory up, so that binaries will be in zap/ directory and export.sh can leverage the fixed path +mkdir ${ESP_MATTER_PATH}/.zap +mv $zap_path/* ${ESP_MATTER_PATH}/.zap/ +rm -r $zap_path +chmod +x ${ESP_MATTER_PATH}/.zap/zap-cli + echo "" echo "Building host tools" echo "" @@ -36,20 +52,6 @@ echo "Installing python dependencies for Matter" echo "" python3 -m pip install -r ${ESP_MATTER_PATH}/requirements.txt -echo "" -echo "Installing zap-cli" -echo "" -# Run the zap_download.py and extract the path of installed binary -# eg output before cut: "export ZAP_INSTALL_PATH=zap/zap-v2023.01.19-nightly" -# output after cut: zap/zap-v2023.01.19-nightly -zap_path=`python3 connectedhomeip/connectedhomeip/scripts/tools/zap/zap_download.py \ - --sdk-root connectedhomeip/connectedhomeip --zap RELEASE --extract-root zap \ - 2>/dev/null | cut -d= -f2` -# Move files to one directory up, so that binaries will be in zap/ directory and export.sh can leverage the fixed path -mv $zap_path/* zap/ -rm -r $zap_path -chmod +x zap/zap-cli - echo "All done! You can now run:" echo "" echo " . ${basedir}/export.sh"