TemperatureSetting Trait Schema

action.devices.traits.TemperatureSetting - This trait covers handling both temperature point and modes.

Attribute Definition
availableThermostatModes Comma-separated list of modes supported by this specific device. Currently supports specific known modes from the following list; more and custom ones will be added as needed. These modes all have local expansion aliases (off == "standby", etc).
  • off Heating/Cooling activity disabled.
  • heat If the device supports heating.
  • cool If the device supports cooling.
  • on If off, on restores the previous mode of the device.
  • heatcool If the device supports maintaining heating/cooling to target a range.
  • auto If the device supports an "automatic" mode where the temperature is set based on a schedule, learned behavior, AI, or some other related mechanism.
  • fan-only If the device supports a mode where only the fan is on (not fan and another mode like cool.)
  • purifier If the device supports a purifying mode.
  • eco If the device supports an "eco" (that is, energy-saving) mode.
  • dry If the device supports a dry mode
thermostatTemperatureRange Object. Optional. Contains two float values that indicate the supported minimum and maximum temperature range for this device (in degrees Celsius):
  • minThresholdCelsius
  • maxThresholdCelsius


Command Parameters/Definition
action.devices.commands.ThermostatTemperatureSetpoint thermostatTemperatureSetpoint Float (in speech we generally take 1 decimal point, for Celsius users).
action.devices.commands.ThermostatTemperatureSetRange thermostatTemperatureSetpointHigh
Floats. The high and low set points for a range. This works if and only if the device supports heatcool mode, and we will set that mode if a range is requested.
action.devices.commands.ThermostatSetMode thermostatMode One of the supported modes on the device.

This command is only available if the commandOnlyTemperatureSetting attribute of the device is set to true. Only one of the following parameters will be set:

  • thermostatTemperatureRelativeDegree Float. The exact number of degrees of the temperature to change (for example, Turn down 5 degrees).

  • thermostatTemperatureRelativeWeight Integer in the range [-5, 5]. This indicates the amount of ambiguous temperature change from a small amount (Turn down a little), to a large amount (A lot warmer).

Sample EXECUTE Request

  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123",
          "customData": {
            "fooValue": 74,
            "barValue": true,
            "bazValue": "sheepdip"
        "execution": [{
          "command": "action.devices.commands.ThermostatTemperatureSetpoint",
          "params": {
            "thermostatTemperatureSetpoint": 22.0