Schemat ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Ta cecha należy do typów urządzeń THERMOSTAT, które obsługują ustawianie temperatury docelowej i zakresu temperatur.
Pola
| Pole | Opis | Typ danych |
|---|---|---|
heatCelsius |
Temperatura docelowa w stopniach Celsjusza w trybach termostatu HEAT i HEATCOOL. | numberExample: 20.0 |
coolCelsius |
Temperatura docelowa w stopniach Celsjusza w trybach termostatu COOL i HEATCOOL. | numberExample: 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, które mają zmienić ustawienia, różnią się w zależności od trybu termostatu.
Aby na przykład wydać polecenie SetHeat , termostat musi być najpierw w trybie HEAT:
| Tryb | Polecenie | Pola |
|---|---|---|
| HEAT | SetHeat | heatCelsius |
| COOL | SetCool | coolCelsius |
| HEATCOOL | SetRange | heatCelsius, coolCelsius |
Pamiętaj, że polecenia ustawiania temperatury 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 HEAT.
Żą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 HEAT. | numberExample: 22.0 |
SetCool
Ustawia temperaturę docelową, gdy termostat jest w trybie COOL.
Żą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 zostać ustawiona, gdy termostat jest w trybie COOL. | numberExample: 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óra ma zostać ustawiona, gdy termostat jest w trybie HEATCOOL. | numberExample: 20.0 |
coolCelsius |
Maksymalna temperatura docelowa, która ma zostać ustawiona, gdy termostat jest w trybie HEATCOOL. | numberExample: 22.0 |
Błędy
W związku z tą cechą mogą być zwracane te kody błędów:
| Komunikat o błędzie | RPC | Rozwiązywanie problemów |
|---|---|---|
| Polecenie 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 cechą ThermostatMode . Przed zmianą trybu Eko należy zmienić tryb termostatu na HEAT, COOL lub HEATCOOL. |
| Wartość chłodzenia musi być większa niż wartość ogrzewania. | INVALID_ARGUMENT |
Upewnij się, że w poleceniu pole heatCelsius ma wartość mniejszą niż pole coolCelsius. |
| Polecenie niedozwolone, gdy termostat jest w trybie MANUAL_ECO. | FAILED_PRECONDITION |
Nie można ustawić temperatury docelowej, gdy termostat jest w ręcznym trybie Eko. |
Pełną listę kodów błędów interfejsu API znajdziesz w dokumencie API Error Code Reference kodów błędów interfejsu API.