Schemat ThermostatTemperatureSetpoint
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. | numberPrzykład: 20,0 | 
| coolCelsius | Docelowa temperatura w stopniach Celsjusza w przypadku trybów CHŁODZENIE i OGRZEWANIE/CHŁODZENIE termostatu. | numberPrzykł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. | numberPrzykł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. | numberPrzykł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. | numberPrzykład: 20,0 | 
| coolCelsius | Maksymalna temperatura docelowa, którą można ustawić, gdy termostat jest w trybie HEATCOOL. | numberPrzykł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 heatCelsiusjest mniejsze niż polecoolCelsiusw 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.
