Esquema ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Esse traço pertence a tipos de dispositivos THERMOSTAT que aceitam definir a temperatura desejada e o intervalo 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 desejada em graus Celsius para os modos RESFRIAR e AQUECER/RESFRIAR do termostato. | numberExemplo: 22.0 | 
Exemplo de solicitação e resposta GET: HEAT
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 e resposta GET: COOL
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 e resposta GET: HEATCOOL
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 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 comando SetHeat, o termostato precisa estar no modo AQUECER primeiro:
| Modo | Comando | Campo(s) | 
|---|---|---|
| AQUECIMENTO | SetHeat | heatCelsius | 
| COOL | SetCool | coolCelsius | 
| HEATCOOL | SetRange | heatCelsius,coolCelsius | 
Os comandos de temperatura programada usam apenas graus Celsius como parâmetro, mas o termostato Google Nest pode mostrar a temperatura em graus Celsius ou Fahrenheit.
SetHeat
Define a temperatura desejada 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 da solicitação SetHeat
| Campo | Descrição | Tipo de dados | 
|---|---|---|
| heatCelsius | A temperatura desejada a ser definida quando o termostato está no modo AQUECER. | numberExemplo: 22.0 | 
SetCool
Define a temperatura desejada quando o termostato está no modo RESFRIAR.
Solicitação e resposta 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 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 HEATCOOL.
Solicitação e resposta 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 da solicitação SetRange
| Campo | Descrição | Tipo de dados | 
|---|---|---|
| heatCelsius | A temperatura mínima desejada a ser definida quando o termostato está no modo HEATCOOL. | numberExemplo: 20,0 | 
| coolCelsius | A temperatura máxima a ser definida quando o termostato está no modo HEATCOOL. | numberExemplo: 22.0 | 
Erros
Os seguintes códigos de erro podem ser retornados em relação a esse traço:
| 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 modo do termostato está DESATIVADO, de acordo com a característica ThermostatMode . O modo do termostato precisa ser mudado para AQUECER, RESFRIAR ou AQUECERRESFRIAR antes de mudar o modo econômico. | 
| O valor de resfriamento precisa ser maior que o valor de aquecimento. | INVALID_ARGUMENT | Verifique se o campo heatCelsiusé menor que o campocoolCelsiusno comando. | 
| O comando não é permitido quando o termostato está no modo MANUAL_ECO. | FAILED_PRECONDITION | Não é possível definir o ponto de ajuste de temperatura 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.
