Merge branch 'appliance-dev-types' into 'main'

Add air purifier, air quality sensor, dish washer device types

See merge request app-frameworks/esp-matter!484
This commit is contained in:
Hrishikesh Dhayagude
2023-10-27 23:55:43 +08:00
15 changed files with 5333 additions and 215 deletions
+9
View File
@@ -86,6 +86,15 @@ Features
- RainMaker integration.
- Zigbee to Matter and BLE Mesh to Matter Bridge.
# 25-Sep-2023
API Change
```
esp_err_t add(endpoint_t *endpoint, config_t *config)
```
- Above API returns the esp_err instread of endpoint.
Known Issues
------------
- BLE memory is not freed if the device has already been commissioned on bootup.
@@ -1900,6 +1900,918 @@ attribute_t *create_ac_capacity_format(cluster_t *cluster, uint8_t value)
} /* attribute */
} /* thermostat */
namespace air_quality {
namespace attribute {
attribute_t *create_air_quality(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, AirQuality::Attributes::AirQuality::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
} /* attribute */
} /* air_quality */
namespace hepa_filter_monitoring {
namespace attribute {
attribute_t *create_condition(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, HepaFilterMonitoring::Attributes::Condition::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_uint8(value));
}
attribute_t *create_degradation_direction(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, HepaFilterMonitoring::Attributes::DegradationDirection::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
attribute_t *create_change_indication(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, HepaFilterMonitoring::Attributes::ChangeIndication::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
attribute_t *create_in_place_indicator(cluster_t *cluster, bool value)
{
return esp_matter::attribute::create(cluster, HepaFilterMonitoring::Attributes::InPlaceIndicator::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_bool(value));
}
attribute_t *create_last_change_time(cluster_t *cluster, nullable<uint8_t> value)
{
return esp_matter::attribute::create(cluster, HepaFilterMonitoring::Attributes::LastChangedTime::Id,
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE,
esp_matter_nullable_uint8(value));
}
attribute_t *create_replacement_product_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, HepaFilterMonitoring::Attributes::ReplacementProductList::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_array(value, length, count));
}
} /* attribute */
} /* hepa_filter_monitoring */
namespace activated_carbon_filter_monitoring {
namespace attribute {
attribute_t *create_condition(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, ActivatedCarbonFilterMonitoring::Attributes::Condition::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_uint8(value));
}
attribute_t *create_degradation_direction(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, ActivatedCarbonFilterMonitoring::Attributes::DegradationDirection::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
attribute_t *create_change_indication(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, ActivatedCarbonFilterMonitoring::Attributes::ChangeIndication::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
attribute_t *create_in_place_indicator(cluster_t *cluster, bool value)
{
return esp_matter::attribute::create(cluster, ActivatedCarbonFilterMonitoring::Attributes::InPlaceIndicator::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_bool(value));
}
attribute_t *create_last_change_time(cluster_t *cluster, nullable<uint8_t> value)
{
return esp_matter::attribute::create(cluster, ActivatedCarbonFilterMonitoring::Attributes::LastChangedTime::Id,
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE,
esp_matter_nullable_uint8(value));
}
attribute_t *create_replacement_product_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, ActivatedCarbonFilterMonitoring::Attributes::ReplacementProductList::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_array(value, length, count));
}
} /* attribute */
} /* activated_carbon_filter_monitoring */
namespace carbon_monoxide_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* carbon_monoxide_concentration_measurement */
namespace carbon_dioxide_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* carbon_dioxide_concentration_measurement */
namespace nitrogen_dioxide_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* nitrogen_dioxide_concentration_measurement */
namespace ozone_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* ozone_concentration_measurement */
namespace formaldehyde_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* formaldehyde_concentration_measurement */
namespace pm1_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* pm1_concentration_measurement */
namespace pm25_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* pm25_concentration_measurement */
namespace pm10_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* pm10_concentration_measurement */
namespace radon_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* radon_concentration_measurement */
namespace total_volatile_organic_compound_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id,
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint16(value));
}
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint32(value));
}
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
}
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
attribute_t *create_level_value(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id,
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
}
} /* attribute */
} /* total_volatile_organic_compound_concentration_measurement */
namespace operational_state {
namespace attribute {
attribute_t *create_phase_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, OperationalState::Attributes::PhaseList::Id, ATTRIBUTE_FLAG_NULLABLE,
esp_matter_array(value, length, count));
}
attribute_t *create_current_phase(cluster_t *cluster, nullable<uint8_t> value)
{
return esp_matter::attribute::create(cluster, OperationalState::Attributes::CurrentPhase::Id, ATTRIBUTE_FLAG_NULLABLE,
esp_matter_nullable_uint8(value));
}
attribute_t *create_countdown_time(cluster_t *cluster, nullable<uint32_t> value)
{
return esp_matter::attribute::create(cluster, OperationalState::Attributes::CountdownTime::Id, ATTRIBUTE_FLAG_NULLABLE,
esp_matter_nullable_uint32(value));
}
attribute_t *create_operational_state_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, OperationalState::Attributes::OperationalStateList::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_array(value, length, count));
}
attribute_t *create_operational_state(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, OperationalState::Attributes::OperationalState::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
attribute_t *create_operational_error(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, OperationalState::Attributes::OperationalError::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
} /* attribute */
} /* operational_state */
namespace laundry_washer_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, LaundryWasherMode::Attributes::SupportedModes::Id, ATTRIBUTE_FLAG_NONE, esp_matter_array((uint8_t*)value, length, count));
}
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, LaundryWasherMode::Attributes::CurrentMode::Id, ATTRIBUTE_FLAG_NONVOLATILE, esp_matter_uint8(value));
}
} /* attribute */
} /* laundry_washer_mode */
namespace laundry_washer_controls {
namespace attribute {
attribute_t *create_spin_speeds(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, LaundryWasherControls::Attributes::SpinSpeeds::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_array(value, length, count));
}
attribute_t *create_spin_speed_current(cluster_t *cluster, nullable<uint8_t> value)
{
return esp_matter::attribute::create(cluster, LaundryWasherControls::Attributes::SpinSpeedCurrent::Id,
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_WRITABLE,
esp_matter_nullable_uint8(value));
}
attribute_t *create_number_of_rinses(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, LaundryWasherControls::Attributes::NumberOfRinses::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_enum8(value));
}
attribute_t *create_supported_rinses(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, LaundryWasherControls::Attributes::SupportedRinses::Id, ATTRIBUTE_FLAG_NONE,
esp_matter_array(value, length, count));
}
} /* attribute */
} /* laundry_washer_controls */
namespace dish_washer_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, LaundryWasherMode::Attributes::SupportedModes::Id, ATTRIBUTE_FLAG_NONE, esp_matter_array((uint8_t*)value, length, count));
}
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, LaundryWasherMode::Attributes::CurrentMode::Id, ATTRIBUTE_FLAG_NONVOLATILE, esp_matter_uint8(value));
}
} /* attribute */
} /* dish_washer_mode */
namespace door_lock {
namespace attribute {
@@ -2904,5 +3816,37 @@ attribute_t *create_supported(cluster_t *cluster, uint32_t value)
} /* attribute */
} /* refrigerator_alarm */
namespace rvc_run_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, RvcRunMode::Attributes::SupportedModes::Id, ATTRIBUTE_FLAG_NONE, esp_matter_array((uint8_t*)value, length, count));
}
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, RvcRunMode::Attributes::CurrentMode::Id, ATTRIBUTE_FLAG_NONVOLATILE, esp_matter_uint8(value));
}
} /* attribute */
} /* rvc_run_mode */
namespace rvc_clean_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count)
{
return esp_matter::attribute::create(cluster, RvcCleanMode::Attributes::SupportedModes::Id, ATTRIBUTE_FLAG_NONE, esp_matter_array((uint8_t*)value, length, count));
}
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value)
{
return esp_matter::attribute::create(cluster, RvcCleanMode::Attributes::CurrentMode::Id, ATTRIBUTE_FLAG_NONVOLATILE, esp_matter_uint8(value));
}
} /* attribute */
} /* rvc_clean_mode */
} /* cluster */
} /* esp_matter */
@@ -424,6 +424,205 @@ attribute_t *create_ac_capacity_format(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* thermostat */
namespace air_quality {
namespace attribute {
attribute_t *create_air_quality(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* air_quality */
namespace hepa_filter_monitoring {
namespace attribute {
attribute_t *create_condition(cluster_t *cluster, uint8_t value);
attribute_t *create_degradation_direction(cluster_t *cluster, uint8_t value);
attribute_t *create_change_indication(cluster_t *cluster, uint8_t value);
attribute_t *create_in_place_indicator(cluster_t *cluster, bool value);
attribute_t *create_last_changed_time(cluster_t *cluster, nullable<uint8_t> value);
attribute_t *create_replacement_product_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count);
} /* attribute */
} /* hepa_filter_monitoring */
namespace activated_carbon_filter_monitoring {
namespace attribute {
attribute_t *create_condition(cluster_t *cluster, uint8_t value);
attribute_t *create_degradation_direction(cluster_t *cluster, uint8_t value);
attribute_t *create_change_indication(cluster_t *cluster, uint8_t value);
attribute_t *create_in_place_indicator(cluster_t *cluster, bool value);
attribute_t *create_last_changed_time(cluster_t *cluster, nullable<uint8_t> value);
attribute_t *create_replacement_product_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count);
} /* attribute */
} /* activated_carbon_filter_monitoring */
namespace carbon_monoxide_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* carbon_monoxide_concentration_measurement */
namespace carbon_dioxide_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* carbon_dioxide_concentration_measurement */
namespace nitrogen_dioxide_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* nitrogen_dioxide_concentration_measurement */
namespace ozone_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* ozone_concentration_measurement */
namespace formaldehyde_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* formaldehyde_concentration_measurement */
namespace pm1_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* pm1_concentration_measurement */
namespace pm25_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* pm25_concentration_measurement */
namespace pm10_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* pm10_concentration_measurement */
namespace radon_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* radon_concentration_measurement */
namespace total_volatile_organic_compounds_concentration_measurement {
namespace attribute {
attribute_t *create_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_min_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_max_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_peak_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_average_measured_value(cluster_t *cluster, nullable<uint16_t> value);
attribute_t *create_average_measured_value_window(cluster_t *cluster, uint32_t value);
attribute_t *create_uncertainty(cluster_t *cluster, uint16_t value);
attribute_t *create_measurement_unit(cluster_t *cluster, uint8_t value);
attribute_t *create_measurement_medium(cluster_t *cluster, uint8_t value);
attribute_t *create_level_value(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* total_volatile_organic_compounds_concentration_measurement */
namespace operational_state {
namespace attribute {
attribute_t *create_phase_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count);
attribute_t *create_current_phase(cluster_t *cluster, nullable<uint8_t> value);
attribute_t *create_countdown_time(cluster_t *cluster, nullable<uint32_t> value);
attribute_t *create_operational_state_list(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count);
attribute_t *create_operational_state(cluster_t *cluster, uint8_t value);
attribute_t *create_operational_error(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* operational_state */
namespace door_lock {
namespace attribute {
attribute_t *create_lock_state(cluster_t *cluster, nullable<uint8_t> value);
@@ -435,6 +634,29 @@ attribute_t *create_supported_operating_modes(cluster_t *cluster, uint16_t value
} /* attribute */
} /* door_lock */
namespace laundry_washer_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count);
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* laundry_washer_mode */
namespace laundry_washer_controls {
namespace attribute {
attribute_t *create_spin_speeds(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count);
attribute_t *create_spin_speed_current(cluster_t *cluster, nullable<uint8_t> value);
attribute_t *create_number_of_rinses(cluster_t *cluster, uint8_t value);
attribute_t *create_supported_rinses(cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count);
} /* attribute */
} /* laundry_washer_controls */
namespace dish_washer_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count);
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* dish_washer_mode */
namespace window_covering {
namespace attribute {
attribute_t *create_type(cluster_t *cluster, uint8_t value);
@@ -652,5 +874,19 @@ attribute_t *create_supported(cluster_t *cluster, uint32_t value);
} /* attribute */
} /* refrigerator_alarm */
namespace rvc_run_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count);
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* rvc_run_mode */
namespace rvc_clean_mode {
namespace attribute {
attribute_t *create_supported_modes(cluster_t *cluster, const uint8_t * value, uint16_t length, uint16_t count);
attribute_t *create_current_mode(cluster_t *cluster, uint8_t value);
} /* attribute */
} /* rvc_clean_mode */
} /* cluster */
} /* esp_matter */
+2 -2
View File
@@ -182,6 +182,7 @@ void binding_init()
}
} // namespace client
#if CONFIG_ESP_MATTER_ENABLE_DATA_MODEL
namespace cluster {
using client::peer_device_t;
@@ -194,7 +195,6 @@ static void send_command_failure_callback(void *context, CHIP_ERROR error)
{
ESP_LOGI(TAG, "Send command failure: err: %" CHIP_ERROR_FORMAT, error.Format());
}
#if CONFIG_ESP_MATTER_ENABLE_DATA_MODEL
namespace on_off {
namespace command {
@@ -1616,7 +1616,7 @@ esp_err_t send_revoke_commissioning(peer_device_t *remote_device, uint16_t remot
} // namespace command
} // namespace administrator_commissioning
} // namespace cluster
#endif // CONFIG_ESP_MATTER_ENABLE_DATA_MODEL
} // namespace cluster
} // namespace esp_matter
@@ -1447,6 +1447,676 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
}
} /* thermostat */
namespace air_quality {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, AirQuality::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
attribute::create_air_quality(cluster, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* air_quality */
namespace hepa_filter_monitoring {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, HepaFilterMonitoring::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
attribute::create_change_indication(cluster, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* hepa_filter_monitoring */
namespace activated_carbon_filter_monitoring {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, HepaFilterMonitoring::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
attribute::create_change_indication(cluster, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* activated_carbon_filter_monitoring */
namespace carbon_monoxide_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, CarbonMonoxideConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
attribute::create_measurement_medium(cluster, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* carbon_monoxide_concentration_measurement */
namespace carbon_dioxide_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, CarbonDioxideConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* carbon_dioxide_concentration_measurement */
namespace nitrogen_dioxide_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, NitrogenDioxideConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* nitrogen_dioxide_concentration_measurement */
namespace ozone_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, OzoneConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* ozone_concentration_measurement */
namespace formaldehyde_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, FormaldehydeConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* formaldehyde_concentration_measurement */
namespace pm1_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, Pm1ConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* pm1_concentration_measurement */
namespace pm25_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, Pm25ConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* pm25_concentration_measurement */
namespace pm10_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, Pm10ConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* pm10_concentration_measurement */
namespace radon_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, RadonConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* radon_concentration_measurement */
namespace total_volatile_organic_compounds_concentration_measurement {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0,0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* total_volatile_organic_compounds_concentration_measurement */
namespace operational_state {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, OperationalState::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* operational_state */
namespace laundry_washer_mode {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, LaundryWasherMode::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
attribute::create_current_mode(cluster, config->current_mode);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* laundry_washer_mode */
namespace laundry_washer_controls {
const function_generic_t function_list[] = {
(function_generic_t)MatterLaundryWasherControlsClusterServerPreAttributeChangedCallback,
};
const int function_flags = CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, LaundryWasherControls::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* laundry_washer_controls */
namespace dish_washer_mode {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, DishwasherMode::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
attribute::create_current_mode(cluster, config->current_mode);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* dish_washer_mode */
namespace dish_washer_alarm {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, DishwasherAlarm::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* dish_washer_alarm */
namespace door_lock {
const function_generic_t function_list[] = {
(function_generic_t)MatterDoorLockClusterServerAttributeChangedCallback,
@@ -2241,6 +2911,114 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
}
} /* refrigerator_alarm */
namespace rvc_run_mode {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, RvcRunMode::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
attribute::create_supported_modes(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
attribute::create_current_mode(cluster, config->current_mode);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
/* Commands */
command::create_change_to_mode(cluster);
return cluster;
}
} /* rvc_run_mode */
namespace rvc_clean_mode {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, RvcCleanMode::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
attribute::create_supported_modes(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
attribute::create_current_mode(cluster, config->current_mode);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
/* Commands */
command::create_change_to_mode(cluster);
return cluster;
}
} /* rvc_clean_mode */
namespace rvc_operational_state {
const function_generic_t *function_list = NULL;
const int function_flags = CLUSTER_FLAG_NONE;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
{
cluster_t *cluster = cluster::create(endpoint, RvcOperationalState::Id, flags);
if (!cluster) {
ESP_LOGE(TAG, "Could not create cluster");
return NULL;
}
if (flags & CLUSTER_FLAG_SERVER) {
add_function_list(cluster, function_list, function_flags);
}
if (flags & CLUSTER_FLAG_CLIENT) {
create_default_binding_cluster(endpoint);
}
if (flags & CLUSTER_FLAG_SERVER) {
/* Attributes managed internally */
global::attribute::create_feature_map(cluster, 0);
global::attribute::create_event_list(cluster, NULL, 0, 0);
/* Attributes not managed internally */
if (config) {
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
} else {
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
}
}
return cluster;
}
} /* rvc_operational_state */
// namespace binary_input_basic {
// // ToDo
// } /* binary_input_basic */
+173
View File
@@ -371,6 +371,150 @@ typedef struct config {
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
} /* thermostat */
namespace air_quality {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* air_quality */
namespace hepa_filter_monitoring {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* hepa_filter_monitoring */
namespace activated_carbon_filter_monitoring {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* activated_carbon_filter_monitoring */
namespace carbon_monoxide_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* carbon_monoxide_concentration_measurement */
namespace carbon_dioxide_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* carbon_dioxide_concentration_measurement */
namespace nitrogen_dioxide_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* nitrogen_dioxide_concentration_measurement */
namespace ozone_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* ozone_concentration_measurement */
namespace formaldehyde_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* formaldehyde_concentration_measurement */
namespace pm1_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* pm1_concentration_measurement */
namespace pm25_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* pm25_concentration_measurement */
namespace pm10_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
} /* pm10_concentration_measurement */
namespace radon_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* radon_concentration_measurement */
namespace total_volatile_organic_compounds_concentration_measurement {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(3) {}
} config_t;
} /* total_volatile_organic_compounds_concentration_measurement */
namespace operational_state {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* operational_state */
namespace laundry_washer_mode {
typedef struct config {
uint16_t cluster_revision;
uint8_t current_mode;
config() : cluster_revision(1), current_mode(0) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* laundry_washer_mode */
namespace laundry_washer_controls {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* laundry_washer_controls */
namespace dish_washer_mode {
typedef struct config {
uint16_t cluster_revision;
uint8_t current_mode;
config() : cluster_revision(1), current_mode(0) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* dish_washer_mode */
namespace dish_washer_alarm {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* dish_washer_alarm */
namespace door_lock {
typedef struct config {
uint16_t cluster_revision;
@@ -576,5 +720,34 @@ typedef struct config {
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* refrigerator_alarm */
namespace rvc_run_mode {
typedef struct config {
uint16_t cluster_revision;
uint8_t current_mode;
config() : cluster_revision(1), current_mode(0) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* rvc_run_mode */
namespace rvc_clean_mode {
typedef struct config {
uint16_t cluster_revision;
uint8_t current_mode;
config() : cluster_revision(1), current_mode(0) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* rvc_clean_mode */
namespace rvc_operational_state {
typedef struct config {
uint16_t cluster_revision;
config() : cluster_revision(1) {}
} config_t;
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
} /* rvc_operational_state */
} /* cluster */
} /* esp_matter */
@@ -2112,6 +2112,26 @@ command_t *create_get_weekly_schedule_response(cluster_t *cluster)
} /* command */
} /* thermostat */
namespace laundry_washer_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster)
{
return esp_matter::command::create(cluster, LaundryWasherMode::Commands::ChangeToMode::Id, COMMAND_FLAG_ACCEPTED, NULL);
}
} /* command */
} /* laundry_washer_mode */
namespace dish_washer_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster)
{
return esp_matter::command::create(cluster, DishwasherMode::Commands::ChangeToMode::Id, COMMAND_FLAG_ACCEPTED, NULL);
}
} /* command */
} /* dish_washer_mode */
namespace door_lock {
namespace command {
@@ -2210,6 +2230,46 @@ command_t *create_step(cluster_t *cluster)
} /* command */
} /* fan_control */
namespace hepa_filter_monitoring {
namespace command {
command_t *create_reset_condition(cluster_t *cluster)
{
return esp_matter::command::create(cluster, HepaFilterMonitoring::Commands::ResetCondition::Id, COMMAND_FLAG_ACCEPTED, NULL);
}
} /* command */
} /* hepa_filter_monitoring */
namespace activated_carbon_filter_monitoring {
namespace command {
command_t *create_reset_condition(cluster_t *cluster)
{
return esp_matter::command::create(cluster, ActivatedCarbonFilterMonitoring::Commands::ResetCondition::Id, COMMAND_FLAG_ACCEPTED, NULL);
}
} /* command */
} /* activated_carbon_filter_monitoring */
namespace rvc_run_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster)
{
return esp_matter::command::create(cluster, RvcRunMode::Commands::ChangeToMode::Id, COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_change_to_mode);
}
} /* command */
} /* rvc_run_mode */
namespace rvc_clean_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster)
{
return esp_matter::command::create(cluster, RvcCleanMode::Commands::ChangeToMode::Id, COMMAND_FLAG_ACCEPTED, esp_matter_command_callback_change_to_mode);
}
} /* command */
} /* rvc_clean_mode */
} /* cluster */
} /* esp_matter */
@@ -264,6 +264,18 @@ command_t *create_get_weekly_schedule_response(cluster_t *cluster);
} /* command */
} /* thermostat */
namespace laundry_washer_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster);
} /* command */
} /* laundry_washer_mode */
namespace dish_washer_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster);
} /* command */
} /* dish_washer_mode */
namespace door_lock {
namespace command {
command_t *create_lock_door(cluster_t *cluster);
@@ -301,5 +313,29 @@ command_t *create_step(cluster_t *cluster);
} /* command */
} /* fan_control */
namespace hepa_filter_monitoring {
namespace command {
command_t *create_reset_condition(cluster_t *cluster);
} /* command */
} /* hepa_filter_monitoring */
namespace activated_carbon_filter_monitoring {
namespace command {
command_t *create_reset_condition(cluster_t *cluster);
} /* command */
} /* activated_carbon_filter_monitoring */
namespace rvc_run_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster);
} /* command */
} /* rvc_run_mode */
namespace rvc_clean_mode {
namespace command {
command_t *create_change_to_mode(cluster_t *cluster);
} /* command */
} /* rvc_clean_mode */
} /* cluster */
} /* esp_matter */
File diff suppressed because it is too large Load Diff
+104 -31
View File
@@ -71,11 +71,19 @@
#define ESP_MATTER_REFRIGERATOR_DEVICE_TYPE_VERSION 1
#define ESP_MATTER_TEMPERATURE_CONTROLLED_CABINET_DEVICE_TYPE_ID 0x0071
#define ESP_MATTER_TEMPERATURE_CONTROLLED_CABINET_DEVICE_TYPE_VERSION 1
#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
#define ESP_MATTER_DISH_WASHER_DEVICE_TYPE_VERSION 1
#define ESP_MATTER_FAN_DEVICE_TYPE_ID 0x002B
#define ESP_MATTER_FAN_DEVICE_TYPE_VERSION 1
#define ESP_MATTER_THERMOSTAT_DEVICE_TYPE_ID 0x0301
#define ESP_MATTER_THERMOSTAT_DEVICE_TYPE_VERSION 2
#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_DOOR_LOCK_DEVICE_TYPE_ID 0x000A
#define ESP_MATTER_DOOR_LOCK_DEVICE_TYPE_VERSION 2
#define ESP_MATTER_WINDOW_COVERING_DEVICE_TYPE_ID 0x0202
@@ -84,6 +92,8 @@
#define ESP_MATTER_PUMP_DEVICE_TYPE_VERSION 2
#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 1
namespace esp_matter {
@@ -115,7 +125,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* root_node */
namespace power_source_device{
@@ -127,7 +137,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* power_source_device */
namespace on_off_light {
@@ -142,7 +152,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* on_off_light */
namespace dimmable_light {
@@ -158,7 +168,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* dimmable_light */
namespace color_temperature_light {
@@ -175,7 +185,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* color_temperature_light */
namespace extended_color_light {
@@ -192,7 +202,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* extended_color_light */
namespace on_off_switch {
@@ -205,7 +215,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* on_off_switch */
namespace dimmer_switch {
@@ -218,7 +228,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* dimmer_switch */
namespace color_dimmer_switch {
@@ -231,7 +241,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* color_dimmer_switch */
namespace generic_switch {
@@ -244,7 +254,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* generic_switch */
namespace on_off_plugin_unit {
@@ -259,7 +269,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* on_off_plugin_unit */
namespace dimmable_plugin_unit {
@@ -275,7 +285,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* dimmable_plugin_unit */
namespace fan {
@@ -289,7 +299,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* fan */
namespace thermostat {
@@ -304,9 +314,58 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* thermostat */
namespace air_quality_sensor {
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::identify::config_t identify;
cluster::air_quality::config_t air_quality;
} config_t;
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* air_quality_sensor */
namespace air_purifier {
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::identify::config_t identify;
cluster::fan_control::config_t fan_control;
} config_t;
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* air_purifier */
namespace dish_washer {
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::operational_state::config_t operational_state;
} config_t;
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* dish_washer */
namespace laundry_washer {
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::operational_state::config_t operational_state;
} config_t;
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* laundry_washer */
namespace aggregator {
typedef struct config {
cluster::descriptor::config_t descriptor;
@@ -315,7 +374,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* aggregator */
namespace bridged_node {
@@ -327,7 +386,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
endpoint_t *resume(node_t *node, config_t *config, uint8_t flags, uint16_t endpoint_id, void *priv_data);
} /* bridged_node */
@@ -341,7 +400,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* door_lock */
namespace window_covering_device {
@@ -357,7 +416,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* window_covering */
namespace temperature_sensor {
@@ -370,7 +429,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* temperature_sensor */
namespace humidity_sensor {
@@ -383,7 +442,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* humidity_sensor */
namespace occupancy_sensor {
@@ -396,7 +455,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* occupancy_sensor */
namespace contact_sensor {
@@ -409,7 +468,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* contact_sensor */
namespace light_sensor {
@@ -422,7 +481,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* light_sensor */
namespace pressure_sensor {
@@ -435,7 +494,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* pressure_sensor */
namespace flow_sensor {
@@ -448,7 +507,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* flow_sensor */
namespace pump{
@@ -467,7 +526,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /** pump **/
namespace mode_select_device {
@@ -479,13 +538,13 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /** mode_select_device **/
namespace room_air_conditioner{
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::identify:: config_t identify;
cluster::identify::config_t identify;
cluster::on_off::config_t on_off;
cluster::thermostat::config_t thermostat;
} config_t;
@@ -493,7 +552,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /** room air conditioner **/
namespace temperature_controlled_cabinet{
@@ -505,7 +564,7 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /** temperature_controlled_cabinet **/
namespace refrigerator{
@@ -516,9 +575,23 @@ typedef struct config {
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
endpoint_t *add(endpoint_t *endpoint, config_t *config);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /** refrigerator **/
namespace robotic_vaccum_cleaner{
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::identify::config_t identify;
cluster::rvc_run_mode::config_t rvc_run_mode;
cluster::rvc_operational_state::config_t rvc_operational_state;
} config_t;
uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /** robotic_vaccum_cleaner **/
} /* endpoint */
namespace node {
File diff suppressed because it is too large Load Diff
+778
View File
@@ -479,6 +479,784 @@ esp_err_t add(cluster_t *cluster, config_t *config);
} /* feature */
} /* thermostat */
namespace air_quality {
namespace feature {
namespace fair {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* fair */
namespace mod {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* mod */
namespace vpoor {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* vpoor */
namespace xpoor {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* xpoor */
} /* feature */
} /* air_quality */
namespace carbon_monoxide_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* carbon_monoxide_concentration_measurement */
namespace carbon_dioxide_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* carbon_dioxide_concentration_measurement */
namespace nitrogen_dioxide_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* nitrogen_dioxide_concentration_measurement */
namespace ozone_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* ozone_concentration_measurement */
namespace formaldehyde_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* formaldehyde_concentration_measurement */
namespace pm1_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* pm1_concentration_measurement */
namespace pm25_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* pm25_concentration_measurement */
namespace pm10_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* pm10_concentration_measurement */
namespace radon_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* radon_concentration_measurement */
namespace total_volatile_organic_compounds_concentration_measurement {
namespace feature {
namespace numeric_measurement {
typedef struct config {
nullable<uint16_t> measured_value;
nullable<uint16_t> min_measured_value;
nullable<uint16_t> max_measured_value;
uint16_t uncertainty;
uint8_t measurement_unit;
config() : measured_value(), min_measured_value(), max_measured_value(), uncertainty(0), measurement_unit(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* numeric_measurement */
namespace level_indication {
typedef struct config {
uint8_t level_value;
config() : level_value(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* level_indication */
namespace medium_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* medium_level */
namespace critical_level {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* critical_level */
namespace peak_measurement {
typedef struct config {
nullable<uint16_t> peak_measured_value;
uint32_t peak_measured_value_window;
config() : peak_measured_value(), peak_measured_value_window(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* peak_measurement */
namespace average_measurement {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* average_measurement */
} /* feature */
} /* total_volatile_organic_compounds_concentration_measurement */
namespace hepa_filter_monitoring {
namespace feature {
namespace condition {
typedef struct config {
uint8_t condition;
uint8_t degradation_direction;
config() : condition(0), degradation_direction(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* condition */
namespace warning {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* warning */
namespace replacement_product_list {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* replacement_product_list */
} /* feature */
} /* hepa_filter_monitoring */
namespace activated_carbon_filter_monitoring {
namespace feature {
namespace condition {
typedef struct config {
uint8_t condition;
uint8_t degradation_direction;
config() : condition(0), degradation_direction(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* condition */
namespace warning {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* warning */
namespace replacement_product_list {
uint32_t get_id();
esp_err_t add(cluster_t *cluster);
} /* replacement_product_list */
} /* feature */
} /* activated_carbon_filter_monitoring */
namespace laundry_washer_controls {
namespace feature {
namespace spin {
typedef struct config {
uint8_t spin_speed_current;
config() : spin_speed_current(0) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* spin */
namespace rinse {
typedef struct config {
uint8_t number_of_rinses;
config() : number_of_rinses(1) {}
} config_t;
uint32_t get_id();
esp_err_t add(cluster_t *cluster, config_t *config);
} /* rinse */
} /* feature */
} /* laundry_washer_controls */
namespace switch_cluster {
namespace feature {
@@ -198,6 +198,5 @@
#define EMBER_AF_MODE_SELECT_CLUSTER_SERVER_ENDPOINT_COUNT CONFIG_ESP_MATTER_MODE_SELECT_CLUSTER_ENDPOINT_COUNT // used in mode select
#define EMBER_AF_TEMPERATURE_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT CONFIG_ESP_MATTER_TEMPERATURE_CONTROL_CLUSTER_ENDPOINT_COUNT // used in temperature control
#define MATTER_SCENES_TABLE_SIZE CONFIG_ESP_MATTER_SCENES_TABLE_SIZE // used in scenes // TODO: check this again
@@ -182,31 +182,51 @@ esp_err_t set_device_type(device_t *bridged_device, uint32_t device_type_id)
ESP_LOGE(TAG, "bridged_device cannot be NULL");
return ESP_ERR_INVALID_ARG;
}
esp_err_t err = ESP_OK;
switch (device_type_id) {
case ESP_MATTER_ON_OFF_LIGHT_DEVICE_TYPE_ID: {
on_off_light::config_t on_off_light_conf;
bridged_device->endpoint = on_off_light::add(bridged_device->endpoint, &on_off_light_conf);
err = on_off_light::add(bridged_device->endpoint, &on_off_light_conf);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to add device type");
return err;
}
break;
}
case ESP_MATTER_DIMMABLE_LIGHT_DEVICE_TYPE_ID: {
dimmable_light::config_t dimmable_light_conf;
bridged_device->endpoint = dimmable_light::add(bridged_device->endpoint, &dimmable_light_conf);
err = dimmable_light::add(bridged_device->endpoint, &dimmable_light_conf);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to add device type");
return err;
}
break;
}
case ESP_MATTER_COLOR_TEMPERATURE_LIGHT_DEVICE_TYPE_ID: {
color_temperature_light::config_t color_temperature_light_conf;
bridged_device->endpoint =
color_temperature_light::add(bridged_device->endpoint, &color_temperature_light_conf);
err = color_temperature_light::add(bridged_device->endpoint, &color_temperature_light_conf);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to add device type");
return err;
}
break;
}
case ESP_MATTER_EXTENDED_COLOR_LIGHT_DEVICE_TYPE_ID: {
extended_color_light::config_t extended_color_light_conf;
bridged_device->endpoint = extended_color_light::add(bridged_device->endpoint, &extended_color_light_conf);
err = extended_color_light::add(bridged_device->endpoint, &extended_color_light_conf);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to add device type");
return err;
}
break;
}
case ESP_MATTER_ON_OFF_SWITCH_DEVICE_TYPE_ID: {
on_off_switch::config_t switch_config;
bridged_device->endpoint = on_off_switch::add(bridged_device->endpoint, &switch_config);
err = on_off_switch::add(bridged_device->endpoint, &switch_config);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to add device type");
return err;
}
break;
}
default: {