Thermostat

interface Thermostat : ThermostatTrait.Attributes, MatterTrait, Updatable, ThermostatCommands


API for the Thermostat trait. This trait provides an interface to the functionality of a thermostat.

Summary

Nested types

Descriptor enum for this trait's attributes.

Descriptor enum for this trait's commands.

Public functions

Boolean
Boolean

Public properties

open TraitFactory<Thermostat>

Inherited functions

From com.google.home.matter.standard.ThermostatCommands
suspend Unit
suspend Unit
suspend Unit

Clear the weekly schedule.

suspend Unit
suspend ThermostatTrait.GetWeeklyScheduleCommand.Response

Get the weekly schedule for the device.

suspend Unit
suspend Unit
suspend Unit
suspend Unit
setWeeklySchedule(
    numberOfTransitionsForSequence: UByte,
    dayOfWeekForSequence: ThermostatTrait.ScheduleDayOfWeekBitmap,
    modeForSequence: ThermostatTrait.ScheduleModeBitmap,
    transitions: List<ThermostatTrait.WeeklyScheduleTransitionStruct>
)

Set the weekly schedule.

suspend Unit

Change the setpoint for the current thermostat mode.

suspend Unit
From com.google.home.TraitStateInvalidation
suspend Unit
From com.google.home.Updatable
suspend Thermostat
update(optimisticReturn: (Thermostat) -> Unit, init: ThermostatTrait.MutableAttributes.() -> Unit)

Creates a mutable copy of an object and calls the given function to mutate it, then saves it and returns a new immutable copy with the updated state.

Inherited properties

From com.google.home.matter.standard.ThermostatTrait.Attributes
Short?

The absolute maximum level that the cooling setpoint may be set to.

Short?

The absolute maximum level that the heating setpoint may be set to.

Short?

The absolute minimum level that the cooling setpoint may be set to.

Short?

The absolute minimum level that the heating setpoint may be set to.

UShort?

The capacity of the mini split AC as expressed by ThermostatTrait.Attributes.ACCapacityformat.

ThermostatTrait.AcCapacityFormatEnum?

The format for ThermostatTrait.Attributes.ACCapacity.

Short?

The temperature of the AC coil, as measured locally or remotely (over the network).

ThermostatTrait.AcCompressorTypeEnum?

The type of compressor used within the mini split AC.

ThermostatTrait.AcErrorCodeBitmap?

This bitmap indicates the type of errors encountered within the mini split AC.

ThermostatTrait.AcLouverPositionEnum?

The position of the louver on the AC.

ThermostatTrait.AcRefrigerantTypeEnum?

Type of refrigerant used within the mini split AC.

ThermostatTrait.AcTypeEnum?

The type of mini split AC in terms of how cooling and heating is accomplished by the device.

List<UInt>

A list of client-generated commands which are supported by this cluster server instance.

ByteArray?
ByteArray?
List<UInt>

A list of the attribute IDs of the attributes supported by the cluster instance.

UShort

The revision of the server cluster specification supported by the cluster instance.

ThermostatTrait.ControlSequenceOfOperationEnum?

The possible system modes that the thermostat can operate in.

UByte?

The delta between the localTemperature attribute and occupiedHeatingSetpoint or unoccupiedHeatingSetpoint at which the thermostat server will operate in emergency heat mode.

ThermostatTrait.Feature

Whether the server supports zero or more optional cluster features.

List<UInt>

A list of server-generated commands (server to client) which are supported by this cluster server instance.

UByte?

The HVAC system type controlled by the thermostat.

Short?

The current temperature.

Byte?

The offset the thermostat server makes to the measured temperature (locally or remotely) to adjust the localTemperature attribute prior to using, displaying or reporting it.

Short?

The maximum level that the cooling setpoint may be set to.

Short?

The maximum level that the heating setpoint may be set to.

Short?

The minimum level that the cooling setpoint may be set to.

Short?

The minimum level that the heating setpoint may be set to.

Byte?

On devices which support the auto feature, this specifies the minimum difference between the heat setpoint and the cool setpoint.

UByte?

The number of daily schedule transitions the thermostat can handle.

UByte?
UByte?
UByte?
UByte?
UByte?

The number of weekly schedule transitions the thermostat can handle.

UByte?

This specifies whether the heated or cooled space is occupied or not, as measured locally or remotely (over the network).

Short?

The cooling mode setpoint when the room is occupied.

Short?

The heating mode setpoint when the room is occupied.

UByte?

The amount that the thermostat will allow the localTemperature attribute to float above the occupiedCoolingSetpoint (in other words, occupiedCoolingSetpoint + occupiedSetback ) or below the occupiedHeatingSetpoint (in other words, occupiedHeatingSetpoint - occupiedSetback ) before initiating a state change to bring the temperature back to the user's desired setpoint.

UByte?

The maximum value that the user can set the occupiedSetback to.

UByte?

The minimum value that the user can set the occupiedSetback to.

Short?
UByte?

The level of cooling demanded by the PI (proportional integral) control loop in use by the thermostat (if any), in percent.

UByte?

The level of heating demanded by the PI (proportional integral) control loop in use by the thermostat (if any), in percent.

List<ThermostatTrait.PresetTypeStruct>?
List<ThermostatTrait.PresetStruct>?
Boolean?
ThermostatTrait.QueuedPresetStruct?
ThermostatTrait.RemoteSensingBitmap?

This bitmap indicates when the local temperature, outdoor temperature and occupancy are being sensed by remote networked sensors, rather than internal sensors.

List<ThermostatTrait.ScheduleTypeStruct>?
List<ThermostatTrait.ScheduleStruct>?
Short?

The delta between the current active occupiedCoolingSetpoint or occupiedHeatingSetpoint and the previous active setpoint.

ThermostatTrait.SetpointChangeSourceEnum?

The source of the current active occupiedCoolingSetpoint or occupiedHeatingSetpoint (in other words, who or what determined the current setpoint).

UInt?

The time in UTC at which the ThermostatTrait.Attributes.setpointChangeSourceAmount change was recorded.

UInt?
ThermostatTrait.StartOfWeekEnum?

The day of the week that this thermostat considers to be the start of week for weekly setpoint scheduling.

ThermostatTrait.SystemModeEnum?

The current operating mode of the thermostat.

ThermostatTrait.TemperatureSetpointHoldEnum?

The temperature hold status on the thermostat.

UShort?

This sets the period in minutes for which a setpoint hold is active.

ThermostatTrait.TemperatureSetpointHoldPolicyBitmap?
ThermostatTrait.ProgrammingOperationModeBitmap?

This bitmap determines the operational state of the thermostat's programming.

ThermostatTrait.ThermostatRunningModeEnum?

The running mode of the thermostat.

ThermostatTrait.RelayStateBitmap?

The current relay state of the heat, cool, and fan relays.

Short?

The cooling mode setpoint when the room is unoccupied.

Short?

The heating mode setpoint when the room is unoccupied.

UByte?

The amount that the thermostat server will allow the localTemperature attribute to float above the ThermostatTrait.Attributes.unoccupiedCoolingSetback setpoint (in other words, ThermostatTrait.Attributes.unoccupiedCoolingSetback + unoccupiedSetback ) or below the ThermostatTrait.Attributes.unoccupiedHeatingSetback setpoint (in other words, ThermostatTrait.Attributes.unoccupiedHeatingSetback - unoccupiedSetback ) before initiating a state change to bring the temperature back to the user's desired setpoint.

UByte?

The maximum value that the user can set the unoccupiedSetback to.

UByte?

The minimum value that the user can set the unoccupiedSetback to.

From com.google.home.Trait

Public functions

supports

fun supports(attribute: Thermostat.Attribute): Boolean

supports

fun supports(command: Thermostat.Command): Boolean

Public properties

factory

open val factoryTraitFactory<Thermostat>