mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 19:13:13 +00:00
Add optional attributes of thermostat cluster to matter sdk
This commit is contained in:
@@ -1235,6 +1235,12 @@ attribute_t *create_local_temperature(cluster_t *cluster, nullable<int16_t> valu
|
||||
esp_matter_nullable_int16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_outdoor_temperature(cluster_t *cluster, nullable<int16_t> value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::OutdoorTemperature::Id, ATTRIBUTE_FLAG_NULLABLE,
|
||||
esp_matter_nullable_int16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_occupancy(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::Occupancy::Id, ATTRIBUTE_FLAG_NONE,
|
||||
@@ -1277,6 +1283,18 @@ attribute_t *create_pi_heating_demand(cluster_t *cluster, uint8_t value)
|
||||
esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_hvac_system_type_config(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::HVACSystemTypeConfiguration::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_bitmap8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_local_temperature_calibration(cluster_t *cluster, int8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::LocalTemperatureCalibration::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_int8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_occupied_cooling_setpoint(cluster_t *cluster, int16_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::OccupiedCoolingSetpoint::Id,
|
||||
@@ -1331,6 +1349,12 @@ attribute_t *create_min_setpoint_dead_band(cluster_t *cluster, int8_t value)
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_int8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_remote_sensing(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::RemoteSensing::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_bitmap8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_control_sequence_of_operation(cluster_t *cluster, uint8_t value, uint8_t min, uint8_t max)
|
||||
{
|
||||
attribute_t *attribute =
|
||||
@@ -1381,10 +1405,53 @@ attribute_t *create_number_of_daily_transitions(cluster_t *cluster, uint8_t valu
|
||||
ATTRIBUTE_FLAG_NONE, esp_matter_enum8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_temperature_setpoint_hold(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::TemperatureSetpointHold::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_enum8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_temperature_setpoint_hold_duration(cluster_t *cluster, nullable<uint16_t> value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::TemperatureSetpointHoldDuration::Id,
|
||||
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE,
|
||||
esp_matter_nullable_uint16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_thermostat_programming_operation_mode(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ThermostatProgrammingOperationMode::Id,
|
||||
ATTRIBUTE_FLAG_WRITABLE, esp_matter_bitmap8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_thermostat_running_state(cluster_t *cluster, uint16_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ThermostatRunningState::Id,
|
||||
ATTRIBUTE_FLAG_NONE, esp_matter_bitmap16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_setpoint_change_source(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::SetpointChangeSource::Id,
|
||||
ATTRIBUTE_FLAG_NONE, esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_setpoint_change_amount(cluster_t *cluster, nullable<int16_t> value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::SetpointChangeAmount::Id,
|
||||
ATTRIBUTE_FLAG_NONE, esp_matter_nullable_int16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_setpoint_change_source_timestamp(cluster_t *cluster, uint16_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::SetpointChangeSourceTimestamp::Id,
|
||||
ATTRIBUTE_FLAG_NONE, esp_matter_uint16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_occupied_setback(cluster_t *cluster, nullable<uint8_t> value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::OccupiedSetback::Id,
|
||||
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_NONVOLATILE,
|
||||
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE,
|
||||
esp_matter_nullable_uint8(value));
|
||||
}
|
||||
|
||||
@@ -1403,7 +1470,7 @@ attribute_t *create_occupied_setback_max(cluster_t *cluster, nullable<uint8_t> v
|
||||
attribute_t *create_unoccupied_setback(cluster_t *cluster, nullable<uint8_t> value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::UnoccupiedSetback::Id,
|
||||
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_NONVOLATILE,
|
||||
ATTRIBUTE_FLAG_NULLABLE | ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE,
|
||||
esp_matter_nullable_uint8(value));
|
||||
}
|
||||
|
||||
@@ -1419,6 +1486,60 @@ attribute_t *create_unoccupied_setback_max(cluster_t *cluster, nullable<uint8_t>
|
||||
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_emergency_heat_delta(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::EmergencyHeatDelta::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_type(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACType::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_capacity(cluster_t *cluster, uint16_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACCapacity::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_uint16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_refrigerant_type(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACRefrigerantType::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_compressor_type(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACCompressorType::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_error_code(cluster_t *cluster, uint32_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACErrorCode::Id,
|
||||
ATTRIBUTE_FLAG_WRITABLE, esp_matter_bitmap32(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_louver_position(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACLouverPosition::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_coil_temperature(cluster_t *cluster, nullable<int16_t> value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACCoilTemperature::Id,
|
||||
ATTRIBUTE_FLAG_NULLABLE, esp_matter_nullable_int16(value));
|
||||
}
|
||||
|
||||
attribute_t *create_ac_capacity_format(cluster_t *cluster, uint8_t value)
|
||||
{
|
||||
return esp_matter::attribute::create(cluster, Thermostat::Attributes::ACCapacityformat::Id,
|
||||
ATTRIBUTE_FLAG_NONVOLATILE | ATTRIBUTE_FLAG_WRITABLE, esp_matter_uint8(value));
|
||||
}
|
||||
|
||||
} /* attribute */
|
||||
} /* thermostat */
|
||||
|
||||
|
||||
@@ -319,6 +319,7 @@ attribute_t *create_percent_current(cluster_t *cluster, uint8_t value);
|
||||
namespace thermostat {
|
||||
namespace attribute {
|
||||
attribute_t *create_local_temperature(cluster_t *cluster, nullable<int16_t> value);
|
||||
attribute_t *create_outdoor_temperature(cluster_t *cluster, nullable<int16_t> value);
|
||||
attribute_t *create_occupancy(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_abs_min_heat_setpoint_limit(cluster_t *cluster, int16_t value);
|
||||
attribute_t *create_abs_max_heat_setpoint_limit(cluster_t *cluster, int16_t value);
|
||||
@@ -326,6 +327,8 @@ attribute_t *create_abs_min_cool_setpoint_limit(cluster_t *cluster, int16_t valu
|
||||
attribute_t *create_abs_max_cool_setpoint_limit(cluster_t *cluster, int16_t value);
|
||||
attribute_t *create_pi_cooling_demand(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_pi_heating_demand(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_hvac_system_type_config(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_local_temperature_calibration(cluster_t *cluster, int8_t value);
|
||||
attribute_t *create_occupied_cooling_setpoint(cluster_t *cluster, int16_t value);
|
||||
attribute_t *create_occupied_heating_setpoint(cluster_t *cluster, int16_t value);
|
||||
attribute_t *create_unoccupied_cooling_setpoint(cluster_t *cluster, int16_t value);
|
||||
@@ -335,18 +338,35 @@ attribute_t *create_max_heat_setpoint_limit(cluster_t *cluster, int16_t value);
|
||||
attribute_t *create_min_cool_setpoint_limit(cluster_t *cluster, int16_t value);
|
||||
attribute_t *create_max_cool_setpoint_limit(cluster_t *cluster, int16_t value);
|
||||
attribute_t *create_min_setpoint_dead_band(cluster_t *cluster, int8_t value);
|
||||
attribute_t *create_remote_sensing(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_control_sequence_of_operation(cluster_t *cluster, uint8_t value, uint8_t min, uint8_t max);
|
||||
attribute_t *create_system_mode(cluster_t *cluster, uint8_t value, uint8_t min, uint8_t max);
|
||||
attribute_t *create_thermostat_running_mode(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_start_of_week(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_number_of_weekly_transitions(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_number_of_daily_transitions(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_temperature_setpoint_hold(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_temperature_setpoint_hold_duration(cluster_t *cluster, nullable<uint16_t> value);
|
||||
attribute_t *create_thermostat_programming_operation_mode(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_thermostat_running_state(cluster_t *cluster, uint16_t value);
|
||||
attribute_t *create_setpoint_change_source(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_setpoint_change_amount(cluster_t *cluster, nullable<int16_t> value);
|
||||
attribute_t *create_setpoint_change_source_timestamp(cluster_t *cluster, uint16_t value);
|
||||
attribute_t *create_occupied_setback(cluster_t *cluster, nullable<uint8_t> value);
|
||||
attribute_t *create_occupied_setback_min(cluster_t *cluster, nullable<uint8_t> value);
|
||||
attribute_t *create_occupied_setback_max(cluster_t *cluster, nullable<uint8_t> value);
|
||||
attribute_t *create_unoccupied_setback(cluster_t *cluster, nullable<uint8_t> value);
|
||||
attribute_t *create_unoccupied_setback_min(cluster_t *cluster, nullable<uint8_t> value);
|
||||
attribute_t *create_unoccupied_setback_max(cluster_t *cluster, nullable<uint8_t> value);
|
||||
attribute_t *create_emergency_heat_delta(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_ac_type(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_ac_capacity(cluster_t *cluster, uint16_t value);
|
||||
attribute_t *create_ac_refrigerant_type(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_ac_compressor_type(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_ac_error_code(cluster_t *cluster, uint32_t value);
|
||||
attribute_t *create_ac_louver_position(cluster_t *cluster, uint8_t value);
|
||||
attribute_t *create_ac_coil_temperature(cluster_t *cluster, nullable<int16_t> value);
|
||||
attribute_t *create_ac_capacity_format(cluster_t *cluster, uint8_t value);
|
||||
} /* attribute */
|
||||
} /* thermostat */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user