Schemat ThermostatTemperatureSetpoint

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

Ten atrybut należy do typów urządzeń THERMOSTAT, które obsługują ustawianie temperatury docelowej i zakresu temperatur.

Pola

Pole Opis Typ danych
heatCelsius Docelowa temperatura w stopniach Celsjusza w przypadku trybów OGRZEWANIE i OGRZEWANIE/CHŁODZENIE termostatu. number
Przykład: 20,0
coolCelsius Docelowa temperatura w stopniach Celsjusza w przypadku trybów CHŁODZENIE i OGRZEWANIE/CHŁODZENIE termostatu. number
Przykład: 22,0

Przykładowe żądanie GET i odpowiedź – HEAT

Żądanie

GET /enterprises/project-id/devices/device-id

Odpowiedź

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
    }
  }
}

Przykładowe żądanie GET i odpowiedź – COOL

Żądanie

GET /enterprises/project-id/devices/device-id

Odpowiedź

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "coolCelsius" : 22.0
    }
  }
}

Przykładowe żądanie GET i odpowiedź – HEATCOOL

Żądanie

GET /enterprises/project-id/devices/device-id

Odpowiedź

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  }
}

Polecenia

Przed zmianą ustawień temperatury termostat musi być w trybie odpowiadającym wywoływanemu poleceniu. Polecenie i pola służące do zmiany nastawy zależą od trybu termostatu.

Aby na przykład wydać polecenie SetHeat , termostat musi najpierw być w trybie ogrzewania:

Tryb Polecenie Pola
HEAT SetHeat heatCelsius
COOL SetCool coolCelsius
HEATCOOL SetRange heatCelsius, coolCelsius

Pamiętaj, że polecenia punktu nastawy przyjmują jako parametr tylko stopnie Celsjusza, chociaż termostat Google Nest może wyświetlać temperaturę w stopniach Celsjusza lub Fahrenheita.

SetHeat

Ustawia temperaturę docelową, gdy termostat jest w trybie GRZANIE.

Żądanie i odpowiedź SetHeat

Żądanie

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
  "params" : {
    "heatCelsius" : 22.0
  }
}

Odpowiedź

{}

Pola żądania SetHeat

Pole Opis Typ danych
heatCelsius Temperatura docelowa, która ma zostać ustawiona, gdy termostat jest w trybie OGRZEWANIE. number
Przykład: 22,0

SetCool

Ustawia temperaturę docelową, gdy termostat jest w trybie CHŁODZENIE.

Żądanie i odpowiedź SetCool

Żądanie

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetCool",
  "params" : {
    "coolCelsius" : 20.0
  }
}

Odpowiedź

{}

Pola żądania SetCool

Pole Opis Typ danych
coolCelsius Temperatura docelowa, która ma być ustawiona, gdy termostat jest w trybie CHŁODZENIE. number
Przykład: 20,0

SetRange

Ustawia minimalną i maksymalną temperaturę, gdy termostat jest w trybie HEATCOOL.

Żądanie i odpowiedź SetRange

Żądanie

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetRange",
  "params" : {
    "heatCelsius" : 20.0,
    "coolCelsius" : 22.0
  }
}

Odpowiedź

{}

Pola żądania SetRange

Pole Opis Typ danych
heatCelsius Minimalna temperatura docelowa, którą można ustawić, gdy termostat jest w trybie HEATCOOL. number
Przykład: 20,0
coolCelsius Maksymalna temperatura docelowa, którą można ustawić, gdy termostat jest w trybie HEATCOOL. number
Przykład: 22,0

Błędy

W związku z tym atrybutem mogą być zwracane te kody błędów:

Komunikat o błędzie RPC Rozwiązywanie problemów
Polecenie jest niedozwolone w bieżącym trybie termostatu. FAILED_PRECONDITION Niektóre modele termostatów nie obsługują zmiany trybu Eko, gdy termostat jest wyłączony, zgodnie z atrybutem ThermostatMode . Przed zmianą trybu Eko należy zmienić tryb termostatu na GRZANIE, CHŁODZENIE lub GRZANIE/CHŁODZENIE.
Wartość chłodzenia musi być większa niż wartość ogrzewania. INVALID_ARGUMENT Upewnij się, że pole heatCelsius jest mniejsze niż pole coolCelsius w Twoim poleceniu.
Polecenie jest niedozwolone, gdy termostat jest w trybie MANUAL_ECO. FAILED_PRECONDITION Gdy termostat jest w ręcznym trybie eko, nie można ustawić temperatury docelowej.

Pełną listę kodów błędów interfejsu API znajdziesz w dokumentacji kodów błędów interfejsu API.