components/esp_matter: add electrical_grid_conditions cluster in esp_matter

This commit is contained in:
mahesh
2025-12-23 11:45:46 +05:30
parent 58d66e42b3
commit a192e42299
11 changed files with 144 additions and 0 deletions
@@ -5327,5 +5327,29 @@ attribute_t *create_maximum_metered_quantities(cluster_t *cluster, nullable<uint
} /* commodity_metering */
namespace electrical_grid_conditions {
namespace attribute {
attribute_t *create_local_generation_available(cluster_t *cluster, nullable<bool> value)
{
return esp_matter::attribute::create(cluster, ElectricalGridConditions::Attributes::LocalGenerationAvailable::Id,
ATTRIBUTE_FLAG_WRITABLE | ATTRIBUTE_FLAG_MANAGED_INTERNALLY | ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_bool(value));
}
attribute_t *create_current_conditions(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, ElectricalGridConditions::Attributes::CurrentConditions::Id,
ATTRIBUTE_FLAG_MANAGED_INTERNALLY | ATTRIBUTE_FLAG_NULLABLE, esp_matter_array(value, length, count));
}
attribute_t *create_forecast_conditions(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, ElectricalGridConditions::Attributes::ForecastConditions::Id,
ATTRIBUTE_FLAG_MANAGED_INTERNALLY, esp_matter_array(value, length, count));
}
} /* attribute */
} /* electrical_grid_conditions */
} /* cluster */
} /* esp_matter */