ThermostatEco Schema

Nest Thermostat 


This trait belongs to device types of THERMOSTAT that support ECO modes.


Field Description Data Type
availableModes List of supported Eco modes. array(string)
Value: ["MANUAL_ECO", "OFF"]
mode The current Eco mode of the thermostat. string
Values: "MANUAL_ECO", "OFF"
heatCelsius Lowest temperature in Celsius at which the thermostat begins heating in Eco mode. number
Example: 20.0
coolCelsius Highest temperature in Celsius at which the thermostat begins cooling in Eco mode. number
Example: 22.0

Sample GET request and response


GET /enterprises/project-id/devices/device-id


  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatEco" : {
      "availableModes" : ["MANUAL_ECO", "OFF"],
      "mode" : "MANUAL_ECO",
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0



Change the thermostat Eco mode.

To change the thermostat mode to HEAT, COOL, or HEATCOOL, use the SetMode command of the ThermostatMode trait.

This command impacts other traits, based on the current status of, or changes to, the Eco mode:

  • If Eco mode is OFF, the thermostat mode will default to the last standard mode (HEAT, COOL, HEATCOOL, or OFF) that was active.
  • If Eco mode is MANUAL_ECO:

SetMode request and response


POST /enterprises/project-id/devices/device-id:executeCommand
  "command" : "sdm.devices.commands.ThermostatEco.SetMode",
  "params" : {
    "mode" : "MANUAL_ECO"



SetMode request fields

Field Description Data Type
mode The Eco mode to change the thermostat to. string
Values: "MANUAL_ECO", "OFF"


The following error code(s) may be returned in relation to this trait:

Error Message RPC Troubleshooting
Command not allowed in current thermostat mode. FAILED_PRECONDITION Some thermostat models do not support changing the Eco mode when the thermostat mode is OFF, according to the ThermostatMode trait. The thermostat mode must be changed to HEAT, COOL, or HEATCOOL prior to changing the Eco mode.
Command not allowed when thermostat in MANUAL_ECO mode. FAILED_PRECONDITION The temperature setpoint cannot be set when the thermostat is in manual Eco mode.

See the API Error Code Reference for the full list of API error codes.