Przewodnik po klimatyzatorach do inteligentnego domu
action.devices.types.AIRCOOLER
– klimatyzatory to urządzenia, które umożliwiają chłodzenie i kontrolowanie wilgotności powietrza. Te urządzenia są zazwyczaj lżejsze i łatwiej je przenosić niż klimatyzatory. Mają też zbiornik na wodę. Chłodnice powietrza mogą nie obsługiwać funkcji ogrzewania ani ustawiania dokładnych temperatur. Interakcje z urządzeniami chłodzącymi powietrze mogą obejmować zmianę szybkości wentylatora i ustawienia wilgotności.
Ten typ wskazuje, że urządzenie ma ikonę Air Cooler 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.
-
action.devices.traits.FanSpeed
-
action.devices.traits.HumiditySetting
-
action.devices.traits.OnOff
-
action.devices.traits.TemperatureSetting
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 klimatyzator
Ta sekcja zawiera przykładowe dane intencji przedstawiające typ urządzenia „Air Cooler” na podstawie wymienionych powyżej cech i właściwości. 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.AIRCOOLER", "traits": [ "action.devices.traits.FanSpeed", "action.devices.traits.HumiditySetting", "action.devices.traits.OnOff", "action.devices.traits.TemperatureSetting" ], "name": { "name": "Simple air cooler" }, "willReportState": true, "attributes": { "humiditySetpointRange": { "minPercent": 0, "maxPercent": 50 }, "availableFanSpeeds": { "speeds": [ { "speed_name": "off_key", "speed_values": [ { "speed_synonym": [ "Off", "0" ], "lang": "en" } ] }, { "speed_name": "low_key", "speed_values": [ { "speed_synonym": [ "Low", "1" ], "lang": "en" } ] }, { "speed_name": "medium_key", "speed_values": [ { "speed_synonym": [ "Medium", "2" ], "lang": "en" } ] }, { "speed_name": "high_key", "speed_values": [ { "speed_synonym": [ "High", "3" ], "lang": "en" } ] } ], "ordered": true }, "availableThermostatModes": [ "off", "cool", "on", "fan-only", "eco" ], "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, "on": true, "currentFanSpeedSetting": "low_key", "thermostatMode": "cool", "thermostatTemperatureAmbient": 25, "thermostatTemperatureSetpoint": 20, "humiditySetpointPercent": 15, "humidityAmbientPercent": 10 } } } }
Przykładowe polecenia EXECUTE
SetFanSpeed
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.FanSpeed
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetFanSpeed", "params": { "fanSpeed": "high_key" } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentFanSpeedSetting": "high_key" } } ] } }
SetHumidity
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.HumiditySetting
.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetHumidity", "params": { "humidity": 20 } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "humiditySetpointPercent": 20, "humidityAmbientPercent": 10 } } ] } }
OnOff
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.OnOff
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
ThermostatTemperatureSetpoint
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.TemperatureSetting
.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetpoint", "params": { "thermostatTemperatureSetpoint": 22 } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ThermostatSetMode
Więcej informacji o parametrach polecenia znajdziesz w dokumentacji
action.devices.traits.TemperatureSetting
.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatSetMode", "params": { "thermostatMode": "cool" } } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }