diff --git a/components/esp_matter_controller/core/esp_matter_controller_client.cpp b/components/esp_matter_controller/core/esp_matter_controller_client.cpp index 4cca969bb..bf2760f8d 100644 --- a/components/esp_matter_controller/core/esp_matter_controller_client.cpp +++ b/components/esp_matter_controller/core/esp_matter_controller_client.cpp @@ -86,6 +86,7 @@ esp_err_t matter_controller_client::init(NodeId node_id, FabricId fabric_id, uin CHIP_NO_ERROR, ESP_FAIL, TAG, "Failed to initialize DeviceControllerFactory"); auto *system_state = chip::Controller::DeviceControllerFactory::GetInstance().GetSystemState(); + m_group_data_provider_listener.Init(system_state); auto engine = chip::app::InteractionModelEngine::GetInstance(); ESP_RETURN_ON_FALSE(engine, ESP_ERR_INVALID_STATE, TAG, "No interaction model engine"); ESP_RETURN_ON_FALSE(m_icd_check_in_delegate.Init(&m_icd_client_storage, engine) == CHIP_NO_ERROR, ESP_FAIL, TAG, diff --git a/components/esp_matter_controller/core/esp_matter_controller_client.h b/components/esp_matter_controller/core/esp_matter_controller_client.h index ffb731b87..b1c4114bb 100644 --- a/components/esp_matter_controller/core/esp_matter_controller_client.h +++ b/components/esp_matter_controller/core/esp_matter_controller_client.h @@ -161,7 +161,7 @@ private: public: GroupDataProviderListener() {} - CHIP_ERROR Init(chip::Controller::DeviceControllerSystemState *systemState) + CHIP_ERROR Init(const chip::Controller::DeviceControllerSystemState *systemState) { VerifyOrReturnError(systemState != nullptr, CHIP_ERROR_INVALID_ARGUMENT); @@ -172,6 +172,7 @@ private: void OnGroupAdded(chip::FabricIndex fabric_index, const chip::Credentials::GroupDataProvider::GroupInfo &new_group) override { + VerifyOrReturn(mSystemState); auto *fabricTable = mSystemState->Fabrics(); if (!fabricTable) { return; @@ -192,6 +193,7 @@ private: void OnGroupRemoved(chip::FabricIndex fabric_index, const chip::Credentials::GroupDataProvider::GroupInfo &old_group) override { + VerifyOrReturn(mSystemState); auto *fabricTable = mSystemState->Fabrics(); if (!fabricTable) { return; @@ -207,7 +209,7 @@ private: }; private: - chip::Controller::DeviceControllerSystemState *mSystemState; + const chip::Controller::DeviceControllerSystemState *mSystemState; }; matter_controller_client() {} diff --git a/examples/light_network_prov/sdkconfig.defaults b/examples/light_network_prov/sdkconfig.defaults index 21da3a9c0..230ee4be1 100644 --- a/examples/light_network_prov/sdkconfig.defaults +++ b/examples/light_network_prov/sdkconfig.defaults @@ -80,3 +80,103 @@ CONFIG_ESP_MATTER_MAX_DYNAMIC_ENDPOINT_COUNT=2 # Enable Newlib nano format for flash optimization CONFIG_NEWLIB_NANO_FORMAT=y + +# Exclude unused clusters to optimize flash and memory usage +CONFIG_SUPPORT_ACCOUNT_LOGIN_CLUSTER=n +CONFIG_SUPPORT_ACTIVATED_CARBON_FILTER_MONITORING_CLUSTER=n +CONFIG_SUPPORT_AIR_QUALITY_CLUSTER=n +CONFIG_SUPPORT_APPLICATION_BASIC_CLUSTER=n +CONFIG_SUPPORT_APPLICATION_LAUNCHER_CLUSTER=n +CONFIG_SUPPORT_AUDIO_OUTPUT_CLUSTER=n +CONFIG_SUPPORT_BOOLEAN_STATE_CONFIGURATION_CLUSTER=n +CONFIG_SUPPORT_BRIDGED_DEVICE_BASIC_INFORMATION_CLUSTER=n +CONFIG_SUPPORT_CAMERA_AV_SETTINGS_USER_LEVEL_MANAGEMENT_CLUSTER=n +CONFIG_SUPPORT_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_CHANNEL_CLUSTER=n +CONFIG_SUPPORT_CHIME_CLUSTER=n +CONFIG_SUPPORT_CLOSURE_CONTROL_CLUSTER=n +CONFIG_SUPPORT_CLOSURE_DIMENSION_CLUSTER=n +CONFIG_SUPPORT_COMMISSIONER_CONTROL_CLUSTER=n +CONFIG_SUPPORT_CONTENT_LAUNCHER_CLUSTER=n +CONFIG_SUPPORT_CONTENT_CONTROL_CLUSTER=n +CONFIG_SUPPORT_CONTENT_APP_OBSERVER_CLUSTER=n +CONFIG_SUPPORT_DEVICE_ENERGY_MANAGEMENT_CLUSTER=n +CONFIG_SUPPORT_DEVICE_ENERGY_MANAGEMENT_MODE_CLUSTER=n +CONFIG_SUPPORT_DIAGNOSTIC_LOGS_CLUSTER=n +CONFIG_SUPPORT_DISHWASHER_ALARM_CLUSTER=n +CONFIG_SUPPORT_DISHWASHER_MODE_CLUSTER=n +CONFIG_SUPPORT_MICROWAVE_OVEN_MODE_CLUSTER=n +CONFIG_SUPPORT_DOOR_LOCK_CLUSTER=n +CONFIG_SUPPORT_ECOSYSTEM_INFORMATION_CLUSTER=n +CONFIG_SUPPORT_ELECTRICAL_ENERGY_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_ELECTRICAL_POWER_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_ENERGY_EVSE_CLUSTER=n +CONFIG_SUPPORT_ENERGY_EVSE_MODE_CLUSTER=n +CONFIG_SUPPORT_ENERGY_PREFERENCE_CLUSTER=n +CONFIG_SUPPORT_FAN_CONTROL_CLUSTER=n +CONFIG_SUPPORT_FAULT_INJECTION_CLUSTER=n +CONFIG_SUPPORT_FIXED_LABEL_CLUSTER=n +CONFIG_SUPPORT_FORMALDEHYDE_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_HEPA_FILTER_MONITORING_CLUSTER=n +CONFIG_SUPPORT_ICD_MANAGEMENT_CLUSTER=n +CONFIG_SUPPORT_KEYPAD_INPUT_CLUSTER=n +CONFIG_SUPPORT_LAUNDRY_WASHER_MODE_CLUSTER=n +CONFIG_SUPPORT_LOCALIZATION_CONFIGURATION_CLUSTER=n +CONFIG_SUPPORT_LOW_POWER_CLUSTER=n +CONFIG_SUPPORT_MEDIA_INPUT_CLUSTER=n +CONFIG_SUPPORT_MEDIA_PLAYBACK_CLUSTER=n +CONFIG_SUPPORT_MICROWAVE_OVEN_CONTROL_CLUSTER=n +CONFIG_SUPPORT_MESSAGES_CLUSTER=n +CONFIG_SUPPORT_MODE_SELECT_CLUSTER=n +CONFIG_SUPPORT_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_SAMPLE_MEI_CLUSTER=n +CONFIG_SUPPORT_OCCUPANCY_SENSING_CLUSTER=n +CONFIG_SUPPORT_POWER_TOPOLOGY_CLUSTER=n +CONFIG_SUPPORT_OPERATIONAL_STATE_CLUSTER=n +CONFIG_SUPPORT_OPERATIONAL_STATE_OVEN_CLUSTER=n +CONFIG_SUPPORT_OPERATIONAL_STATE_RVC_CLUSTER=n +CONFIG_SUPPORT_OVEN_MODE_CLUSTER=n +CONFIG_SUPPORT_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_PM10_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_PM1_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_PM2_5_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_POWER_SOURCE_CLUSTER=n +CONFIG_SUPPORT_POWER_SOURCE_CONFIGURATION_CLUSTER=n +CONFIG_SUPPORT_PUMP_CONFIGURATION_AND_CONTROL_CLUSTER=n +CONFIG_SUPPORT_RADON_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_REFRIGERATOR_ALARM_CLUSTER=n +CONFIG_SUPPORT_REFRIGERATOR_AND_TEMPERATURE_CONTROLLED_CABINET_MODE_CLUSTER=n +CONFIG_SUPPORT_RVC_CLEAN_MODE_CLUSTER=n +CONFIG_SUPPORT_RVC_RUN_MODE_CLUSTER=n +CONFIG_SUPPORT_SERVICE_AREA_CLUSTER=n +CONFIG_SUPPORT_SMOKE_CO_ALARM_CLUSTER=n +CONFIG_SUPPORT_SOFTWARE_DIAGNOSTICS_CLUSTER=n +CONFIG_SUPPORT_SWITCH_CLUSTER=n +CONFIG_SUPPORT_TARGET_NAVIGATOR_CLUSTER=n +CONFIG_SUPPORT_TEMPERATURE_CONTROL_CLUSTER=n +CONFIG_SUPPORT_THERMOSTAT_CLUSTER=n +CONFIG_SUPPORT_THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER=n +CONFIG_SUPPORT_THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER=n +CONFIG_SUPPORT_THREAD_NETWORK_DIRECTORY_CLUSTER=n +CONFIG_SUPPORT_TIME_FORMAT_LOCALIZATION_CLUSTER=n +CONFIG_SUPPORT_TIME_SYNCHRONIZATION_CLUSTER=n +CONFIG_SUPPORT_TIMER_CLUSTER=n +CONFIG_SUPPORT_TVOC_CONCENTRATION_MEASUREMENT_CLUSTER=n +CONFIG_SUPPORT_UNIT_TESTING_CLUSTER=n +CONFIG_SUPPORT_USER_LABEL_CLUSTER=n +CONFIG_SUPPORT_VALVE_CONFIGURATION_AND_CONTROL_CLUSTER=n +CONFIG_SUPPORT_WAKE_ON_LAN_CLUSTER=n +CONFIG_SUPPORT_LAUNDRY_WASHER_CONTROLS_CLUSTER=n +CONFIG_SUPPORT_LAUNDRY_DRYER_CONTROLS_CLUSTER=n +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 +CONFIG_SUPPORT_COMMODITY_METERING_CLUSTER=n +CONFIG_SUPPORT_COMMODITY_TARIFF_CLUSTER=n +CONFIG_SUPPORT_PUSH_AV_STREAM_TRANSPORT_CLUSTER=n