Esquema de ThermostatTemperatureSetpoint

Nest Thermostat 

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. number
Exemplo: 20,0
coolCelsius Temperatura-alvo em graus Celsius para os modos RESFRIAR e AQUECER/RESFRIAR do termostato. number
Exemplo: 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. number
Exemplo: 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. number
Exemplo: 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. number
Exemplo: 20,0
coolCelsius A temperatura-alvo máxima a ser definida quando o termostato está no modo AQUECER/RESFRIAR. number
Exemplo: 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.