Przewodnik po inteligentnych grzejnikach
action.devices.types.HEATER
– grzejniki są podobne do termostatów, ale nie obsługują chłodzenia i mogą nie obsługiwać ustawiania docelowych wartości temperatury.
Ten typ wskazuje, że urządzenie ma ikonę grzejnika oraz niektóre powiązane synonimy i aliasy.
Funkcje urządzenia
Szczegółowe informacje o wdrożeniu, takie jak atrybuty i stany, które powinna obsługiwać usługa, oraz sposób tworzenia odpowiedzi na wywołania EXECUTE i QUERY, znajdziesz w odpowiedniej dokumentacji atrybutu.
Wymagane cechy
Te cechy i polecenia są wymagane, jeśli są dostępne na Twoim urządzeniu. Jeśli urządzenie nie obsługuje tych atrybutów, wpisz kod błędu functionNotSupported
w odpowiedzi na QUERY lub EXECUTE. Więcej informacji znajdziesz w sekcji Błędy i wyjątki.
Zalecane cechy
Te cechy są zalecane, jeśli są dostępne na Twoim urządzeniu. Możesz jednak dowolnie łączyć wszystkie dostępne cechy, aby jak najlepiej dopasować je do dotychczasowej funkcjonalności produktu.
Wymagania dotyczące jakości
- Opóźnienie:nie może być większe niż 1000 ms.
- Niezawodność: musi być większa lub równa 97%.
Przykładowe urządzenie: prosty grzejnik
Ta sekcja zawiera przykładowe dane intencji przedstawiające popularny „Grzejnik” na podstawie typu urządzenia i właściwości wymienionych powyżej. Jeśli w swojej implementacji dodasz lub usuniesz cechy, odpowiednio zmodyfikuj odpowiedzi, aby uwzględnić te zmiany.
Przykładowa odpowiedź SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.HEATER", "traits": [ "action.devices.traits.FanSpeed", "action.devices.traits.TemperatureSetting" ], "name": { "name": "Simple heater" }, "willReportState": true, "attributes": { "availableFanSpeeds": { "speeds": [ { "speed_name": "low_key", "speed_values": [ { "speed_synonym": [ "Low", "Slow" ], "lang": "en" } ] }, { "speed_name": "high_key", "speed_values": [ { "speed_synonym": [ "High" ], "lang": "en" } ] } ], "ordered": true }, "availableThermostatModes": [ "off", "heat", "fan-only", "on" ], "thermostatTemperatureUnit": "C" }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Przykładowa odpowiedź na zapytanie
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "currentFanSpeedSetting": "low_key", "thermostatMode": "heat", "thermostatTemperatureSetpoint": 30, "thermostatTemperatureAmbient": 25 } } } }
Przykładowe polecenia EXECUTE
SetFanSpeed
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.FanSpeed
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetFanSpeed", "params": { "fanSpeed": "high_key" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentFanSpeedSetting": "high_key" } } ] } }
ThermostatTemperatureSetpoint
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.TemperatureSetting
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetpoint", "params": { "thermostatTemperatureSetpoint": 28 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heat", "thermostatTemperatureSetpoint": 28, "thermostatTemperatureAmbient": 25 } } ] } }
ThermostatSetMode
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.TemperatureSetting
.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatSetMode", "params": { "thermostatMode": "heat" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heat", "thermostatTemperatureSetpoint": 30, "thermostatTemperatureAmbient": 25 } } ] } }