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. | 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.