diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c750c79ae..934ef0d14 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -223,10 +223,7 @@ build_esp_matter_examples_non_pytest_idf_v5_1: variables: IDF_VERSION: "6b1f40b9bfb91ec82fab4a60e5bfb4ca0c9b062f" script: - # Disabling the external platform builds till we fix the build problem - # due to https://github.com/project-chip/connectedhomeip/pull/30531 - # JIRA tracker: CON-942 - # - *build_external_platform_example + - *build_external_platform_example - *build_esp32c6_thread_example # mfg_test_app needs an secure boot signing key, generating one here diff --git a/README.md b/README.md index 3bd783fef..83143e21c 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ section in the ESP-Matter Programming Guide. ## Supported ESP-IDF and connectedhomeip versions -- This SDK currently works with commit [8e3d98c039](https://github.com/project-chip/connectedhomeip/tree/8e3d98c039) of connectedhomeip. +- This SDK currently works with commit [d38a6496c3](https://github.com/project-chip/connectedhomeip/tree/d38a6496c3) of connectedhomeip. - For Matter projects development with this SDK, it is recommended to utilize ESP-IDF [v5.1 commit 6b1f40b9b](https://github.com/espressif/esp-idf/tree/6b1f40b9bfb91ec82fab4a60e5bfb4ca0c9b062f). diff --git a/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h b/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h index 30476e928..f7e4fbe7a 100644 --- a/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h +++ b/components/esp_matter/zap_common/app/PluginApplicationCallbacks.h @@ -45,6 +45,7 @@ void MatterDishwasherModePluginServerInitCallback(); void MatterDoorLockPluginServerInitCallback(); void MatterElectricalEnergyMeasurementPluginServerInitCallback(); void MatterElectricalMeasurementPluginServerInitCallback(); +void MatterEnergyEvsePluginServerInitCallback(); void MatterEthernetNetworkDiagnosticsPluginServerInitCallback(); void MatterFanControlPluginServerInitCallback(); void MatterFaultInjectionPluginServerInitCallback(); @@ -60,6 +61,7 @@ void MatterIcdManagementPluginServerInitCallback(); void MatterIdentifyPluginServerInitCallback(); void MatterIlluminanceMeasurementPluginServerInitCallback(); void MatterKeypadInputPluginServerInitCallback(); +void MatterLaundryDryerControlsPluginServerInitCallback(); void MatterLaundryWasherControlsPluginServerInitCallback(); void MatterLaundryWasherModePluginServerInitCallback(); void MatterLevelControlPluginServerInitCallback(); diff --git a/components/esp_matter/zap_common/app/callback-stub.cpp b/components/esp_matter/zap_common/app/callback-stub.cpp index 8e7a75604..e5e975047 100644 --- a/components/esp_matter/zap_common/app/callback-stub.cpp +++ b/components/esp_matter/zap_common/app/callback-stub.cpp @@ -91,6 +91,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case app::Clusters::ElectricalMeasurement::Id: emberAfElectricalMeasurementClusterInitCallback(endpoint); break; + case app::Clusters::EnergyEvse::Id: + emberAfEnergyEvseClusterInitCallback(endpoint); + break; case app::Clusters::EthernetNetworkDiagnostics::Id: emberAfEthernetNetworkDiagnosticsClusterInitCallback(endpoint); break; @@ -136,6 +139,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case app::Clusters::KeypadInput::Id: emberAfKeypadInputClusterInitCallback(endpoint); break; + case app::Clusters::LaundryDryerControls::Id: + emberAfLaundryDryerControlsClusterInitCallback(endpoint); + break; case app::Clusters::LaundryWasherControls::Id: emberAfLaundryWasherControlsClusterInitCallback(endpoint); break; @@ -432,6 +438,11 @@ void __attribute__((weak)) emberAfElectricalMeasurementClusterInitCallback(Endpo // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfEnergyEvseClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfEthernetNetworkDiagnosticsClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -507,6 +518,11 @@ void __attribute__((weak)) emberAfKeypadInputClusterInitCallback(EndpointId endp // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfLaundryDryerControlsClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfLaundryWasherControlsClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/components/esp_matter/zap_common/zap-generated/access.h b/components/esp_matter/zap_common/zap-generated/access.h index 022dda718..f4ab30d07 100644 --- a/components/esp_matter/zap_common/zap-generated/access.h +++ b/components/esp_matter/zap_common/zap-generated/access.h @@ -65,6 +65,9 @@ /* Cluster: Door Lock, Attribute: WrongCodeEntryLimit, Privilege: view */ \ /* Cluster: Door Lock, Attribute: UserCodeTemporaryDisableTime, Privilege: view */ \ /* Cluster: Door Lock, Attribute: RequirePINforRemoteOperation, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: UserMaximumChargeCurrent, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: RandomizationDelayWindow, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: ApproximateEVEfficiency, Privilege: view */ \ /* Cluster: Window Covering, Attribute: Mode, Privilege: view */ \ /* Cluster: Pump Configuration and Control, Attribute: LifetimeRunningHours, Privilege: view */ \ /* Cluster: Pump Configuration and Control, Attribute: LifetimeEnergyConsumed, Privilege: view */ \ @@ -131,6 +134,9 @@ /* Cluster: Door Lock, Attribute: WrongCodeEntryLimit, Privilege: view */ \ /* Cluster: Door Lock, Attribute: UserCodeTemporaryDisableTime, Privilege: view */ \ /* Cluster: Door Lock, Attribute: RequirePINforRemoteOperation, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: UserMaximumChargeCurrent, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: RandomizationDelayWindow, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: ApproximateEVEfficiency, Privilege: view */ \ /* Cluster: Window Covering, Attribute: Mode, Privilege: view */ \ /* Cluster: Pump Configuration and Control, Attribute: LifetimeRunningHours, Privilege: view */ \ /* Cluster: Pump Configuration and Control, Attribute: LifetimeEnergyConsumed, Privilege: view */ \ @@ -197,6 +203,9 @@ /* Cluster: Door Lock, Attribute: WrongCodeEntryLimit, Privilege: view */ \ /* Cluster: Door Lock, Attribute: UserCodeTemporaryDisableTime, Privilege: view */ \ /* Cluster: Door Lock, Attribute: RequirePINforRemoteOperation, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: UserMaximumChargeCurrent, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: RandomizationDelayWindow, Privilege: view */ \ + /* Cluster: Energy EVSE, Attribute: ApproximateEVEfficiency, Privilege: view */ \ /* Cluster: Window Covering, Attribute: Mode, Privilege: view */ \ /* Cluster: Pump Configuration and Control, Attribute: LifetimeRunningHours, Privilege: view */ \ /* Cluster: Pump Configuration and Control, Attribute: LifetimeEnergyConsumed, Privilege: view */ \ @@ -260,6 +269,9 @@ 0x00000101, /* Cluster: Door Lock, Attribute: UserCodeTemporaryDisableTime, Privilege: administer */ \ 0x00000101, /* Cluster: Door Lock, Attribute: RequirePINforRemoteOperation, Privilege: administer */ \ 0x0000005C, /* Cluster: Smoke CO Alarm, Attribute: SmokeSensitivityLevel, Privilege: manage */ \ + 0x00000099, /* Cluster: Energy EVSE, Attribute: UserMaximumChargeCurrent, Privilege: manage */ \ + 0x00000099, /* Cluster: Energy EVSE, Attribute: RandomizationDelayWindow, Privilege: manage */ \ + 0x00000099, /* Cluster: Energy EVSE, Attribute: ApproximateEVEfficiency, Privilege: manage */ \ 0x00000102, /* Cluster: Window Covering, Attribute: Mode, Privilege: manage */ \ 0x00000200, /* Cluster: Pump Configuration and Control, Attribute: LifetimeRunningHours, Privilege: manage */ \ 0x00000200, /* Cluster: Pump Configuration and Control, Attribute: LifetimeEnergyConsumed, Privilege: manage */ \ @@ -331,6 +343,9 @@ 0x00000031, /* Cluster: Door Lock, Attribute: UserCodeTemporaryDisableTime, Privilege: administer */ \ 0x00000033, /* Cluster: Door Lock, Attribute: RequirePINforRemoteOperation, Privilege: administer */ \ 0x0000000B, /* Cluster: Smoke CO Alarm, Attribute: SmokeSensitivityLevel, Privilege: manage */ \ + 0x00000009, /* Cluster: Energy EVSE, Attribute: UserMaximumChargeCurrent, Privilege: manage */ \ + 0x0000000A, /* Cluster: Energy EVSE, Attribute: RandomizationDelayWindow, Privilege: manage */ \ + 0x00000027, /* Cluster: Energy EVSE, Attribute: ApproximateEVEfficiency, Privilege: manage */ \ 0x00000017, /* Cluster: Window Covering, Attribute: Mode, Privilege: manage */ \ 0x00000015, /* Cluster: Pump Configuration and Control, Attribute: LifetimeRunningHours, Privilege: manage */ \ 0x00000017, /* Cluster: Pump Configuration and Control, Attribute: LifetimeEnergyConsumed, Privilege: manage */ \ @@ -402,6 +417,9 @@ kMatterAccessPrivilegeAdminister, /* Cluster: Door Lock, Attribute: UserCodeTemporaryDisableTime, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Door Lock, Attribute: RequirePINforRemoteOperation, Privilege: administer */ \ kMatterAccessPrivilegeManage, /* Cluster: Smoke CO Alarm, Attribute: SmokeSensitivityLevel, Privilege: manage */ \ + kMatterAccessPrivilegeManage, /* Cluster: Energy EVSE, Attribute: UserMaximumChargeCurrent, Privilege: manage */ \ + kMatterAccessPrivilegeManage, /* Cluster: Energy EVSE, Attribute: RandomizationDelayWindow, Privilege: manage */ \ + kMatterAccessPrivilegeManage, /* Cluster: Energy EVSE, Attribute: ApproximateEVEfficiency, Privilege: manage */ \ kMatterAccessPrivilegeManage, /* Cluster: Window Covering, Attribute: Mode, Privilege: manage */ \ kMatterAccessPrivilegeManage, /* Cluster: Pump Configuration and Control, Attribute: LifetimeRunningHours, Privilege: manage */ \ kMatterAccessPrivilegeManage, /* Cluster: Pump Configuration and Control, Attribute: LifetimeEnergyConsumed, Privilege: manage */ \ diff --git a/components/esp_matter/zap_common/zap-generated/gen_config.h b/components/esp_matter/zap_common/zap-generated/gen_config.h index 28b77640c..b3d1876f8 100644 --- a/components/esp_matter/zap_common/zap-generated/gen_config.h +++ b/components/esp_matter/zap_common/zap-generated/gen_config.h @@ -196,6 +196,7 @@ #define EMBER_AF_FAN_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT FIXED_ENDPOINT_COUNT // used in fan control #define EMBER_AF_DISHWASHER_ALARM_CLUSTER_SERVER_ENDPOINT_COUNT FIXED_ENDPOINT_COUNT // used in dishwasher #define EMBER_AF_LAUNDRY_WASHER_CONTROLS_CLUSTER_SERVER_ENDPOINT_COUNT FIXED_ENDPOINT_COUNT // used in washer control +#define EMBER_AF_LAUNDRY_DRYER_CONTROLS_CLUSTER_SERVER_ENDPOINT_COUNT FIXED_ENDPOINT_COUNT //used in dryer control #define EMBER_AF_SAMPLE_MEI_CLUSTER_SERVER_ENDPOINT_COUNT FIXED_ENDPOINT_COUNT // used in sample-mei #define EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT FIXED_ENDPOINT_COUNT // used in scenes #define EMBER_AF_ELECTRICAL_ENERGY_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT FIXED_ENDPOINT_COUNT // used in electrical energy measuremnet diff --git a/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp b/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp index 633f08410..b455ed7a7 100644 --- a/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp +++ b/components/esp_matter_controller/logger/zap-generated/DataModelLogger.cpp @@ -2862,10 +2862,10 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("TargetTime", indent + 1, value.targetTime); + CHIP_ERROR err = LogValue("TargetTimeMinutesPastMidnight", indent + 1, value.targetTimeMinutesPastMidnight); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'TargetTime'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'TargetTimeMinutesPastMidnight'"); return err; } } @@ -2890,6 +2890,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::EnergyPreference::Structs::BalanceStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("Step", indent + 1, value.step); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Step'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("Label", indent + 1, value.label); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Label'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value) { @@ -5481,7 +5506,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 BooleanSensorConfiguration::Events::AlarmsStateChanged::DecodableType & value) + const BooleanStateConfiguration::Events::AlarmsStateChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { @@ -5505,9 +5530,17 @@ 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 BooleanSensorConfiguration::Events::SensorFault::DecodableType & value) + const BooleanStateConfiguration::Events::SensorFault::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("SensorFault", indent + 1, value.sensorFault); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SensorFault'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; @@ -5524,6 +5557,14 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return err; } } + { + CHIP_ERROR err = DataModelLogger::LogValue("ValveLevel", indent + 1, value.valveLevel); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ValveLevel'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; @@ -6751,8 +6792,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const GeneralDiagnostics::Commands::TimeSnapshotResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("systemTimeUs", indent + 1, value.systemTimeUs)); - ReturnErrorOnFailure(DataModelLogger::LogValue("UTCTimeUs", indent + 1, value.UTCTimeUs)); + ReturnErrorOnFailure(DataModelLogger::LogValue("systemTimeMs", indent + 1, value.systemTimeMs)); + ReturnErrorOnFailure(DataModelLogger::LogValue("posixTimeMs", indent + 1, value.posixTimeMs)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } @@ -7023,7 +7064,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Channel::Commands::ProgramGuideResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("channelPagingStruct", indent + 1, value.channelPagingStruct)); + ReturnErrorOnFailure(DataModelLogger::LogValue("paging", indent + 1, value.paging)); ReturnErrorOnFailure(DataModelLogger::LogValue("programList", indent + 1, value.programList)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; @@ -11550,55 +11591,75 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case BooleanSensorConfiguration::Id: { + case BooleanStateConfiguration::Id: { switch (path.mAttributeId) { - case BooleanSensorConfiguration::Attributes::SensitivityLevel::Id: { - chip::app::Clusters::BooleanSensorConfiguration::SensitivityEnum value; + case BooleanStateConfiguration::Attributes::CurrentSensitivityLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SensitivityLevel", 1, value); + return DataModelLogger::LogValue("CurrentSensitivityLevel", 1, value); } - case BooleanSensorConfiguration::Attributes::AlarmsActive::Id: { - chip::BitMask value; + case BooleanStateConfiguration::Attributes::SupportedSensitivityLevels::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedSensitivityLevels", 1, value); + } + case BooleanStateConfiguration::Attributes::DefaultSensitivityLevel::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DefaultSensitivityLevel", 1, value); + } + case BooleanStateConfiguration::Attributes::AlarmsActive::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AlarmsActive", 1, value); } - case BooleanSensorConfiguration::Attributes::AlarmsSuppressed::Id: { - chip::BitMask value; + case BooleanStateConfiguration::Attributes::AlarmsSuppressed::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AlarmsSuppressed", 1, value); } - case BooleanSensorConfiguration::Attributes::AlarmsEnabled::Id: { - chip::BitMask value; + case BooleanStateConfiguration::Attributes::AlarmsEnabled::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AlarmsEnabled", 1, value); } - case BooleanSensorConfiguration::Attributes::GeneratedCommandList::Id: { + case BooleanStateConfiguration::Attributes::AlarmsSupported::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AlarmsSupported", 1, value); + } + case BooleanStateConfiguration::Attributes::SensorFault::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SensorFault", 1, value); + } + case BooleanStateConfiguration::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("GeneratedCommandList", 1, value); } - case BooleanSensorConfiguration::Attributes::AcceptedCommandList::Id: { + case BooleanStateConfiguration::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AcceptedCommandList", 1, value); } - case BooleanSensorConfiguration::Attributes::EventList::Id: { + case BooleanStateConfiguration::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case BooleanSensorConfiguration::Attributes::AttributeList::Id: { + case BooleanStateConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AttributeList", 1, value); } - case BooleanSensorConfiguration::Attributes::FeatureMap::Id: { + case BooleanStateConfiguration::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BooleanSensorConfiguration::Attributes::ClusterRevision::Id: { + case BooleanStateConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11614,6 +11675,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("OpenDuration", 1, value); } + case ValveConfigurationAndControl::Attributes::DefaultOpenDuration::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DefaultOpenDuration", 1, value); + } case ValveConfigurationAndControl::Attributes::AutoCloseTime::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -11634,11 +11700,6 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TargetState", 1, value); } - case ValveConfigurationAndControl::Attributes::StartUpState::Id: { - chip::app::Clusters::ValveConfigurationAndControl::ValveStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpState", 1, value); - } case ValveConfigurationAndControl::Attributes::CurrentLevel::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -11649,10 +11710,10 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TargetLevel", 1, value); } - case ValveConfigurationAndControl::Attributes::OpenLevel::Id: { - chip::app::DataModel::Nullable value; + case ValveConfigurationAndControl::Attributes::DefaultOpenLevel::Id: { + chip::Percent value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OpenLevel", 1, value); + return DataModelLogger::LogValue("DefaultOpenLevel", 1, value); } case ValveConfigurationAndControl::Attributes::ValveFault::Id: { chip::BitMask value; @@ -12031,17 +12092,17 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("SessionID", 1, value); } case EnergyEvse::Attributes::SessionDuration::Id: { - uint32_t value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SessionDuration", 1, value); } case EnergyEvse::Attributes::SessionEnergyCharged::Id: { - int64_t value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SessionEnergyCharged", 1, value); } case EnergyEvse::Attributes::SessionEnergyDischarged::Id: { - int64_t value; + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SessionEnergyDischarged", 1, value); } @@ -12078,6 +12139,67 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } + case EnergyPreference::Id: { + switch (path.mAttributeId) + { + case EnergyPreference::Attributes::EnergyBalances::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnergyBalances", 1, value); + } + case EnergyPreference::Attributes::CurrentEnergyBalance::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentEnergyBalance", 1, value); + } + case EnergyPreference::Attributes::EnergyPriorities::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EnergyPriorities", 1, value); + } + case EnergyPreference::Attributes::LowPowerModeSensitivities::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LowPowerModeSensitivities", 1, value); + } + case EnergyPreference::Attributes::CurrentLowPowerModeSensitivity::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentLowPowerModeSensitivity", 1, value); + } + case EnergyPreference::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GeneratedCommandList", 1, value); + } + case EnergyPreference::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AcceptedCommandList", 1, value); + } + case EnergyPreference::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case EnergyPreference::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AttributeList", 1, value); + } + case EnergyPreference::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case EnergyPreference::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } case DoorLock::Id: { switch (path.mAttributeId) { @@ -17796,16 +17918,16 @@ CHIP_ERROR DataModelLogger::LogEvent(const chip::app::EventHeader & header, chip } break; } - case BooleanSensorConfiguration::Id: { + case BooleanStateConfiguration::Id: { switch (header.mPath.mEventId) { - case BooleanSensorConfiguration::Events::AlarmsStateChanged::Id: { - chip::app::Clusters::BooleanSensorConfiguration::Events::AlarmsStateChanged::DecodableType value; + case BooleanStateConfiguration::Events::AlarmsStateChanged::Id: { + chip::app::Clusters::BooleanStateConfiguration::Events::AlarmsStateChanged::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AlarmsStateChanged", 1, value); } - case BooleanSensorConfiguration::Events::SensorFault::Id: { - chip::app::Clusters::BooleanSensorConfiguration::Events::SensorFault::DecodableType value; + case BooleanStateConfiguration::Events::SensorFault::Id: { + chip::app::Clusters::BooleanStateConfiguration::Events::SensorFault::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SensorFault", 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 c208cac43..8828a1149 100644 --- a/components/esp_matter_controller/logger/zap-generated/DataModelLogger.h +++ b/components/esp_matter_controller/logger/zap-generated/DataModelLogger.h @@ -238,6 +238,9 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::EnergyEvse::Structs::ChargingTargetStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::EnergyPreference::Structs::BalanceStruct::DecodableType & value); + static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value); @@ -462,11 +465,10 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::RvcOperationalState::Events::OperationalError::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::RvcOperationalState::Events::OperationCompletion::DecodableType & value); -static CHIP_ERROR -LogValue(const char * label, size_t indent, - const chip::app::Clusters::BooleanSensorConfiguration::Events::AlarmsStateChanged::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::BooleanSensorConfiguration::Events::SensorFault::DecodableType & value); + const chip::app::Clusters::BooleanStateConfiguration::Events::AlarmsStateChanged::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::BooleanStateConfiguration::Events::SensorFault::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ValveConfigurationAndControl::Events::ValveStateChanged::DecodableType & value); diff --git a/connectedhomeip/connectedhomeip b/connectedhomeip/connectedhomeip index 8e3d98c03..d38a6496c 160000 --- a/connectedhomeip/connectedhomeip +++ b/connectedhomeip/connectedhomeip @@ -1 +1 @@ -Subproject commit 8e3d98c03904c14baeac495113eb58721797e838 +Subproject commit d38a6496c3abeb3daf6429b1f11172cfa0112a1a diff --git a/examples/.build-rules.yml b/examples/.build-rules.yml index 1efbdfa6c..103b25de7 100644 --- a/examples/.build-rules.yml +++ b/examples/.build-rules.yml @@ -5,7 +5,7 @@ # JIRA tracker: CON-942 examples/blemesh_bridge: enable: - - if: IDF_TARGET in [""] + - if: IDF_TARGET in ["esp32", "esp32c3"] temporary: true reason: the other targets are not tested yet diff --git a/examples/blemesh_bridge/sdkconfig.defaults b/examples/blemesh_bridge/sdkconfig.defaults index 5dacb51ea..5365e7d09 100644 --- a/examples/blemesh_bridge/sdkconfig.defaults +++ b/examples/blemesh_bridge/sdkconfig.defaults @@ -39,6 +39,7 @@ CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n # Enable External Platform CONFIG_CHIP_ENABLE_EXTERNAL_PLATFORM=y CONFIG_CHIP_EXTERNAL_PLATFORM_DIR="../../../../examples/common/blemesh_platform/platform/ESP32_custom" +CONFIG_CHIP_EXTERNAL_PLATFORM_INCLUDE_DIR="../../../../examples/common/blemesh_platform" # Enable lwIP route hooks CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y diff --git a/examples/common/blemesh_platform/platform/ESP32_custom/BUILD.gn b/examples/common/blemesh_platform/platform/ESP32_custom/BUILD.gn index a78d2fcf7..2a63d3023 100644 --- a/examples/common/blemesh_platform/platform/ESP32_custom/BUILD.gn +++ b/examples/common/blemesh_platform/platform/ESP32_custom/BUILD.gn @@ -37,10 +37,6 @@ declare_args() { chip_enable_route_hook = false } -config("ESP32_custom_include") { - include_dirs = [ "../../" ] -} - buildconfig_header("custom_buildconfig") { header = "CHIPDeviceBuildConfig.h" header_dir = "platform" @@ -64,6 +60,12 @@ buildconfig_header("custom_buildconfig") { "CHIP_PLATFORM_CONFIG_INCLUDE=", "INET_CONFIG_INCLUDE=", "SYSTEM_PLATFORM_CONFIG_INCLUDE=", + "EXTERNAL_CONFIGURATIONMANAGERIMPL_HEADER=", + "EXTERNAL_CHIPDEVICEPLATFORMEVENT_HEADER=", + "EXTERNAL_CONNECTIVITYMANAGERIMPL_HEADER=", + "EXTERNAL_BLEMANAGERIMPL_HEADER=", + "EXTERNAL_KEYVALUESTOREMANAGERIMPL_HEADER=", + "EXTERNAL_PLATFORMMANAGERIMPL_HEADER=", "CHIP_CONFIG_SOFTWARE_VERSION_NUMBER=${chip_config_software_version_number}", "CHIP_DEVICE_CONFIG_MAX_DISCOVERED_IP_ADDRESSES=${chip_max_discovered_ip_addresses}", ] @@ -77,10 +79,6 @@ group("platform_buildconfig") { public_deps = [ ":custom_buildconfig", ] - - public_configs = [ - ":ESP32_custom_include", - ] } static_library("ESP32_custom") { @@ -122,10 +120,6 @@ static_library("ESP32_custom") { ":platform_buildconfig", ] - public_configs = [ - ":ESP32_custom_include", - ] - if (chip_enable_ota_requestor) { sources += [ "OTAImageProcessorImpl.cpp", diff --git a/examples/common/external_platform/BUILD.gn b/examples/common/external_platform/BUILD.gn index 17f87e4b2..461c5b038 100644 --- a/examples/common/external_platform/BUILD.gn +++ b/examples/common/external_platform/BUILD.gn @@ -19,7 +19,7 @@ import("${chip_root}/src/platform/device.gni") declare_args() { # By default use default/example implementation of CommissionableDataProvider, - # DeviceAttestationCredentialsProvider and DeviceInstanceInforProvider + # DeviceAttestationCredentialsProvider and DeviceInstanceInfoProvider chip_use_transitional_commissionable_data_provider = true chip_use_factory_data_provider = false chip_use_device_info_provider = false @@ -31,10 +31,6 @@ declare_args() { chip_enable_route_hook = false } -config("ESP32_custom_include") { - include_dirs = [ "../../" ] -} - buildconfig_header("custom_buildconfig") { header = "CHIPDeviceBuildConfig.h" header_dir = "platform" @@ -57,6 +53,12 @@ buildconfig_header("custom_buildconfig") { "CHIP_PLATFORM_CONFIG_INCLUDE=", "INET_CONFIG_INCLUDE=", "SYSTEM_PLATFORM_CONFIG_INCLUDE=", + "EXTERNAL_CONFIGURATIONMANAGERIMPL_HEADER=", + "EXTERNAL_CHIPDEVICEPLATFORMEVENT_HEADER=", + "EXTERNAL_CONNECTIVITYMANAGERIMPL_HEADER=", + "EXTERNAL_BLEMANAGERIMPL_HEADER=", + "EXTERNAL_KEYVALUESTOREMANAGERIMPL_HEADER=", + "EXTERNAL_PLATFORMMANAGERIMPL_HEADER=", "CHIP_CONFIG_SOFTWARE_VERSION_NUMBER=${chip_config_software_version_number}", "CHIP_DEVICE_CONFIG_MAX_DISCOVERED_IP_ADDRESSES=${chip_max_discovered_ip_addresses}", ] @@ -70,10 +72,6 @@ group("platform_buildconfig") { public_deps = [ ":custom_buildconfig", ] - - public_configs = [ - ":ESP32_custom_include", - ] } static_library("ESP32_custom") { @@ -113,10 +111,6 @@ static_library("ESP32_custom") { ":platform_buildconfig", ] - public_configs = [ - ":ESP32_custom_include", - ] - if (chip_enable_ota_requestor) { sources += [ "OTAImageProcessorImpl.cpp", diff --git a/examples/light/sdkconfig.defaults.ext_plat_ci b/examples/light/sdkconfig.defaults.ext_plat_ci index 11702527b..7d75d598c 100644 --- a/examples/light/sdkconfig.defaults.ext_plat_ci +++ b/examples/light/sdkconfig.defaults.ext_plat_ci @@ -37,6 +37,7 @@ CONFIG_BUTTON_LONG_PRESS_TIME_MS=5000 # External Platform CONFIG_CHIP_ENABLE_EXTERNAL_PLATFORM=y CONFIG_CHIP_EXTERNAL_PLATFORM_DIR="../../../../../platform/ESP32_custom" +CONFIG_CHIP_EXTERNAL_PLATFORM_INCLUDE_DIR="../../../../.." # disable softap by default CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n diff --git a/examples/refrigerator/main/CMakeLists.txt b/examples/refrigerator/main/CMakeLists.txt index a2096b89c..84bff0916 100644 --- a/examples/refrigerator/main/CMakeLists.txt +++ b/examples/refrigerator/main/CMakeLists.txt @@ -2,7 +2,7 @@ set(SRC_DIRS_LIST "." "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/src" ) -set(INCLUDE_DIRS_LIST "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/include" ) +set(INCLUDE_DIRS_LIST "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/include") set(exclude_srcs_list "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp" "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/src/bridged-actions-stub.cpp" @@ -12,6 +12,7 @@ set(exclude_srcs_list "${MATTER_SDK_PATH}/examples/all-clusters-app/all-cluste "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/src/resource-monitoring-instances.cpp" "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/src/smco-stub.cpp" "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp" + "${MATTER_SDK_PATH}/examples/all-clusters-app/all-clusters-common/src/energy-evse-stub.cpp" ) idf_component_register(SRC_DIRS ${SRC_DIRS_LIST} diff --git a/examples/zap_light/CMakeLists.txt b/examples/zap_light/CMakeLists.txt index ccdcce1e4..7c68f8fc7 100644 --- a/examples/zap_light/CMakeLists.txt +++ b/examples/zap_light/CMakeLists.txt @@ -76,3 +76,4 @@ idf_build_set_property(CXX_COMPILE_OPTIONS "-DEMBER_AF_SAMPLE_MEI_CLUSTER_SERVER idf_build_set_property(CXX_COMPILE_OPTIONS "-DEMBER_AF_CONTENT_APP_OBSERVER_CLUSTER_SERVER_ENDPOINT_COUNT=1" APPEND) idf_build_set_property(CXX_COMPILE_OPTIONS "-DEMBER_AF_CONTENT_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT=1" APPEND) idf_build_set_property(CXX_COMPILE_OPTIONS "-DEMBER_AF_ELECTRICAL_ENERGY_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT=1" APPEND) +idf_build_set_property(CXX_COMPILE_OPTIONS "-DEMBER_AF_LAUNDRY_DRYER_CONTROLS_CLUSTER_SERVER_ENDPOINT_COUNT=1" APPEND)