Smart-Home-Kamera – Leitfaden
action.devices.types.CAMERA
– Kameras sind komplex und die Funktionen variieren je nach Anbieter erheblich. Im Laufe der Zeit erhalten Kameras viele Eigenschaften und Attribute, die bestimmte Funktionen beschreiben. Viele davon können auf besondere Weise mit dem Video-/Audiostream interagieren, z. B. einen Stream an ein anderes Gerät senden, den Inhalt des Streams identifizieren oder Feeds wiedergeben.
Dieser Typ gibt an, dass das Gerät das Kamerasymbol und einige zugehörige Synonyme und Aliasse erhält.
Gerätefunktionen
In der entsprechenden Dokumentation zu Merkmalen finden Sie Implementierungsdetails wie Attribute und Status, die Ihr Dienst unterstützen sollte, sowie Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.
Erforderliche Merkmale
Diese Merkmale und Befehle sind erforderlich, sofern sie für Ihr Gerät gelten. 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.
Qualitätsanforderungen
- Latenz:muss kleiner als oder gleich 2.000 ms sein.
- Zuverlässigkeit:muss mindestens 97% betragen.
Beispielgerät: Einfache Kamera
Dieser Abschnitt enthält Beispiel-Intent-Nutzlasten für eine gängige „Kamera“, die auf den oben genannten Gerätetypen und -merkmalen basieren. Wenn Sie in Ihrer Implementierung Merkmale hinzufügen oder entfernen, ändern Sie Ihre Antworten entsprechend, um diese Änderungen widerzuspiegeln.
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.CAMERA", "traits": [ "action.devices.traits.CameraStream" ], "name": { "name": "Simple camera" }, "willReportState": true, "attributes": { "cameraStreamSupportedProtocols": [ "hls", "progressive_mp4" ], "cameraStreamNeedAuthToken": true, "cameraStreamNeedDrmEncryption": false }, "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 } } } }
Beispielbefehle für EXECUTE
GetCameraStream
Weitere Informationen zu den Befehlsparametern finden Sie in der
action.devices.traits.CameraStream
-Referenz.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.GetCameraStream", "params": { "StreamToChromecast": true, "SupportedStreamProtocols": [ "progressive_mp4" ] } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "cameraStreamAccessUrl": "https://fluffysheep.com/baaaaa.mp4", "cameraStreamReceiverAppId": "1g2f89213hg", "cameraStreamAuthToken": "12657342190192783", "cameraStreamProtocol": "progressive_mp4" } } ] } }
GERÄTEFEHLER
Eine vollständige Liste der Fehler und AusnahmenresourceUnavailable
: Fehler beim Generieren der Stream-URL.