Ratgeber für Smart-Home-Gate
action.devices.types.GATE: Tore können geöffnet und geschlossen werden, möglicherweise in mehr als einer Richtung.
Dieser Typ gibt an, dass das Gerät das Gate-Symbol und einige zugehörige Synonyme und Aliase erhält.
Gerätefunktionen
In der entsprechenden Trait-Dokumentation finden Sie Implementierungsdetails wie Attribute und Status, die Ihr Dienst unterstützen sollte, und Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.
Erforderliche Merkmale
Diese Attribute und Befehle sind erforderlich, sofern sie für dein Gerät gelten. Wenn dein Gerät diese Merkmale nicht unterstützt, gib den Fehlercode functionNotSupported in einer QUERY- oder EXECUTE-Antwort ein. Weitere Informationen finden Sie unter Fehler und Ausnahmen.
Empfohlene Eigenschaften
Diese Attribute werden empfohlen, sofern sie für Ihr Gerät zutreffen. Sie können jedoch alle verfügbaren Eigenschaften kombinieren, um die vorhandene Produktfunktionalität optimal abzubilden.
Beispielgerät: Einfaches Tor
Dieser Abschnitt enthält Beispiel-Intent-Nutzlasten, die ein gemeinsames „Gate“ basierend auf dem Gerätetyp und den oben genannten Attributen darstellen. Wenn Sie Ihrer Implementierung Attribute hinzufügen oder daraus entfernen, müssen Sie Ihre Antworten entsprechend anpassen.
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.GATE", "traits": [ "action.devices.traits.LockUnlock", "action.devices.traits.OpenClose" ], "name": { "name": "Simple gate" }, "willReportState": 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, "openPercent": 50, "isLocked": false, "isJammed": false } } } }
Beispielbefehle für EXECUTE
LockUnlock
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu action.devices.traits.LockUnlock.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.LockUnlock", "params": { "lock": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isLocked": true, "isJammed": false } } ] } }
OpenClose
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu action.devices.traits.OpenClose.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OpenClose", "params": { "openPercent": 100 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "openPercent": 100 } } ] } }
OpenCloseRelative
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu action.devices.traits.OpenClose.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OpenCloseRelative", "params": { "openRelativePercent": 10 } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "openPercent": 60 } } ] } }