class

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)
Source

Class 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

Source

Instance methods

abs_max_cool_setpoint_limit
Source
abs_max_cool_setpoint_limit=(abs_max_cool_setpoint_limit : Int16)
Source
abs_max_heat_setpoint_limit
Source
abs_max_heat_setpoint_limit=(abs_max_heat_setpoint_limit : Int16)
Source
abs_min_cool_setpoint_limit
Source
abs_min_cool_setpoint_limit=(abs_min_cool_setpoint_limit : Int16)
Source
abs_min_heat_setpoint_limit

Absolute limits (read-only)

Source
abs_min_heat_setpoint_limit=(abs_min_heat_setpoint_limit : Int16)

Absolute limits (read-only)

Source
attributes

Get all attribute metadata

Source
commands

Get all command metadata

Source
control_sequence_of_operation

Mode control

Source
control_sequence_of_operation=(control_sequence_of_operation : ControlSequenceOfOperation)

Mode control

Source
cooling_setpoint=(value : Int16)

Programmatic setpoint update

Source
feature_map

Feature map

Source
feature_map=(feature_map : Feature)

Feature map

Source
heating_setpoint=(value : Int16)
Source
invoke_command(command_id : UInt32, command_data : Bytes) : Bytes | InteractionModel::Status

Invoke a command

Source
local_temperature

Required attributes

Source
local_temperature=(local_temperature : Int16 | Nil)

Required attributes

Source
max_cool_setpoint_limit
Source
max_cool_setpoint_limit=(max_cool_setpoint_limit : Int16)
Source
max_heat_setpoint_limit
Source
max_heat_setpoint_limit=(max_heat_setpoint_limit : Int16)
Source
min_cool_setpoint_limit
Source
min_cool_setpoint_limit=(min_cool_setpoint_limit : Int16)
Source
min_heat_setpoint_limit

Configurable limits

Source
min_heat_setpoint_limit=(min_heat_setpoint_limit : Int16)

Configurable limits

Source
min_setpoint_dead_band

Dead band (in 0.1°C, for Auto mode)

Source
min_setpoint_dead_band=(min_setpoint_dead_band : Int8)

Dead band (in 0.1°C, for Auto mode)

Source
name

Get cluster name

Source
occupied_cooling_setpoint

Setpoints (in 0.01°C)

Source
occupied_cooling_setpoint=(occupied_cooling_setpoint : Int16)

Setpoints (in 0.01°C)

Source
occupied_heating_setpoint
Source
occupied_heating_setpoint=(occupied_heating_setpoint : Int16)
Source
on_setpoint_changed
Source
on_system_mode_changed
Source
read_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

Source
system_mode
Source
system_mode=(mode : SystemMode)

Programmatic mode change

Source
thermostat_running_mode
Source
thermostat_running_mode=(thermostat_running_mode : ThermostatRunningMode)
Source
update_local_temperature(value : Int16 | Nil)

Update local temperature (typically called from a paired temperature sensor)

Source
write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status

Write an attribute value

Source

Nested types