Esquema de ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Este trait pertenece a los tipos de dispositivos THERMOSTAT que admiten la configuración de la temperatura final y el rango de temperatura.
Campos
| Campo | Descripción | Tipo de datos |
|---|---|---|
heatCelsius |
Temperatura final en grados Celsius para los modos HEAT y HEATCOOL del termostato | numberEjemplo: 20.0 |
coolCelsius |
Temperatura final en grados Celsius para los modos COOL y HEATCOOL del termostato | numberEjemplo: 22.0 |
Ejemplo de solicitud y respuesta GET: 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 GET y respuesta: 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 corresponde al comando que se llama antes de cambiar los puntos de ajuste de 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 SetHeat comando, el termostato primero debe estar en modo HEAT:
| Modo | Comando | Campos |
|---|---|---|
| CALOR | SetHeat | heatCelsius |
| COOL | SetCool | coolCelsius |
| CALOR • FRÍO | SetRange | heatCelsius, coolCelsius |
Ten en cuenta que los comandos de punto de ajuste solo toman grados Celsius como parámetro, aunque el termostato Google Nest puede mostrar la temperatura en grados Celsius o Fahrenheit.
SetHeat
Establece la temperatura final cuando el termostato está en modo HEAT.
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 solicitud de SetHeat
| Campo | Descripción | Tipo de datos |
|---|---|---|
heatCelsius |
La temperatura final que se establecerá cuando el termostato esté en modo HEAT | numberEjemplo: 22.0 |
SetCool
Establece la temperatura final cuando el termostato está en modo COOL.
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 de SetCool
| Campo | Descripción | Tipo de datos |
|---|---|---|
coolCelsius |
La temperatura final que se establecerá cuando el termostato esté en modo COOL | numberEjemplo: 20.0 |
SetRange
Establece las temperaturas mínima y máxima cuando el termostato está en 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 de SetRange
| Campo | Descripción | Tipo de datos |
|---|---|---|
heatCelsius |
La temperatura final mínima que se establecerá cuando el termostato esté en modo HEATCOOL | numberEjemplo: 20.0 |
coolCelsius |
La temperatura final máxima que se establecerá cuando el termostato esté en modo HEATCOOL | numberEjemplo: 22.0 |
Errores
Es posible que se muestren los siguientes códigos de error relacionados con este trait:
| Mensaje de error | RPC | Solución de problemas |
|---|---|---|
| Command not allowed in current thermostat mode. | FAILED_PRECONDITION |
Algunos modelos de termostato no admiten el cambio del modo Eco cuando el modo del termostato está en OFF, según el traitThermostatMode . El modo del termostato debe cambiarse a HEAT, COOL o HEATCOOL antes de cambiar el modo Eco. |
| Cool value must be greater than heat value. | INVALID_ARGUMENT |
Asegúrate de que el heatCelsius campo sea menor que el coolCelsius campo en tu comando. |
| Command not allowed when thermostat in MANUAL_ECO mode. | FAILED_PRECONDITION |
El punto de ajuste de temperatura no se puede establecer cuando el termostato está en modo Eco manual. |
Consulta la Referencia de códigos de error de la API para ver la lista completa de códigos de error.