Esquema de ThermostatTemperatureSetpoint

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

Esta característica pertenece a los tipos de dispositivos de THERMOSTAT que admiten la configuración de la temperatura objetivo y el rango de temperatura.

Campos

Campo Descripción Tipo de datos
heatCelsius Es la temperatura objetivo en grados Celsius para los modos CALOR y CALOR/FRÍO del termostato. number
Ejemplo: 20.0
coolCelsius Temperatura objetivo en grados Celsius para los modos COOL y HEATCOOL del termostato. number
Ejemplo: 22.0

Ejemplo de solicitud GET y respuesta: HEAT

Solicitud

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

Respuesta

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
    }
  }
}

Ejemplo de solicitud y respuesta GET: COOL

Solicitud

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

Respuesta

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "coolCelsius" : 22.0
    }
  }
}

Ejemplo de solicitud y respuesta GET: HEATCOOL

Solicitud

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

Respuesta

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  }
}

Comandos

El termostato debe estar en el modo que corresponda al comando al que se llama antes de cambiar los puntos de ajuste de la temperatura. El comando y los campos para cambiar los puntos de ajuste varían según el modo del termostato.

Por ejemplo, para emitir el comando SetHeat, el termostato debe estar en modo CALOR:

Modo Comando Campos
CALOR SetHeat heatCelsius
FRÍO SetCool coolCelsius
HEATCOOL SetRange heatCelsius, coolCelsius

Ten en cuenta que los comandos de punto de ajuste solo toman grados Celsius como parámetro, aunque el Google Nest Thermostat puede mostrar la temperatura en grados Celsius o Fahrenheit.

SetHeat

Establece la temperatura objetivo cuando el termostato está en modo CALOR.

Solicitud y respuesta de SetHeat

Solicitud

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
  "params" : {
    "heatCelsius" : 22.0
  }
}

Respuesta

{}

Campos de la solicitud de SetHeat

Campo Descripción Tipo de datos
heatCelsius Es la temperatura objetivo que se debe establecer cuando el termostato está en modo CALOR. number
Ejemplo: 22.0

SetCool

Establece la temperatura objetivo cuando el termostato está en modo FRÍO.

Solicitud y respuesta de SetCool

Solicitud

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetCool",
  "params" : {
    "coolCelsius" : 20.0
  }
}

Respuesta

{}

Campos de solicitud SetCool

Campo Descripción Tipo de datos
coolCelsius La temperatura final que se establecerá cuando el termostato esté en el modo FRÍO. number
Ejemplo: 20.0

SetRange

Establece las temperaturas mínima y máxima cuando el termostato está en el modo HEATCOOL.

Solicitud y respuesta de SetRange

Solicitud

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetRange",
  "params" : {
    "heatCelsius" : 20.0,
    "coolCelsius" : 22.0
  }
}

Respuesta

{}

Campos de solicitud SetRange

Campo Descripción Tipo de datos
heatCelsius La temperatura final mínima que se debe establecer cuando el termostato está en el modo HEATCOOL. number
Ejemplo: 20.0
coolCelsius La temperatura final máxima que se debe establecer cuando el termostato está en el modo HEATCOOL. number
Ejemplo: 22.0

Errores

En relación con este atributo, se pueden mostrar los siguientes códigos de error:

Mensaje de error RPC Solución de problemas
No se permite el comando en el modo actual del termostato. FAILED_PRECONDITION Algunos modelos de termostatos no admiten el cambio del modo Eco cuando el modo del termostato está desactivado, según el atributo ThermostatMode . El modo del termostato debe cambiarse a CALOR, FRÍO o CALOR/FRÍO antes de cambiar el modo Eco.
El valor de enfriamiento debe ser mayor que el valor de calor. INVALID_ARGUMENT Asegúrate de que el campo heatCelsius sea menor que el campo coolCelsius en tu comando.
No se permite el comando cuando el termostato está en el modo MANUAL_ECO. FAILED_PRECONDITION No se puede establecer el punto de ajuste de la temperatura cuando el termostato está en modo Eco manual.

Consulta la Referencia de códigos de error de la API para obtener la lista completa de los códigos de error de la API.