Smart-Home-Luftreiniger – Anleitung
action.devices.types.AIRPURIFIER
– Luftreiniger sind Geräte, die ein- und ausgeschaltet werden können, Berichte zur Luftfilterung und Lebensdauer des Luftfilters enthalten und an verschiedene Einstellungen angepasst werden können.
Dieser Typ zeigt an, dass das Gerät das Luftreinigersymbol und einige zugehörige Synonyme und Aliasse erhält.
Gerätefunktionen
In der zugehörigen Dokumentation zur Eigenschaft finden Sie Implementierungsdetails wie Attribute und Status, die Ihr Dienst unterstützen sollte, und zum Erstellen von EXECUTE- und QUERY-Antworten.
Erforderliche Eigenschaften
Diese Eigenschaften und Befehle sind erforderlich, falls sie auf Ihr Gerät zutreffen. Wenn Ihr Gerät diese Eigenschaften nicht unterstützt, geben Sie den Fehlercode functionNotSupported
in einer QUERY- oder EXECUTE-Antwort ein. Weitere Informationen finden Sie unter Fehler und Ausnahmen.
Empfohlene Eigenschaften
Diese Eigenschaften werden empfohlen, sofern sie für Ihr Gerät relevant sind. Sie können jedoch alle verfügbaren Merkmale beliebig kombinieren, um Ihre bestehenden Produktfunktionen bestmöglich anzupassen.
Qualitätsanforderungen
- Latenz: muss kleiner oder gleich 1.000 ms sein.
- Zuverlässigkeit:muss größer oder gleich 97% sein
Beispielgerät: Einfacher Luftreiniger
Dieser Abschnitt enthält beispielhafte Intent-Nutzlasten, die einen gemeinsamen „Luftreiniger“ für den Gerätetyp und die oben genannten Merkmale darstellen. Wenn du bei der Implementierung Eigenschaften hinzufügst oder entfernst, ändere deine Antworten entsprechend.
SYNC-Beispielantwort
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.AIRPURIFIER", "traits": [ "action.devices.traits.FanSpeed", "action.devices.traits.SensorState", "action.devices.traits.OnOff" ], "name": { "name": "Simple air purifier" }, "willReportState": true, "attributes": { "availableFanSpeeds": { "speeds": [ { "speed_name": "low_key", "speed_values": [ { "speed_synonym": [ "Low", "Slow" ], "lang": "en" }, { "speed_synonym": [ "Low", "Slow" ], "lang": "de" } ] }, { "speed_name": "high_key", "speed_values": [ { "speed_synonym": [ "High" ], "lang": "en" }, { "speed_synonym": [ "High" ], "lang": "de" } ] } ], "ordered": true }, "sensorStatesSupported": [ { "name": "FilterCleanliness", "descriptiveCapabilities": { "availableStates": [ "clean", "dirty", "needs replacement" ] } } ] }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Beispiel für eine QUERY-Antwort
{ "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", "currentSensorStateData": [ { "name": "FilterCleanliness", "currentSensorState": "clean" } ] } } } }
Beispiele für EXECUTE-Befehle
SetFanSpeed
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu 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" } } ] } }
An
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu action.devices.traits.OnOff
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }