Esquema de ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Esse trait pertence a tipos de dispositivos de TERMOSTATO que oferecem suporte à definição da temperatura-alvo e da faixa de temperatura.
Campos
| Campo | Descrição | Tipo de dados |
|---|---|---|
heatCelsius |
Temperatura-alvo em graus Celsius para os modos AQUECER e AQUECER/RESFRIAR do termostato. | numberExemplo: 20,0 |
coolCelsius |
Temperatura-alvo em graus Celsius para os modos RESFRIAR e AQUECER/RESFRIAR do termostato. | numberExemplo: 22,0 |
Exemplo de solicitação GET e resposta: AQUECER
Solicitação
GET /enterprises/project-id/devices/device-id
Resposta
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatTemperatureSetpoint" : {
"heatCelsius" : 20.0,
}
}
}Exemplo de solicitação GET e resposta: RESFRIAR
Solicitação
GET /enterprises/project-id/devices/device-id
Resposta
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatTemperatureSetpoint" : {
"coolCelsius" : 22.0
}
}
}Exemplo de solicitação GET e resposta: AQUECER/RESFRIAR
Solicitação
GET /enterprises/project-id/devices/device-id
Resposta
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatTemperatureSetpoint" : {
"heatCelsius" : 20.0,
"coolCelsius" : 22.0
}
}
}Comandos
O termostato precisa estar no modo correspondente ao comando que está sendo chamado antes de mudar os pontos de ajuste de temperatura. O comando e os campos para mudar as temperaturas programadas variam de acordo com o modo do termostato.
Por exemplo, para emitir o SetHeat comando, o termostato precisa estar no modo AQUECER:
| Modo | Comando | Campo(s) |
|---|---|---|
| AQUECER | SetHeat | heatCelsius |
| COOL | SetCool | coolCelsius |
| AQUECER/RESFRIAR | SetRange | heatCelsius, coolCelsius |
Observação: os comandos de temperatura programada só aceitam graus Celsius como parâmetro, embora o Google Nest Thermostat possa mostrar a temperatura em graus Celsius ou Fahrenheit.
SetHeat
Define a temperatura-alvo quando o termostato está no modo AQUECER.
Solicitação e resposta de SetHeat
Solicitação
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
"params" : {
"heatCelsius" : 22.0
}
}
Resposta
{}
Campos de solicitação de SetHeat
| Campo | Descrição | Tipo de dados |
|---|---|---|
heatCelsius |
A temperatura-alvo a ser definida quando o termostato está no modo AQUECER. | numberExemplo: 22,0 |
SetCool
Define a temperatura-alvo quando o termostato está no modo RESFRIAR.
Solicitação e resposta de SetCool
Solicitação
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetCool",
"params" : {
"coolCelsius" : 20.0
}
}
Resposta
{}
Campos de solicitação de SetCool
| Campo | Descrição | Tipo de dados |
|---|---|---|
coolCelsius |
A temperatura-alvo a ser definida quando o termostato está no modo RESFRIAR. | numberExemplo: 20,0 |
SetRange
Define as temperaturas mínima e máxima quando o termostato está no modo AQUECER/RESFRIAR.
Solicitação e resposta de SetRange
Solicitação
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetRange",
"params" : {
"heatCelsius" : 20.0,
"coolCelsius" : 22.0
}
}
Resposta
{}
Campos de solicitação de SetRange
| Campo | Descrição | Tipo de dados |
|---|---|---|
heatCelsius |
A temperatura-alvo mínima a ser definida quando o termostato está no modo AQUECER/RESFRIAR. | numberExemplo: 20,0 |
coolCelsius |
A temperatura-alvo máxima a ser definida quando o termostato está no modo AQUECER/RESFRIAR. | numberExemplo: 22,0 |
Erros
Os seguintes códigos de erro podem ser retornados em relação a esse trait:
| Mensagem de erro | RPC | Solução de problemas |
|---|---|---|
| O comando não é permitido no modo atual do termostato. | FAILED_PRECONDITION |
Alguns modelos de termostato não permitem mudar o modo Eco quando o termostato está DESLIGADO, de acordo com o trait ThermostatMode. O modo do termostato precisa ser alterado para AQUECER, RESFRIAR ou AQUECER/RESFRIAR antes de mudar o modo Eco. |
| O valor de resfriamento precisa ser maior que o valor de aquecimento. | INVALID_ARGUMENT |
Verifique se o campo heatCelsius é menor que o campo coolCelsius no comando. |
| O comando não é permitido quando o termostato está no modo MANUAL_ECO. | FAILED_PRECONDITION |
A temperatura programada não pode ser definida quando o termostato está no modo Eco manual. |
Consulte a Referência de códigos de erro da API para conferir a lista completa de códigos de erro da API.