Esquema ThermostatTemperatura

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

Essa característica pertence a tipos de dispositivos de TERMOSTATO que oferecem suporte à definição de temperatura-alvo e faixa de temperatura.

Campos

Campo Descrição Tipo de dados
heatCelsius Temperatura-alvo em Celsius para os modos HEAT e HEATCOOL do termostato. number
Exemplo: 20,0
coolCelsius Temperatura-alvo em Celsius para os modos Resfriamento e HEATCOOL do termostato. number
Exemplo: 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

Antes da mudança, o termostato precisa estar no modo que corresponde ao comando chamado as temperaturas programadas. O comando e os campos para mudar as temperaturas programadas variam de acordo com o termostato modo

Por exemplo, para emitir o SetHeat o termostato precisa estar no modo Aquecer primeiro:

Modo Comando Campo(s)
AQUECIMENTO SetHeat heatCelsius
FRIO SetCool coolCelsius
AQUECIMENTO SetRange heatCelsius, coolCelsius

Os comandos de temperatura programada só usam graus em Celsius como parâmetro, embora o valor O Google Nest Thermostat pode mostrar a temperatura em graus Celsius ou Fahrenheit.

SetHeat

Define a temperatura-alvo quando o termostato está no modo Aquecer.

Solicitação e resposta 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 SetHeat

Campo Descrição Tipo de dados
heatCelsius É a temperatura-alvo que será definida quando o termostato estiver no modo Aquecer. number
Exemplo: 22,0

SetCool

Define a temperatura-alvo quando o termostato está no modo Resfriamento.

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 Resfriamento. number
Exemplo: 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 de solicitação SetRange

Campo Descrição Tipo de dados
heatCelsius É a temperatura-alvo mínima a ser definida quando o termostato está no modo HEATCOOL. number
Exemplo: 20,0
coolCelsius É a temperatura-alvo máxima a ser definida quando o termostato está no modo HEATCOOL. number
Exemplo: 22,0

Erros

Os seguintes códigos de erro podem ser retornados em relação a essa característica:

Mensagem de erro RPC Solução de problemas
Comando não permitido no modo de termostato atual. FAILED_PRECONDITION Alguns modelos de termostato não são compatíveis com a mudança do modo Eco quando ele estiver DESATIVADO, de acordo com o ThermostatMode . O modo do termostato precisa ser alterado para Aquecer, Resfriar ou Aquecer completamente antes de mudar o modo Eco.
O valor do resfriamento precisa ser maior que o valor do aquecimento. INVALID_ARGUMENT Verifique se o campo heatCelsius é menor que o campo coolCelsius no comando.
Comando não permitido no modo MANUAL_ECO do termostato. FAILED_PRECONDITION Não é possível definir a temperatura programada quando o termostato está no modo Eco manual.

Consulte a Referência do código de erro da API para a lista completa de códigos de erro da API.