ThermostatTrait.Attributes

@Generated(value = ["GoogleHomePlatformCodegen"])
interface ThermostatTrait.Attributes : ClusterStruct

Known direct subclasses
Thermostat

API for the Thermostat trait.


Attributes for the Thermostat cluster.

Summary

Public functions

open StructDescriptor

Returns the descriptor for the struct.

open Any?

Returns the value of the field for the given tag ID.

Public properties

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?

The active preset.

ByteArray?

The active schedule.

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.

ThermostatTrait.ThermostatSuggestionStruct?

This is provisional and is not available for use.

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.

ThermostatTrait.HvacSystemTypeBitmap?

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.

UByte?

This is provisional and is not available for use.

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?

The number of presets the thermostat can handle.

UByte?

The number of schedule transitions per day the thermostat can handle.

UByte?

The number of schedule transitions the thermostat can handle.

UByte?

The number of schedules the thermostat can handle.

UByte?

The number of weekly schedule transitions the thermostat can handle.

ThermostatTrait.OccupancyBitmap?

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?

The outdoor temperature, as measured locally or remotely (over the network).

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>?

Types of setpoint presets available.

List<ThermostatTrait.PresetStruct>?

Setpoint presets.

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>?

Types of schedule available.

List<ThermostatTrait.ScheduleStruct>?

Schedules.

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 UTC time at which the setpointChangeSource change was recorded.

UInt?

The UTC time at which the ThermostatTrait.Attributes.setpointHold expires.

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.ProgrammingOperationModeBitmap?

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.

ThermostatTrait.ThermostatSuggestionNotFollowingReasonBitmap?
List<ThermostatTrait.ThermostatSuggestionStruct>?

This is provisional and is not available for use.

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.

Public functions

getDescriptor

@HomeExperimentalGenericApi
open fun getDescriptor(): StructDescriptor

Returns the descriptor for the struct.

getFieldValueById

@HomeExperimentalGenericApi
open fun getFieldValueById(tagId: UInt): Any?

Returns the value of the field for the given tag ID.

Public properties

absMaxCoolSetpointLimit

val absMaxCoolSetpointLimit: Short?

The absolute maximum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer.

Access type: Read

absMaxHeatSetpointLimit

val absMaxHeatSetpointLimit: Short?

The absolute maximum level that the heating setpoint may be set to. This is a limitation imposed by the manufacturer.

Access type: Read

absMinCoolSetpointLimit

val absMinCoolSetpointLimit: Short?

The absolute minimum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer.

Access type: Read

absMinHeatSetpointLimit

val absMinHeatSetpointLimit: Short?

The absolute minimum level that the heating setpoint may be set to. This is a limitation imposed by the manufacturer.

Access type: Read

acCapacity

val acCapacity: UShort?

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

Access type: Write

acCapacityformat

val acCapacityformat: ThermostatTrait.AcCapacityFormatEnum?

The format for ThermostatTrait.Attributes.ACCapacity.

Access type: Write

acCoilTemperature

val acCoilTemperature: Short?

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

Access type: Read

acCompressorType

val acCompressorType: ThermostatTrait.AcCompressorTypeEnum?

The type of compressor used within the mini split AC.

Access type: Write

acErrorCode

val acErrorCode: ThermostatTrait.AcErrorCodeBitmap?

This bitmap indicates the type of errors encountered within the mini split AC. Error codes are reported with four-byte values. Each bit within the four bytes indicates a unique error code. For more details, see the Matter Specification.

Access type: Write

acLouverPosition

val acLouverPosition: ThermostatTrait.AcLouverPositionEnum?

The position of the louver on the AC.

Access type: Write

acRefrigerantType

val acRefrigerantType: ThermostatTrait.AcRefrigerantTypeEnum?

Type of refrigerant used within the mini split AC.

Access type: Write

acType

val acType: ThermostatTrait.AcTypeEnum?

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

Access type: Write

acceptedCommandList

val acceptedCommandList: List<UInt>

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

activePresetHandle

val activePresetHandle: ByteArray?

The active preset.

Access type: Read

activeScheduleHandle

val activeScheduleHandle: ByteArray?

The active schedule.

Access type: Read

attributeList

val attributeList: List<UInt>

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

clusterRevision

val clusterRevision: UShort

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

controlSequenceOfOperation

val controlSequenceOfOperation: ThermostatTrait.ControlSequenceOfOperationEnum?

The possible system modes that the thermostat can operate in. Valid modes are defined by ThermostatTrait.Attributes.ControlSequenceOfOperationEnum.

Access type: Write

currentThermostatSuggestion

val currentThermostatSuggestion: ThermostatTrait.ThermostatSuggestionStruct?

This is provisional and is not available for use.

Access type: Read

emergencyHeatDelta

val emergencyHeatDelta: UByte?

The delta between the localTemperature attribute and occupiedHeatingSetpoint or unoccupiedHeatingSetpoint at which the thermostat server will operate in emergency heat mode. The purpose of this attribute is to provide thermostat clients the ability to configure rapid heating when a setpoint is of a specified amount greater than the measured temperature. This allows the heated space to be quickly heated to the desired level set by the user.

Access type: Write

featureMap

val featureMap: ThermostatTrait.Feature

Whether the server supports zero or more optional cluster features. A cluster feature is a set of cluster elements that are mandatory or optional for a defined feature of the cluster. If a cluster feature is supported by the cluster instance, then the corresponding bit is set to 1, otherwise the bit is set to 0 (zero).

generatedCommandList

val generatedCommandList: List<UInt>

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

hvacSystemTypeConfiguration

val hvacSystemTypeConfiguration: ThermostatTrait.HvacSystemTypeBitmap?

The HVAC system type controlled by the thermostat. Each bit represents a type of system configuration.

Access type: Write

localTemperature

val localTemperature: Short?

The current temperature. The value may be local or remote, depending on the value of RemoteSensing.

Access type: Read

localTemperatureCalibration

val localTemperatureCalibration: 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. The purpose of this attribute is to adjust the calibration of the thermostat server according to the user's preferences (for example, to match if there are multiple servers displaying different values for the same HVAC area) or compensate for variability amongst temperature sensors.

Access type: Write

maxCoolSetpointLimit

val maxCoolSetpointLimit: Short?

The maximum level that the cooling setpoint may be set to. This allows the user to define setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for example, in a commercial building) to such setpoint limits can help conserve power.

Access type: Write

maxHeatSetpointLimit

val maxHeatSetpointLimit: Short?

The maximum level that the heating setpoint may be set to. This allows the user to define setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for example, in a commercial building) to such setpoint limits can help conserve power.

Access type: Write

maxThermostatSuggestions

val maxThermostatSuggestions: UByte?

This is provisional and is not available for use.

Access type: Read

minCoolSetpointLimit

val minCoolSetpointLimit: Short?

The minimum level that the cooling setpoint may be set to. This allows the user to define setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for example, in a commercial building) to such setpoint limits can help conserve power.

Access type: Write

minHeatSetpointLimit

val minHeatSetpointLimit: Short?

The minimum level that the heating setpoint may be set to. This allows the user to define setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for example, in a commercial building) to such setpoint limits can help conserve power.

Access type: Write

minSetpointDeadBand

val minSetpointDeadBand: Byte?

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

Access type: Write

numberOfDailyTransitions

val numberOfDailyTransitions: UByte?

The number of daily schedule transitions the thermostat can handle.

Access type: Read

numberOfPresets

val numberOfPresets: UByte?

The number of presets the thermostat can handle.

Access type: Read

numberOfScheduleTransitionPerDay

val numberOfScheduleTransitionPerDay: UByte?

The number of schedule transitions per day the thermostat can handle.

Access type: Read

numberOfScheduleTransitions

val numberOfScheduleTransitions: UByte?

The number of schedule transitions the thermostat can handle.

Access type: Read

numberOfSchedules

val numberOfSchedules: UByte?

The number of schedules the thermostat can handle.

Access type: Read

numberOfWeeklyTransitions

val numberOfWeeklyTransitions: UByte?

The number of weekly schedule transitions the thermostat can handle.

Access type: Read

occupancy

val occupancy: ThermostatTrait.OccupancyBitmap?

This specifies whether the heated or cooled space is occupied or not, as measured locally or remotely (over the network). If bit 0 = 1, the space is occupied, else it is unoccupied. All other bits are reserved.

Access type: Read

occupiedCoolingSetpoint

val occupiedCoolingSetpoint: Short?

The cooling mode setpoint when the room is occupied.

Access type: Write

occupiedHeatingSetpoint

val occupiedHeatingSetpoint: Short?

The heating mode setpoint when the room is occupied.

Access type: Write

occupiedSetback

val occupiedSetback: 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. This is sometimes also referred to as the 'span'. The purpose of this is to allow remote configuration of the span between the desired setpoint and the measured temperature to help prevent over-cycling and reduce energy bills, though this may result in lower comfort on the part of some users. A null value indicates the attribute is unused.

Access type: Write

occupiedSetbackMax

val occupiedSetbackMax: UByte?

The maximum value that the user can set the occupiedSetback to. A null value indicates the attribute is unused.

Access type: Read

occupiedSetbackMin

val occupiedSetbackMin: UByte?

The minimum value that the user can set the occupiedSetback to. A null value indicates the attribute is unused.

Access type: Read

outdoorTemperature

val outdoorTemperature: Short?

The outdoor temperature, as measured locally or remotely (over the network).

Access type: Read

piCoolingDemand

val piCoolingDemand: UByte?

The level of cooling demanded by the PI (proportional integral) control loop in use by the thermostat (if any), in percent. This value is 0 when the thermostat is in 'off' or 'heating' mode.

Access type: Read

piHeatingDemand

val piHeatingDemand: UByte?

The level of heating demanded by the PI (proportional integral) control loop in use by the thermostat (if any), in percent. This value is 0 when the thermostat is in 'off' or 'cooling' mode.

Access type: Read

presetTypes

val presetTypes: List<ThermostatTrait.PresetTypeStruct>?

Types of setpoint presets available.

Access type: Read

presets

val presets: List<ThermostatTrait.PresetStruct>?

Setpoint presets.

Access type: Write

remoteSensing

val remoteSensing: ThermostatTrait.RemoteSensingBitmap?

This bitmap indicates when the local temperature, outdoor temperature and occupancy are being sensed by remote networked sensors, rather than internal sensors. A bit set to 1 indicates remote sensing of the relevant value. For more details, see the Matter Specification.

Access type: Write

scheduleTypes

val scheduleTypes: List<ThermostatTrait.ScheduleTypeStruct>?

Types of schedule available.

Access type: Read

schedules

val schedules: List<ThermostatTrait.ScheduleStruct>?

Schedules.

Access type: Write

setpointChangeAmount

val setpointChangeAmount: Short?

The delta between the current active occupiedCoolingSetpoint or occupiedHeatingSetpoint and the previous active setpoint. A null value indicates that the previous setpoint was unknown.

Access type: Read

setpointChangeSource

val setpointChangeSource: ThermostatTrait.SetpointChangeSourceEnum?

The source of the current active occupiedCoolingSetpoint or occupiedHeatingSetpoint (in other words, who or what determined the current setpoint). This enables service providers to determine whether changes to setpoints were initiated due to occupant comfort, scheduled programming, or some other source, such as an electric utility or service provider. Because automation services may initiate frequent setpoint changes, this attribute clearly differentiates the source of setpoint changes made at the thermostat.

Access type: Read

setpointChangeSourceTimestamp

val setpointChangeSourceTimestamp: UInt?

The UTC time at which the setpointChangeSource change was recorded.

Access type: Read

setpointHoldExpiryTimestamp

val setpointHoldExpiryTimestamp: UInt?

The UTC time at which the ThermostatTrait.Attributes.setpointHold expires.

Access type: Read

startOfWeek

val startOfWeek: ThermostatTrait.StartOfWeekEnum?

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

Access type: Read

systemMode

val systemMode: ThermostatTrait.SystemModeEnum?

The current operating mode of the thermostat. Valid values are defined by ThermostatTrait.Attributes.SystemModeEnum.

Access type: Write

temperatureSetpointHold

val temperatureSetpointHold: ThermostatTrait.TemperatureSetpointHoldEnum?

The temperature hold status on the thermostat.

Access type: Write

temperatureSetpointHoldDuration

val temperatureSetpointHoldDuration: UShort?

This sets the period in minutes for which a setpoint hold is active. A null value indicates the field is unused. All other values are reserved.

Access type: Write

thermostatProgrammingOperationMode

val thermostatProgrammingOperationMode: ThermostatTrait.ProgrammingOperationModeBitmap?

The operational state of the thermostat's programming. For complete details, see the Matter Specification.

Access type: Write

thermostatRunningMode

val thermostatRunningMode: ThermostatTrait.ThermostatRunningModeEnum?

The running mode of the thermostat. This attribute uses the ThermostatTrait.Attributes.ThermostatRunningModeEnum values. This attribute is intended to provide additional information when the thermostat is in auto mode.

Access type: Read

thermostatRunningState

val thermostatRunningState: ThermostatTrait.RelayStateBitmap?

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

Access type: Read

thermostatSuggestions

val thermostatSuggestions: List<ThermostatTrait.ThermostatSuggestionStruct>?

This is provisional and is not available for use.

Access type: Read

unoccupiedCoolingSetpoint

val unoccupiedCoolingSetpoint: Short?

The cooling mode setpoint when the room is unoccupied.

Access type: Write

unoccupiedHeatingSetpoint

val unoccupiedHeatingSetpoint: Short?

The heating mode setpoint when the room is unoccupied.

Access type: Write

unoccupiedSetback

val unoccupiedSetback: 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. This attribute is sometimes also referred to as the 'span'. The purpose of this attribute is to allow remote configuration of the span between the desired setpoint and the measured temperature to help prevent over-cycling and reduce energy bills, though this may result in lower comfort on the part of some users. A null value indicates the attribute is unused.

Access type: Write

unoccupiedSetbackMax

val unoccupiedSetbackMax: UByte?

The maximum value that the user can set the unoccupiedSetback to. A null value indicates the attribute is unused.

Access type: Read

unoccupiedSetbackMin

val unoccupiedSetbackMin: UByte?

The minimum value that the user can set the unoccupiedSetback to. A null value indicates the attribute is unused.

Access type: Read