Smart Home TemperatureControl Trait Schema

action.devices.traits.TemperatureControl - Trait for devices (other than thermostats) that support controlling temperature, either within or around the device.

This differs from the TemperatureSetting trait, which is specifically for thermostat-style controls.

Device ATTRIBUTES

Devices with this trait may report the following attributes as part of the SYNC operation. To learn more about handling SYNC intents, see Intent fulfillment.

Attributes Type Description
temperatureRange Object

Required.

Supported temperature range of the device.

minThresholdCelsius Number

Required.

Minimum temperature for the range, in degrees Celsius.

maxThresholdCelsius Number

Required.

Maximum temperature for the range, in degrees Celsius.

temperatureStepCelsius Number

Specifies the relative temperature step. This is the minimum adjustment interval the device supports. If unspecified, relative steps are calculated as a percentage of temperatureRange.

temperatureUnitForUX String

Required.

Temperature unit used in responses to the user.

Supported values:

C
F
commandOnlyTemperatureControl Boolean

(Default: false)

Indicates if the device supports using one-way (true) or two-way (false) communication. Set this attribute to true if the device cannot respond to a QUERY intent or Report State for this trait.

queryOnlyTemperatureControl Boolean

(Default: false)

Required if the device supports query-only execution. This attribute indicates if the device can only be queried for state information, and cannot be controlled.

Examples

Device supporting control between 150 and 500 degrees Fahrenheit, in 5 degree increments.

{
  "temperatureRange": {
    "minThresholdCelsius": 65.5,
    "maxThresholdCelsius": 260
  },
  "temperatureStepCelsius": 2.778,
  "temperatureUnitForUX": "F"
}

Device STATES

Devices with this trait may report the following states as part of the QUERY operation. To learn more about handling QUERY intents, see Intent fulfillment.

States Type Description
temperatureSetpointCelsius Number

Required.

The current temperature setpoint, in degrees Celsius. Must fall within temperatureRange.

temperatureAmbientCelsius Number

The currently observed temperature, in degrees Celsius. Must fall within temperatureRange.

Examples

What temperature is the device set to?

{
  "temperatureSetpointCelsius": 150
}

Device COMMANDS

Devices with this trait may respond to the following commands as part of the EXECUTE operation. To learn more about handling EXECUTE intents, see Intent fulfillment.

action.devices.commands.SetTemperature

Set the temperature to a specific value.

Parameters

Parameters Type Description
temperature Number

Required.

The temperature to set, in degrees Celsius. Must fall within temperatureRange.

Examples

Set the device to 350 degrees Fahrenheit.

{
  "command": "action.devices.commands.SetTemperature",
  "params": {
    "temperature": 176.67
  }
}

An error occurred setting the target temperature.

Supported values:

alreadyAtMax
alreadyAtMin
valueOutOfRange

Device ERRORS

See the full list of errors and exceptions.