diff --git a/components/esp_matter/esp_matter_endpoint.cpp b/components/esp_matter/esp_matter_endpoint.cpp index 0951f3be8..df673963c 100644 --- a/components/esp_matter/esp_matter_endpoint.cpp +++ b/components/esp_matter/esp_matter_endpoint.cpp @@ -1744,6 +1744,7 @@ esp_err_t add(endpoint_t *endpoint, config_t *config) cluster::energy_evse::create(endpoint, &(config->energy_evse), CLUSTER_FLAG_SERVER, ESP_MATTER_NONE_FEATURE_ID); energy_evse_mode::create(endpoint, &(config->energy_evse_mode), CLUSTER_FLAG_SERVER); + cluster::device_energy_management::create(endpoint, &(config->device_energy_management), CLUSTER_FLAG_SERVER, ESP_MATTER_NONE_FEATURE_ID); return ESP_OK; } diff --git a/components/esp_matter/esp_matter_endpoint.h b/components/esp_matter/esp_matter_endpoint.h index 979b9a5d8..84a4c5ee3 100644 --- a/components/esp_matter/esp_matter_endpoint.h +++ b/components/esp_matter/esp_matter_endpoint.h @@ -20,7 +20,7 @@ /* Replace these with IDs from submodule whenever they are implemented */ #define ESP_MATTER_ROOT_NODE_DEVICE_TYPE_ID 0x0016 -#define ESP_MATTER_ROOT_NODE_DEVICE_TYPE_VERSION 2 +#define ESP_MATTER_ROOT_NODE_DEVICE_TYPE_VERSION 3 #define ESP_MATTER_OTA_REQUESTOR_DEVICE_TYPE_ID 0x0012 #define ESP_MATTER_OTA_REQUESTOR_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_OTA_PROVIDER_DEVICE_TYPE_ID 0x0014 @@ -28,9 +28,9 @@ #define ESP_MATTER_POWER_SOURCE_DEVICE_TYPE_ID 0x0011 #define ESP_MATTER_POWER_SOURCE_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_AGGREGATOR_DEVICE_TYPE_ID 0x000E -#define ESP_MATTER_AGGREGATOR_DEVICE_TYPE_VERSION 1 +#define ESP_MATTER_AGGREGATOR_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_BRIDGED_NODE_DEVICE_TYPE_ID 0x0013 -#define ESP_MATTER_BRIDGED_NODE_DEVICE_TYPE_VERSION 2 +#define ESP_MATTER_BRIDGED_NODE_DEVICE_TYPE_VERSION 3 #define ESP_MATTER_CONTROL_BRIDGE_DEVICE_TYPE_ID 0x0840 #define ESP_MATTER_CONTROL_BRIDGE_DEVICE_TYPE_VERSION 3 @@ -60,7 +60,7 @@ #define ESP_MATTER_TEMPERATURE_SENSOR_DEVICE_TYPE_ID 0x0302 #define ESP_MATTER_TEMPERATURE_SENSOR_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_OCCUPANCY_SENSOR_DEVICE_TYPE_ID 0x0107 -#define ESP_MATTER_OCCUPANCY_SENSOR_DEVICE_TYPE_VERSION 3 +#define ESP_MATTER_OCCUPANCY_SENSOR_DEVICE_TYPE_VERSION 4 #define ESP_MATTER_CONTACT_SENSOR_DEVICE_TYPE_ID 0x0015 #define ESP_MATTER_CONTACT_SENSOR_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_LIGHT_SENSOR_DEVICE_TYPE_ID 0x0106 @@ -74,9 +74,9 @@ #define ESP_MATTER_ROOM_AIR_CONDITIONER_DEVICE_TYPE_ID 0x0072 #define ESP_MATTER_ROOM_AIR_CONDITIONER_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_REFRIGERATOR_DEVICE_TYPE_ID 0x0070 -#define ESP_MATTER_REFRIGERATOR_DEVICE_TYPE_VERSION 1 +#define ESP_MATTER_REFRIGERATOR_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_TEMPERATURE_CONTROLLED_CABINET_DEVICE_TYPE_ID 0x0071 -#define ESP_MATTER_TEMPERATURE_CONTROLLED_CABINET_DEVICE_TYPE_VERSION 2 +#define ESP_MATTER_TEMPERATURE_CONTROLLED_CABINET_DEVICE_TYPE_VERSION 3 #define ESP_MATTER_LAUNDRY_WASHER_DEVICE_TYPE_ID 0x0073 #define ESP_MATTER_LAUNDRY_WASHER_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_DISH_WASHER_DEVICE_TYPE_ID 0x0075 @@ -91,11 +91,11 @@ #define ESP_MATTER_FAN_DEVICE_TYPE_ID 0x002B #define ESP_MATTER_FAN_DEVICE_TYPE_VERSION 3 #define ESP_MATTER_THERMOSTAT_DEVICE_TYPE_ID 0x0301 -#define ESP_MATTER_THERMOSTAT_DEVICE_TYPE_VERSION 3 +#define ESP_MATTER_THERMOSTAT_DEVICE_TYPE_VERSION 4 #define ESP_MATTER_AIR_QUALITY_SENSOR_DEVICE_TYPE_ID 0x002C #define ESP_MATTER_AIR_QUALITY_SENSOR_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_AIR_PURIFIER_DEVICE_TYPE_ID 0x002D -#define ESP_MATTER_AIR_PURIFIER_DEVICE_TYPE_VERSION 1 +#define ESP_MATTER_AIR_PURIFIER_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_DOOR_LOCK_DEVICE_TYPE_ID 0x000A #define ESP_MATTER_DOOR_LOCK_DEVICE_TYPE_VERSION 3 #define ESP_MATTER_WINDOW_COVERING_DEVICE_TYPE_ID 0x0202 @@ -107,7 +107,7 @@ #define ESP_MATTER_MODE_SELECT_DEVICE_TYPE_ID 0x0027 #define ESP_MATTER_MODE_SELECT_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_ROBOTIC_VACCUM_CLEANER_DEVICE_TYPE_ID 0x0074 -#define ESP_MATTER_ROBOTIC_VACCUM_CLEANER_DEVICE_TYPE_VERSION 2 +#define ESP_MATTER_ROBOTIC_VACCUM_CLEANER_DEVICE_TYPE_VERSION 3 #define ESP_MATTER_WATER_LEAK_DETECTOR_DEVICE_TYPE_ID 0x0043 #define ESP_MATTER_WATER_LEAK_DETECTOR_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_RAIN_SENSOR_DEVICE_TYPE_ID 0x0044 @@ -123,13 +123,13 @@ #define ESP_MATTER_WATER_FREEZE_DETECTOR_DEVICE_TYPE_ID 0x0041 #define ESP_MATTER_WATER_FREEZE_DETECTOR_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_ENERGY_EVSE_DEVICE_TYPE_ID 0x050C -#define ESP_MATTER_ENERGY_EVSE_DEVICE_TYPE_VERSION 1 +#define ESP_MATTER_ENERGY_EVSE_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_EXTRACTOR_HOOD_DEVICE_TYPE_ID 0x007A #define ESP_MATTER_EXTRACTOR_HOOD_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_WATER_VALVE_DEVICE_TYPE_ID 0x0042 #define ESP_MATTER_WATER_VALVE_DEVICE_TYPE_VERSION 1 #define ESP_MATTER_DEVICE_ENERGY_MANAGEMENT_DEVICE_TYPE_ID 0x050D -#define ESP_MATTER_DEVICE_ENERGY_MANAGEMENT_DEVICE_TYPE_VERSION 1 +#define ESP_MATTER_DEVICE_ENERGY_MANAGEMENT_DEVICE_TYPE_VERSION 2 #define ESP_MATTER_SECONDARY_NETWORK_INTERFACE_DEVICE_TYPE_ID 0x0019 #define ESP_MATTER_SECONDARY_NETWORK_INTERFACE_DEVICE_TYPE_VERSION 1 @@ -724,6 +724,7 @@ typedef struct config { cluster::descriptor::config_t descriptor; cluster::energy_evse::config_t energy_evse; cluster::energy_evse_mode::config_t energy_evse_mode; + cluster::device_energy_management::config_t device_energy_management; } config_t; uint32_t get_device_type_id();