Matter::Cluster::ThermostatCluster
Inherits Matter::Cluster::Base < Reference < Object
Thermostat Cluster (0x0201)
Provides an interface to thermostat functionality, including configuration of setpoints, scheduling, and mode control.
Specification: Matter 1.4 § 4.3
Constants
ATTR_ABS_MAX_COOL_SETPOINT_LIMIT = 6_u32
ATTR_ABS_MAX_HEAT_SETPOINT_LIMIT = 4_u32
ATTR_ABS_MIN_COOL_SETPOINT_LIMIT = 5_u32
ATTR_ABS_MIN_HEAT_SETPOINT_LIMIT = 3_u32
ATTR_CONTROL_SEQUENCE_OF_OPERATION = 27_u32
ATTR_LOCAL_TEMPERATURE = 0_u32
Attributes
ATTR_MAX_COOL_SETPOINT_LIMIT = 24_u32
ATTR_MAX_HEAT_SETPOINT_LIMIT = 22_u32
ATTR_MIN_COOL_SETPOINT_LIMIT = 23_u32
ATTR_MIN_HEAT_SETPOINT_LIMIT = 21_u32
ATTR_MIN_SETPOINT_DEAD_BAND = 25_u32
ATTR_OCCUPIED_COOLING_SETPOINT = 17_u32
ATTR_OCCUPIED_HEATING_SETPOINT = 18_u32
ATTR_OUTDOOR_TEMPERATURE = 1_u32
ATTR_SYSTEM_MODE = 28_u32
ATTR_THERMOSTAT_RUNNING_MODE = 30_u32
CLUSTER_ID = 513_u32
CMD_SETPOINT_RAISE_LOWER = 0_u32
Commands
DEFAULT_ABS_MAX_COOL = 3200_i16
DEFAULT_ABS_MAX_HEAT = 3000_i16
DEFAULT_ABS_MIN_COOL = 1600_i16
DEFAULT_ABS_MIN_HEAT = 700_i16
Default temperature limits (in 0.01°C)
Constructors
new(endpoint_id : DataType::EndpointNumber, feature_map : Feature = Feature::Cooling | Feature::Heating, local_temperature : Int16 | Nil = nil, occupied_cooling_setpoint : Int16 = 2600_i16, occupied_heating_setpoint : Int16 = 2000_i16, abs_min_heat_setpoint_limit : Int16 = DEFAULT_ABS_MIN_HEAT, abs_max_heat_setpoint_limit : Int16 = DEFAULT_ABS_MAX_HEAT, abs_min_cool_setpoint_limit : Int16 = DEFAULT_ABS_MIN_COOL, abs_max_cool_setpoint_limit : Int16 = DEFAULT_ABS_MAX_COOL, min_heat_setpoint_limit : Int16 = DEFAULT_ABS_MIN_HEAT, max_heat_setpoint_limit : Int16 = DEFAULT_ABS_MAX_HEAT, min_cool_setpoint_limit : Int16 = DEFAULT_ABS_MIN_COOL, max_cool_setpoint_limit : Int16 = DEFAULT_ABS_MAX_COOL, min_setpoint_dead_band : Int8 = 25_i8, control_sequence_of_operation : ControlSequenceOfOperation = ControlSequenceOfOperation::CoolingAndHeating, system_mode : SystemMode = SystemMode::Off, thermostat_running_mode : ThermostatRunningMode = ThermostatRunningMode::Off)
SourceClass methods
cluster_id
Thermostat Cluster (0x0201)
Provides an interface to thermostat functionality, including configuration of setpoints, scheduling, and mode control.
Specification: Matter 1.4 § 4.3
Instance methods
abs_max_cool_setpoint_limit
Sourceabs_max_cool_setpoint_limit=(abs_max_cool_setpoint_limit : Int16)
Sourceabs_max_heat_setpoint_limit
Sourceabs_max_heat_setpoint_limit=(abs_max_heat_setpoint_limit : Int16)
Sourceabs_min_cool_setpoint_limit
Sourceabs_min_cool_setpoint_limit=(abs_min_cool_setpoint_limit : Int16)
Sourcecontrol_sequence_of_operation=(control_sequence_of_operation : ControlSequenceOfOperation)
Mode control
heating_setpoint=(value : Int16)
Sourceinvoke_command(command_id : UInt32, command_data : Bytes) : Bytes | InteractionModel::Status
Invoke a command
max_cool_setpoint_limit
Sourcemax_cool_setpoint_limit=(max_cool_setpoint_limit : Int16)
Sourcemax_heat_setpoint_limit
Sourcemax_heat_setpoint_limit=(max_heat_setpoint_limit : Int16)
Sourcemin_cool_setpoint_limit
Sourcemin_cool_setpoint_limit=(min_cool_setpoint_limit : Int16)
Sourceoccupied_heating_setpoint
Sourceoccupied_heating_setpoint=(occupied_heating_setpoint : Int16)
Sourceon_setpoint_changed
Sourceon_system_mode_changed
Sourceread_attribute(attribute_id : UInt32, fabric_index : UInt8 | Nil = nil) : Bytes | InteractionModel::Status
Read an attribute value The fabric_index parameter is optional and used for fabric-scoped attributes like CurrentFabricIndex in OperationalCredentialsCluster
system_mode
Sourcethermostat_running_mode
Sourcethermostat_running_mode=(thermostat_running_mode : ThermostatRunningMode)
Sourceupdate_local_temperature(value : Int16 | Nil)
Update local temperature (typically called from a paired temperature sensor)
write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
Write an attribute value