Ratgeber für Smart-Home-Staubsauger
action.devices.types.VACUUM : Staubsauger können Funktionen wie Starten, Beenden und Pausieren der Reinigung, Andocken, Überprüfen des aktuellen Reinigungszyklus, Auffinden des Staubsaugers oder Anpassen verschiedener Modi haben. Einige Staubsauger können bestimmte Bereiche im Haus reinigen.
Dieser Typ gibt an, dass das Gerät das Staubsauger-Symbol und einige zugehörige Synonyme und Aliase erhält.
Gerätefunktionen
In der entsprechenden Dokumentation zu den Traits findest du Implementierungsdetails wie Attribute und Status, die dein Dienst unterstützen sollte, sowie Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.
Erforderliche Traits
Diese Traits und Befehle sind erforderlich, wenn sie für dein Gerät gelten. Wenn dein Gerät diese Traits nicht unterstützt, gib den Fehlercode functionNotSupported in einer QUERY- oder EXECUTE-Antwort ein. Weitere Informationen findest du unter
Fehler und Ausnahmen.
Empfohlene Traits
Diese Traits werden empfohlen, wenn sie für dein Gerät gelten. Du kannst jedoch alle verfügbaren Traits kombinieren, um die beste Übereinstimmung mit der vorhandenen Produktfunktionalität zu erzielen.
-
action.devices.traits.Dock -
action.devices.traits.EnergyStorage -
action.devices.traits.Locator -
action.devices.traits.OnOff -
action.devices.traits.RunCycle
Beispielgerät: Einfacher Staubsauger
Dieser Abschnitt enthält Beispielnutzlasten für Intents, die einen gängigen "Staubsauger" auf Grundlage des Gerätetyps und der oben genannten Traits darstellen. Wenn du in deiner Implementierung Traits hinzufügst oder entfernst, musst du deine Antworten entsprechend ändern.
Beispiel für eine SYNC-Antwort
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.VACUUM", "traits": [ "action.devices.traits.Dock", "action.devices.traits.EnergyStorage", "action.devices.traits.StartStop" ], "name": { "name": "Simple vacuum" }, "willReportState": true, "attributes": { "queryOnlyEnergyStorage": true, "pausable": true }, "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, "isRunning": false, "isPaused": false, "isDocked": true, "descriptiveCapacityRemaining": "HIGH", "capacityRemaining": [ { "unit": "SECONDS", "rawValue": 36000 }, { "unit": "PERCENTAGE", "rawValue": 90 } ] } } } }
Beispiel für EXECUTE-Befehle
Dock
Weitere Informationen zu den Befehlsparametern,
siehe die
action.devices.traits.Dock
Referenz.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.Dock" } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isDocked": true } } ] } }
StartStop
Weitere Informationen zu den Befehlsparametern,
siehe die
action.devices.traits.StartStop
Referenz.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isRunning": true, "isPaused": false } } ] } }
PauseUnpause
Weitere Informationen zu den Befehlsparametern,
siehe die
action.devices.traits.StartStop
Referenz.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.PauseUnpause", "params": { "pause": true } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isRunning": false, "isPaused": true } } ] } }