Handbuch für Smart-Home-Türklingeln
action.devices.types.DOORBELL
– Türklingeln können Personen darüber informieren, dass jemand vor der Tür steht.
Dieses Gerät kann Benachrichtigungen senden und Videos streamen, wenn es die entsprechenden Funktionen bietet.
Dieser Typ gibt an, dass das Gerät das Türklingelsymbol und einige verwandte Synonyme und Aliasse erhält.
Gerätefunktionen
Informationen zur Implementierung finden Sie in der entsprechenden Trait-Dokumentation, z. B. zu Attributen und Statusangaben, die Ihr Dienst unterstützen sollte, und zum Erstellen von EXECUTE- und QUERY-Antworten.
Empfohlene Eigenschaften
Diese Traits werden empfohlen, sofern für Ihr Gerät zutreffend. Sie können jedoch alle verfügbaren Merkmale beliebig kombinieren, um der vorhandenen Produktfunktionalität am besten zu entsprechen.
Qualitätsanforderungen
- Latenz:muss kleiner oder gleich 2.000 ms sein.
- Zuverlässigkeit: muss größer oder gleich 97% sein.
Beispielgerät: einfache Türklingel
Dieser Abschnitt enthält Beispiel-Intent-Nutzlasten, die eine gemeinsame „Türklingel“ basierend auf dem oben genannten Gerätetyp und den obigen Eigenschaften darstellen. Wenn Sie in Ihrer Implementierung Traits hinzufügen oder entfernen, passen Sie Ihre Antworten entsprechend an.
Beispiel für SYNC-Antwort
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.DOORBELL", "traits": [ "action.devices.traits.CameraStream", "action.devices.traits.ObjectDetection" ], "name": { "name": "Simple doorbell" }, "willReportState": true, "notificationSupportedByAgent": true, "attributes": { "cameraStreamSupportedProtocols": [ "hls" ], "cameraStreamNeedAuthToken": true }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Beispiel für QUERY-Antwort
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true } } } }
Beispiele für EXECUTE-Befehle
GetCameraStream
Weitere Informationen zu den Befehlsparametern finden Sie in der Referenz zu
action.devices.traits.CameraStream
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.GetCameraStream", "params": { "StreamToChromecast": true, "SupportedStreamProtocols": [ "hls" ] } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "cameraStreamAccessUrl": "https://example.com/stream.mp4", "cameraStreamProtocol": "hls" } } ] } }
Beispiel für BENACHRICHTIGUNGEN
ObjectDetection
Weitere Informationen zu den Benachrichtigungsattributen finden Sie in der Referenz zu
action.devices.traits.ObjectDetection
.
{ "requestId": "6894439706274654518", "payload": { "devices": { "notifications": { "123": { "ObjectDetection": { "objects": { "named": [ "Alice" ] }, "priority": 0, "detectionTimestamp": 946684800000 } } } } } }
{ "requestId": "6894439706274654518" }