Anleitung für Smart-Home-Kameras
action.devices.types.CAMERA
: Kameras sind komplex und die Funktionen können sich je nach Anbieter erheblich unterscheiden. Im Laufe der Zeit erwerben Kameras viele Eigenschaften und Merkmale, die bestimmte Eigenschaften beschreiben. Viele davon interagieren auf besondere Weise mit dem Video-/Audiostream, beispielsweise durch das Senden eines Streams an ein anderes Gerät, das Erkennen der Inhalte im Stream, die Wiedergabe von Feeds usw.
Dieser Typ gibt an, dass das Gerät das Kamerasymbol und zugehörige Synonyme und Aliasse.
Gerätefunktionen
Weitere Informationen finden Sie in der entsprechenden Dokumentation Implementierungsdetails wie Attribute und Angaben, die Ihr Dienst unterstützen soll, und wie Sie EXECUTE- und QUERY-Antworten erstellen.
Erforderliche Merkmale
Diese Traits und Befehle sind erforderlich, sofern auf Ihre
. Wenn dein Gerät diese Traits nicht unterstützt, gib den Fehlercode ein:
functionNotSupported
in einer QUERY- oder EXECUTE-Antwort. Weitere Informationen finden Sie unter
Fehler und Ausnahmen.
Qualitätsanforderungen
- Latenz:Muss kleiner oder gleich 2.000 ms sein.
- Zuverlässigkeit:Muss größer oder gleich 97% sein.
Beispielgerät: Einfache Kamera
Dieser Abschnitt enthält Beispiele für Intent-Nutzlasten, die eine gängige Kamera (Kamera) darstellen basierend auf dem Gerätetyp und den oben genannten Merkmalen. Wenn Sie in Ihrer Implementierung Tragen hinzufügen oder entfernen, und passen Sie Ihre Antworten entsprechend an.
Beispiel für SYNC-Antwort
<ph type="x-smartling-placeholder">{ "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
<ph type="x-smartling-placeholder">{ "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
Siehe
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
Vollständige Liste der Fehler und Ausnahmen.resourceUnavailable
: Jeder Fehler im Zusammenhang mit dem Generieren der Stream-URL.