diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 11f1b73d7..bb6caee5c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,7 +26,7 @@ variables: IDF_CHECKOUT_REF: "v5.4.1" # This variable represents the short hash of the connectedhomeip submodule. # Note: Do change this short hash on submodule update MRs. - CHIP_SHORT_HASH: "f6c3c83820" + CHIP_SHORT_HASH: "d144bbbaae" DOCKER_IMAGE_NAME: "espressif/chip-idf" .add_gitlab_ssh_key: &add_gitlab_ssh_key | diff --git a/README.md b/README.md index c32531136..cf9a61cf8 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ section in the ESP-Matter Programming Guide. ## Supported ESP-IDF and connectedhomeip versions -- This SDK currently works with commit [f6c3c83820](https://github.com/project-chip/connectedhomeip/tree/f6c3c83820) of connectedhomeip. +- This SDK currently works with commit [d144bbbaae] (https://github.com/project-chip/connectedhomeip/tree/d144bbbaae) of connectedhomeip. - For Matter projects development with this SDK, it is recommended to utilize ESP-IDF [v5.4.1](https://github.com/espressif/esp-idf/tree/v5.4.1). ## Documentation diff --git a/components/esp_matter/esp_matter_command.cpp b/components/esp_matter/esp_matter_command.cpp index 4f29bbd20..6aacaa32e 100644 --- a/components/esp_matter/esp_matter_command.cpp +++ b/components/esp_matter/esp_matter_command.cpp @@ -229,41 +229,32 @@ static esp_err_t esp_matter_command_callback_add_trusted_root_certificate(const return ESP_OK; } -static esp_err_t esp_matter_command_callback_query_image(const ConcreteCommandPath &command_path, TLVReader &tlv_data, - void *opaque_ptr) + +static esp_err_t esp_matter_command_callback_set_vid_verification_statement(const ConcreteCommandPath &command_path, + TLVReader &tlv_data, void *opaque_ptr) { - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImage::DecodableType command_data; + chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::DecodableType command_data; CHIP_ERROR error = Decode(tlv_data, command_data); if (error == CHIP_NO_ERROR) { - emberAfOtaSoftwareUpdateProviderClusterQueryImageCallback((CommandHandler *)opaque_ptr, command_path, - command_data); + emberAfOperationalCredentialsClusterSetVIDVerificationStatementCallback((CommandHandler *)opaque_ptr, + command_path, command_data); } return ESP_OK; } -static esp_err_t esp_matter_command_callback_apply_update_request(const ConcreteCommandPath &command_path, - TLVReader &tlv_data, void *opaque_ptr) + +static esp_err_t esp_matter_command_callback_sign_vid_verification_request(const ConcreteCommandPath &command_path, + TLVReader &tlv_data, void *opaque_ptr) { - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::DecodableType command_data; + chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::DecodableType command_data; CHIP_ERROR error = Decode(tlv_data, command_data); if (error == CHIP_NO_ERROR) { - emberAfOtaSoftwareUpdateProviderClusterApplyUpdateRequestCallback((CommandHandler *)opaque_ptr, command_path, - command_data); + emberAfOperationalCredentialsClusterSignVIDVerificationRequestCallback((CommandHandler *)opaque_ptr, + command_path, command_data); } return ESP_OK; } -static esp_err_t esp_matter_command_callback_notify_update_applied(const ConcreteCommandPath &command_path, - TLVReader &tlv_data, void *opaque_ptr) -{ - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::DecodableType command_data; - CHIP_ERROR error = Decode(tlv_data, command_data); - if (error == CHIP_NO_ERROR) { - emberAfOtaSoftwareUpdateProviderClusterNotifyUpdateAppliedCallback((CommandHandler *)opaque_ptr, command_path, - command_data); - } - return ESP_OK; -} static esp_err_t esp_matter_command_callback_announce_ota_provider(const ConcreteCommandPath &command_path, TLVReader &tlv_data, void *opaque_ptr) @@ -1940,6 +1931,8 @@ constexpr const command_entry_t accepted_command_list[] = { {OperationalCredentials::Commands::UpdateFabricLabel::Id, COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_update_fabric_label}, {OperationalCredentials::Commands::RemoveFabric::Id, COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_remove_fabric}, {OperationalCredentials::Commands::AddTrustedRootCertificate::Id, COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_add_trusted_root_certificate}, + {OperationalCredentials::Commands::SetVIDVerificationStatement::Id, COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_set_vid_verification_statement}, + {OperationalCredentials::Commands::SignVIDVerificationRequest::Id, COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_sign_vid_verification_request}, }; constexpr const command_entry_t generated_command_list[] = { @@ -1947,6 +1940,7 @@ constexpr const command_entry_t generated_command_list[] = { {OperationalCredentials::Commands::CertificateChainResponse::Id, COMMAND_FLAG_GENERATED, NULL}, {OperationalCredentials::Commands::CSRResponse::Id, COMMAND_FLAG_GENERATED, NULL}, {OperationalCredentials::Commands::NOCResponse::Id, COMMAND_FLAG_GENERATED, NULL}, + {OperationalCredentials::Commands::SignVIDVerificationResponse::Id, COMMAND_FLAG_GENERATED, NULL}, }; command_t *create_attestation_request(cluster_t *cluster) @@ -2021,6 +2015,24 @@ command_t *create_noc_response(cluster_t *cluster) COMMAND_FLAG_GENERATED, NULL); } +command_t *create_set_vid_verification_statement(cluster_t *cluster) +{ + return esp_matter::command::create(cluster, OperationalCredentials::Commands::SetVIDVerificationStatement::Id, + COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_set_vid_verification_statement); +} + +command_t *create_sign_vid_verification_request(cluster_t *cluster) +{ + return esp_matter::command::create(cluster, OperationalCredentials::Commands::SignVIDVerificationRequest::Id, + COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_sign_vid_verification_request); +} + +command_t *create_sign_vid_verification_response(cluster_t *cluster) +{ + return esp_matter::command::create(cluster, OperationalCredentials::Commands::SignVIDVerificationResponse::Id, + COMMAND_FLAG_GENERATED, NULL); +} + } /* command */ } /* operational_credentials */ @@ -2030,19 +2042,19 @@ namespace command { command_t *create_query_image(cluster_t *cluster) { return esp_matter::command::create(cluster, OtaSoftwareUpdateProvider::Commands::QueryImage::Id, - COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_query_image); + COMMAND_FLAG_ACCEPTED, nullptr); } command_t *create_apply_update_request(cluster_t *cluster) { return esp_matter::command::create(cluster, OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::Id, - COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_apply_update_request); + COMMAND_FLAG_ACCEPTED, nullptr); } command_t *create_notify_update_applied(cluster_t *cluster) { return esp_matter::command::create(cluster, OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::Id, - COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_notify_update_applied); + COMMAND_FLAG_ACCEPTED, nullptr); } command_t *create_query_image_response(cluster_t *cluster) diff --git a/components/esp_matter/esp_matter_command.h b/components/esp_matter/esp_matter_command.h index efaf0277a..231b82c9b 100644 --- a/components/esp_matter/esp_matter_command.h +++ b/components/esp_matter/esp_matter_command.h @@ -168,6 +168,9 @@ command_t *create_attestation_response(cluster_t *cluster); command_t *create_certificate_chain_response(cluster_t *cluster); command_t *create_csr_response(cluster_t *cluster); command_t *create_noc_response(cluster_t *cluster); +command_t *create_set_vid_verification_statement(cluster_t *cluster); +command_t *create_sign_vid_verification_request(cluster_t *cluster); +command_t *create_sign_vid_verification_response(cluster_t *cluster); } /* command */ } /* operational_credentials */ diff --git a/components/esp_matter/private/esp_matter_cluster_revisions.h b/components/esp_matter/private/esp_matter_cluster_revisions.h index 41cc37fca..3f80ed2f8 100644 --- a/components/esp_matter/private/esp_matter_cluster_revisions.h +++ b/components/esp_matter/private/esp_matter_cluster_revisions.h @@ -20,7 +20,7 @@ namespace esp_matter { namespace cluster { namespace descriptor { -constexpr uint16_t cluster_revision = 2; +constexpr uint16_t cluster_revision = 3; } // namespace descriptor namespace actions { @@ -32,7 +32,7 @@ constexpr uint16_t cluster_revision = 2; } // namespace access_control namespace basic_information { -constexpr uint16_t cluster_revision = 4; +constexpr uint16_t cluster_revision = 5; } // namespace basic_information namespace binding { @@ -72,7 +72,7 @@ constexpr uint16_t cluster_revision = 1; } // namespace administrator_commissioning namespace operational_credentials { -constexpr uint16_t cluster_revision = 1; +constexpr uint16_t cluster_revision = 2; } // namespace operational_credentials namespace group_key_management { diff --git a/components/esp_matter/utils/cluster_select/Kconfig.in b/components/esp_matter/utils/cluster_select/Kconfig.in index 3e09787f6..7ec2d62ba 100644 --- a/components/esp_matter/utils/cluster_select/Kconfig.in +++ b/components/esp_matter/utils/cluster_select/Kconfig.in @@ -93,6 +93,10 @@ config SUPPORT_COMMISSIONER_CONTROL_CLUSTER bool "Support COMMISSIONER_CONTROL_CLUSTER" default y +config SUPPORT_COMMODITY_PRICE_CLUSTER + bool "Support COMMODITY_PRICE_CLUSTER" + default y + config SUPPORT_CONTENT_LAUNCHER_CLUSTER bool "Support CONTENT_LAUNCHER_CLUSTER" default y @@ -129,6 +133,14 @@ config SUPPORT_DISHWASHER_MODE_CLUSTER bool "Support DISHWASHER_MODE_CLUSTER" default y +config SUPPORT_ELECTRICAL_GRID_CONDITIONS_CLUSTER + bool "Support ELECTRICAL_GRID_CONDITIONS_CLUSTER" + default y + +config SUPPORT_METER_IDENTIFICATION_CLUSTER + bool "Support METER_IDENTIFICATION_CLUSTER" + default y + config SUPPORT_MICROWAVE_OVEN_MODE_CLUSTER bool "Support MICROWAVE_OVEN_MODE_CLUSTER" default y @@ -209,6 +221,14 @@ config SUPPORT_IDENTIFY_CLUSTER bool "Support IDENTIFY_CLUSTER" default y +config SUPPORT_JOINT_FABRIC_DATASTORE_CLUSTER + bool "Support JOINT_FABRIC_DATASTORE_CLUSTER" + default y + +config SUPPORT_JOINT_FABRIC_ADMINISTRATOR_CLUSTER + bool "Support JOINT_FABRIC_ADMINISTRATOR_CLUSTER" + default y + config SUPPORT_KEYPAD_INPUT_CLUSTER bool "Support KEYPAD_INPUT_CLUSTER" default y @@ -413,6 +433,10 @@ config SUPPORT_TVOC_CONCENTRATION_MEASUREMENT_CLUSTER bool "Support TVOC_CONCENTRATION_MEASUREMENT_CLUSTER" default y +config SUPPORT_UNIT_LOCALIZATION_CLUSTER + bool "Support UNIT_LOCALIZATION_CLUSTER" + default y + config SUPPORT_UNIT_TESTING_CLUSTER bool "Support UNIT_TESTING_CLUSTER" default y diff --git a/components/esp_matter/utils/cluster_select/cluster_dir.cmake b/components/esp_matter/utils/cluster_select/cluster_dir.cmake index 75cee0f3f..3efd09a48 100644 --- a/components/esp_matter/utils/cluster_select/cluster_dir.cmake +++ b/components/esp_matter/utils/cluster_select/cluster_dir.cmake @@ -72,6 +72,9 @@ function(get_supported_cluster_dirs source_dirs) if(CONFIG_SUPPORT_COMMISSIONER_CONTROL_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/commissioner-control-server") endif() + if(CONFIG_SUPPORT_COMMODITY_PRICE_CLUSTER) + list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/commodity-price-server") + endif() if(CONFIG_SUPPORT_CONTENT_LAUNCHER_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/content-launch-server") endif() @@ -99,6 +102,12 @@ function(get_supported_cluster_dirs source_dirs) if(CONFIG_SUPPORT_DISHWASHER_MODE_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/mode-base-server") endif() + if(CONFIG_SUPPORT_ELECTRICAL_GRID_CONDITIONS_CLUSTER) + list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/electrical-grid-conditions-server") + endif() + if(CONFIG_SUPPORT_METER_IDENTIFICATION_CLUSTER) + list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/meter-identification-server") + endif() if(CONFIG_SUPPORT_MICROWAVE_OVEN_MODE_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/mode-base-server") endif() @@ -159,6 +168,12 @@ function(get_supported_cluster_dirs source_dirs) if(CONFIG_SUPPORT_IDENTIFY_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/identify-server") endif() + if(CONFIG_SUPPORT_JOINT_FABRIC_DATASTORE_CLUSTER) + list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/joint-fabric-datastore-server") + endif() + if(CONFIG_SUPPORT_JOINT_FABRIC_ADMINISTRATOR_CLUSTER) + list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/joint-fabric-administrator-server") + endif() if(CONFIG_SUPPORT_KEYPAD_INPUT_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/keypad-input-server") endif() @@ -312,6 +327,9 @@ function(get_supported_cluster_dirs source_dirs) if(CONFIG_SUPPORT_TVOC_CONCENTRATION_MEASUREMENT_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/concentration-measurement-server") endif() + if(CONFIG_SUPPORT_UNIT_LOCALIZATION_CLUSTER) + list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/unit-localization-server") + endif() if(CONFIG_SUPPORT_UNIT_TESTING_CLUSTER) list(APPEND temp_list "${MATTER_SDK_PATH}/src/app/clusters/test-cluster-server") endif() diff --git a/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h b/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h index 88ff22843..b8535b5ad 100644 --- a/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h +++ b/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h @@ -58,6 +58,8 @@ void MatterHepaFilterMonitoringPluginServerInitCallback(); void MatterIcdManagementPluginServerInitCallback(); void MatterIdentifyPluginServerInitCallback(); void MatterIlluminanceMeasurementPluginServerInitCallback(); +void MatterJointFabricAdministratorPluginServerInitCallback(); +void MatterJointFabricDatastorePluginServerInitCallback(); void MatterKeypadInputPluginServerInitCallback(); void MatterLaundryDryerControlsPluginServerInitCallback(); void MatterLaundryWasherControlsPluginServerInitCallback(); @@ -108,6 +110,7 @@ void MatterScenesManagementPluginServerInitCallback(); void MatterServiceAreaPluginServerInitCallback(); void MatterSmokeCoAlarmPluginServerInitCallback(); void MatterSoftwareDiagnosticsPluginServerInitCallback(); +void MatterSoilMeasurementPluginServerInitCallback(); void MatterSwitchPluginServerInitCallback(); void MatterTargetNavigatorPluginServerInitCallback(); void MatterTemperatureControlPluginServerInitCallback(); diff --git a/components/esp_matter/zap_common/app/callback-stub.cpp b/components/esp_matter/zap_common/app/callback-stub.cpp index 150d134bd..81432252b 100644 --- a/components/esp_matter/zap_common/app/callback-stub.cpp +++ b/components/esp_matter/zap_common/app/callback-stub.cpp @@ -296,6 +296,16 @@ void __attribute__((weak)) emberAfIlluminanceMeasurementClusterInitCallback(Endp // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfJointFabricAdministratorClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} +void __attribute__((weak)) emberAfJointFabricDatastoreClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfKeypadInputClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -546,6 +556,11 @@ void __attribute__((weak)) emberAfSoftwareDiagnosticsClusterInitCallback(Endpoin // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfSoilMeasurementClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfSwitchClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/components/esp_matter/zap_common/app/cluster-init-callback.cpp b/components/esp_matter/zap_common/app/cluster-init-callback.cpp index f67b806b9..de22ca245 100644 --- a/components/esp_matter/zap_common/app/cluster-init-callback.cpp +++ b/components/esp_matter/zap_common/app/cluster-init-callback.cpp @@ -187,6 +187,12 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case app::Clusters::IlluminanceMeasurement::Id: emberAfIlluminanceMeasurementClusterInitCallback(endpoint); break; + case app::Clusters::JointFabricAdministrator::Id: + emberAfJointFabricAdministratorClusterInitCallback(endpoint); + break; + case app::Clusters::JointFabricDatastore::Id: + emberAfJointFabricDatastoreClusterInitCallback(endpoint); + break; case app::Clusters::KeypadInput::Id: emberAfKeypadInputClusterInitCallback(endpoint); break; @@ -337,6 +343,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case app::Clusters::SoftwareDiagnostics::Id: emberAfSoftwareDiagnosticsClusterInitCallback(endpoint); break; + case app::Clusters::SoilMeasurement::Id: + emberAfSoilMeasurementClusterInitCallback(endpoint); + break; case app::Clusters::Switch::Id: emberAfSwitchClusterInitCallback(endpoint); break; diff --git a/components/esp_matter/zap_common/app/static-cluster-config/OtaSoftwareUpdateProvider.h b/components/esp_matter/zap_common/app/static-cluster-config/OtaSoftwareUpdateProvider.h new file mode 100644 index 000000000..ef4cbc0f1 --- /dev/null +++ b/components/esp_matter/zap_common/app/static-cluster-config/OtaSoftwareUpdateProvider.h @@ -0,0 +1,26 @@ +// Application configuration for OtaSoftwareUpdateRequestor based on EMBER configuration +// from inputs/large_lighting_app.matter +#pragma once + +#include +#include + +#include + +namespace chip { +namespace app { +namespace Clusters { +namespace OtaSoftwareUpdateProvider { +namespace StaticApplicationConfig { + +using FeatureBitmapType = Clusters::StaticApplicationConfig::NoFeatureFlagsDefined; + +inline constexpr std::array, 0> kFixedClusterConfig = { }; + + +} // namespace StaticApplicationConfig +} // namespace OtaSoftwareUpdateProvider +} // namespace Clusters +} // namespace app +} // namespace chip + diff --git a/components/esp_matter/zap_common/zap-generated/access.h b/components/esp_matter/zap_common/zap-generated/access.h index 6bb6faf6c..9d730c578 100644 --- a/components/esp_matter/zap_common/zap-generated/access.h +++ b/components/esp_matter/zap_common/zap-generated/access.h @@ -60,6 +60,21 @@ 0x00000750, /* Cluster: Ecosystem Information, Attribute: DeviceDirectory, Privilege: manage */ \ 0x00000750, /* Cluster: Ecosystem Information, Attribute: LocationDirectory, Privilege: manage */ \ 0x00000751, /* Cluster: Commissioner Control, Attribute: SupportedDeviceCategories, Privilege: manage */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: AnchorRootCA, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: AnchorNodeID, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: AnchorVendorID, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: FriendlyName, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: GroupKeySetList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: GroupList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: NodeList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: AdminList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: Status, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: EndpointGroupIDList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: EndpointBindingList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: NodeKeySetList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: NodeACLList, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Attribute: NodeEndpointList, Privilege: administer */ \ + 0x00000753, /* Cluster: Joint Fabric Administrator, Attribute: AdministratorFabricIndex, Privilege: administer */ \ } // Parallel array data (cluster, *attribute*, privilege) for read attribute @@ -115,6 +130,21 @@ 0x00000000, /* Cluster: Ecosystem Information, Attribute: DeviceDirectory, Privilege: manage */ \ 0x00000001, /* Cluster: Ecosystem Information, Attribute: LocationDirectory, Privilege: manage */ \ 0x00000000, /* Cluster: Commissioner Control, Attribute: SupportedDeviceCategories, Privilege: manage */ \ + 0x00000000, /* Cluster: Joint Fabric Datastore, Attribute: AnchorRootCA, Privilege: administer */ \ + 0x00000001, /* Cluster: Joint Fabric Datastore, Attribute: AnchorNodeID, Privilege: administer */ \ + 0x00000002, /* Cluster: Joint Fabric Datastore, Attribute: AnchorVendorID, Privilege: administer */ \ + 0x00000003, /* Cluster: Joint Fabric Datastore, Attribute: FriendlyName, Privilege: administer */ \ + 0x00000004, /* Cluster: Joint Fabric Datastore, Attribute: GroupKeySetList, Privilege: administer */ \ + 0x00000005, /* Cluster: Joint Fabric Datastore, Attribute: GroupList, Privilege: administer */ \ + 0x00000006, /* Cluster: Joint Fabric Datastore, Attribute: NodeList, Privilege: administer */ \ + 0x00000007, /* Cluster: Joint Fabric Datastore, Attribute: AdminList, Privilege: administer */ \ + 0x00000008, /* Cluster: Joint Fabric Datastore, Attribute: Status, Privilege: administer */ \ + 0x00000009, /* Cluster: Joint Fabric Datastore, Attribute: EndpointGroupIDList, Privilege: administer */ \ + 0x0000000A, /* Cluster: Joint Fabric Datastore, Attribute: EndpointBindingList, Privilege: administer */ \ + 0x0000000B, /* Cluster: Joint Fabric Datastore, Attribute: NodeKeySetList, Privilege: administer */ \ + 0x0000000C, /* Cluster: Joint Fabric Datastore, Attribute: NodeACLList, Privilege: administer */ \ + 0x0000000D, /* Cluster: Joint Fabric Datastore, Attribute: NodeEndpointList, Privilege: administer */ \ + 0x00000000, /* Cluster: Joint Fabric Administrator, Attribute: AdministratorFabricIndex, Privilege: administer */ \ } // Parallel array data (cluster, attribute, *privilege*) for read attribute @@ -170,6 +200,21 @@ chip::Access::Privilege::kManage, /* Cluster: Ecosystem Information, Attribute: DeviceDirectory, Privilege: manage */ \ chip::Access::Privilege::kManage, /* Cluster: Ecosystem Information, Attribute: LocationDirectory, Privilege: manage */ \ chip::Access::Privilege::kManage, /* Cluster: Commissioner Control, Attribute: SupportedDeviceCategories, Privilege: manage */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: AnchorRootCA, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: AnchorNodeID, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: AnchorVendorID, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: FriendlyName, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: GroupKeySetList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: GroupList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: NodeList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: AdminList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: Status, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: EndpointGroupIDList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: EndpointBindingList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: NodeKeySetList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: NodeACLList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Attribute: NodeEndpointList, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Administrator, Attribute: AdministratorFabricIndex, Privilege: administer */ \ } //////////////////////////////////////////////////////////////////////////////// @@ -659,6 +704,32 @@ 0x00000555, /* Cluster: Push AV Stream Transport, Command: SetTransportStatus, Privilege: manage */ \ 0x00000751, /* Cluster: Commissioner Control, Command: RequestCommissioningApproval, Privilege: manage */ \ 0x00000751, /* Cluster: Commissioner Control, Command: CommissionNode, Privilege: manage */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: AddKeySet, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: UpdateKeySet, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RemoveKeySet, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: AddGroup, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: UpdateGroup, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RemoveGroup, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: AddAdmin, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: UpdateAdmin, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RemoveAdmin, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: AddPendingNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RefreshNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: UpdateNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RemoveNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: UpdateEndpointForNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: AddGroupIDToEndpointForNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RemoveGroupIDFromEndpointForNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: AddBindingToEndpointForNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RemoveBindingFromEndpointForNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: AddACLToNode, Privilege: administer */ \ + 0x00000752, /* Cluster: Joint Fabric Datastore, Command: RemoveACLFromNode, Privilege: administer */ \ + 0x00000753, /* Cluster: Joint Fabric Administrator, Command: ICACCSRRequest, Privilege: administer */ \ + 0x00000753, /* Cluster: Joint Fabric Administrator, Command: AddICAC, Privilege: administer */ \ + 0x00000753, /* Cluster: Joint Fabric Administrator, Command: OpenJointCommissioningWindow, Privilege: administer */ \ + 0x00000753, /* Cluster: Joint Fabric Administrator, Command: TransferAnchorRequest, Privilege: administer */ \ + 0x00000753, /* Cluster: Joint Fabric Administrator, Command: TransferAnchorComplete, Privilege: administer */ \ + 0x00000753, /* Cluster: Joint Fabric Administrator, Command: AnnounceJointFabricAdministrator, Privilege: administer */ \ 0x00000801, /* Cluster: TLS Certificate Management, Command: ProvisionRootCertificate, Privilege: administer */ \ 0x00000801, /* Cluster: TLS Certificate Management, Command: RemoveRootCertificate, Privilege: administer */ \ 0x00000801, /* Cluster: TLS Certificate Management, Command: TLSClientCSR, Privilege: administer */ \ @@ -778,6 +849,32 @@ 0x00000004, /* Cluster: Push AV Stream Transport, Command: SetTransportStatus, Privilege: manage */ \ 0x00000000, /* Cluster: Commissioner Control, Command: RequestCommissioningApproval, Privilege: manage */ \ 0x00000001, /* Cluster: Commissioner Control, Command: CommissionNode, Privilege: manage */ \ + 0x00000000, /* Cluster: Joint Fabric Datastore, Command: AddKeySet, Privilege: administer */ \ + 0x00000001, /* Cluster: Joint Fabric Datastore, Command: UpdateKeySet, Privilege: administer */ \ + 0x00000002, /* Cluster: Joint Fabric Datastore, Command: RemoveKeySet, Privilege: administer */ \ + 0x00000003, /* Cluster: Joint Fabric Datastore, Command: AddGroup, Privilege: administer */ \ + 0x00000004, /* Cluster: Joint Fabric Datastore, Command: UpdateGroup, Privilege: administer */ \ + 0x00000005, /* Cluster: Joint Fabric Datastore, Command: RemoveGroup, Privilege: administer */ \ + 0x00000006, /* Cluster: Joint Fabric Datastore, Command: AddAdmin, Privilege: administer */ \ + 0x00000007, /* Cluster: Joint Fabric Datastore, Command: UpdateAdmin, Privilege: administer */ \ + 0x00000008, /* Cluster: Joint Fabric Datastore, Command: RemoveAdmin, Privilege: administer */ \ + 0x00000009, /* Cluster: Joint Fabric Datastore, Command: AddPendingNode, Privilege: administer */ \ + 0x0000000A, /* Cluster: Joint Fabric Datastore, Command: RefreshNode, Privilege: administer */ \ + 0x0000000B, /* Cluster: Joint Fabric Datastore, Command: UpdateNode, Privilege: administer */ \ + 0x0000000C, /* Cluster: Joint Fabric Datastore, Command: RemoveNode, Privilege: administer */ \ + 0x0000000D, /* Cluster: Joint Fabric Datastore, Command: UpdateEndpointForNode, Privilege: administer */ \ + 0x0000000E, /* Cluster: Joint Fabric Datastore, Command: AddGroupIDToEndpointForNode, Privilege: administer */ \ + 0x0000000F, /* Cluster: Joint Fabric Datastore, Command: RemoveGroupIDFromEndpointForNode, Privilege: administer */ \ + 0x00000010, /* Cluster: Joint Fabric Datastore, Command: AddBindingToEndpointForNode, Privilege: administer */ \ + 0x00000011, /* Cluster: Joint Fabric Datastore, Command: RemoveBindingFromEndpointForNode, Privilege: administer */ \ + 0x00000012, /* Cluster: Joint Fabric Datastore, Command: AddACLToNode, Privilege: administer */ \ + 0x00000013, /* Cluster: Joint Fabric Datastore, Command: RemoveACLFromNode, Privilege: administer */ \ + 0x00000000, /* Cluster: Joint Fabric Administrator, Command: ICACCSRRequest, Privilege: administer */ \ + 0x00000002, /* Cluster: Joint Fabric Administrator, Command: AddICAC, Privilege: administer */ \ + 0x00000004, /* Cluster: Joint Fabric Administrator, Command: OpenJointCommissioningWindow, Privilege: administer */ \ + 0x00000005, /* Cluster: Joint Fabric Administrator, Command: TransferAnchorRequest, Privilege: administer */ \ + 0x00000007, /* Cluster: Joint Fabric Administrator, Command: TransferAnchorComplete, Privilege: administer */ \ + 0x00000008, /* Cluster: Joint Fabric Administrator, Command: AnnounceJointFabricAdministrator, Privilege: administer */ \ 0x00000000, /* Cluster: TLS Certificate Management, Command: ProvisionRootCertificate, Privilege: administer */ \ 0x00000006, /* Cluster: TLS Certificate Management, Command: RemoveRootCertificate, Privilege: administer */ \ 0x00000007, /* Cluster: TLS Certificate Management, Command: TLSClientCSR, Privilege: administer */ \ @@ -897,6 +994,32 @@ chip::Access::Privilege::kManage, /* Cluster: Push AV Stream Transport, Command: SetTransportStatus, Privilege: manage */ \ chip::Access::Privilege::kManage, /* Cluster: Commissioner Control, Command: RequestCommissioningApproval, Privilege: manage */ \ chip::Access::Privilege::kManage, /* Cluster: Commissioner Control, Command: CommissionNode, Privilege: manage */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: AddKeySet, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: UpdateKeySet, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RemoveKeySet, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: AddGroup, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: UpdateGroup, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RemoveGroup, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: AddAdmin, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: UpdateAdmin, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RemoveAdmin, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: AddPendingNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RefreshNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: UpdateNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RemoveNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: UpdateEndpointForNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: AddGroupIDToEndpointForNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RemoveGroupIDFromEndpointForNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: AddBindingToEndpointForNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RemoveBindingFromEndpointForNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: AddACLToNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Datastore, Command: RemoveACLFromNode, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Administrator, Command: ICACCSRRequest, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Administrator, Command: AddICAC, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Administrator, Command: OpenJointCommissioningWindow, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Administrator, Command: TransferAnchorRequest, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Administrator, Command: TransferAnchorComplete, Privilege: administer */ \ + chip::Access::Privilege::kAdminister, /* Cluster: Joint Fabric Administrator, Command: AnnounceJointFabricAdministrator, Privilege: administer */ \ chip::Access::Privilege::kAdminister, /* Cluster: TLS Certificate Management, Command: ProvisionRootCertificate, Privilege: administer */ \ chip::Access::Privilege::kAdminister, /* Cluster: TLS Certificate Management, Command: RemoveRootCertificate, Privilege: administer */ \ chip::Access::Privilege::kAdminister, /* Cluster: TLS Certificate Management, Command: TLSClientCSR, Privilege: administer */ \ diff --git a/connectedhomeip/connectedhomeip b/connectedhomeip/connectedhomeip index f6c3c8382..d144bbbaa 160000 --- a/connectedhomeip/connectedhomeip +++ b/connectedhomeip/connectedhomeip @@ -1 +1 @@ -Subproject commit f6c3c8382019e623cc276e2a45b59c935e4e78f4 +Subproject commit d144bbbaaef24ac255497ed907caff0bbe18ab58 diff --git a/examples/light/sdkconfig.defaults b/examples/light/sdkconfig.defaults index cd746cae3..8f9a802ed 100644 --- a/examples/light/sdkconfig.defaults +++ b/examples/light/sdkconfig.defaults @@ -133,3 +133,7 @@ CONFIG_SUPPORT_WIFI_NETWORK_MANAGEMENT_CLUSTER=n CONFIG_SUPPORT_WINDOW_COVERING_CLUSTER=n CONFIG_SUPPORT_WATER_HEATER_MANAGEMENT_CLUSTER=n CONFIG_SUPPORT_WATER_HEATER_MODE_CLUSTER=n +CONFIG_SUPPORT_ELECTRICAL_GRID_CONDITIONS_CLUSTER=n +CONFIG_SUPPORT_COMMODITY_PRICE_CLUSTER=n +CONFIG_SUPPORT_METER_IDENTIFICATION_CLUSTER=n +CONFIG_SUPPORT_UNIT_LOCALIZATION_CLUSTER=n diff --git a/examples/ota_provider/main/app_main.cpp b/examples/ota_provider/main/app_main.cpp index c1163aadf..d1f79ce67 100644 --- a/examples/ota_provider/main/app_main.cpp +++ b/examples/ota_provider/main/app_main.cpp @@ -16,7 +16,8 @@ #include -#include +#include +#include #include #include