Guide des caméras pour maison connectée
action.devices.types.CAMERA
- Les appareils photo sont complexes, et leurs fonctionnalités varient considérablement d'un fournisseur à l'autre. Au fil du temps, les caméras acquièrent un grand nombre de caractéristiques et d'attributs décrivant des fonctionnalités spécifiques. Nombre d'entre eux peuvent interagir avec le flux vidéo/audio de manière spéciale, par exemple en envoyant un flux vers un autre appareil, en identifiant le contenu du flux, en relançant des flux, etc.
Ce type indique que l'appareil reçoit l'icône Appareil photo et d'autres des synonymes et des alias.
Fonctionnalités de l'appareil
Reportez-vous à la documentation des caractéristiques correspondantes pour les détails de mise en œuvre, tels que les attributs et les états que votre service doit prendre en charge, et comment créer des réponses EXECUTE et QUERY.
Caractéristiques requises
Ces caractéristiques et commandes sont nécessaires, s'il s'agit
appareil. Si votre appareil ne prend pas en charge ces caractéristiques, saisissez le code d'erreur de
functionNotSupported
dans une réponse QUERY ou EXECUTE. Voir
Erreurs et exceptions.
Exigences de qualité
- Latence:la latence doit être inférieure ou égale à 2 000 ms.
- La fiabilité doit être supérieure ou égale à 97%.
Exemple d'appareil: caméra simple
Cette section contient des exemples de charges utiles d'intent représentant un "appareil photo" commun en fonction du type d'appareil et des caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre implémentation, modifiez vos réponses en conséquence pour refléter ces changements.
Exemple de réponse SYNC
<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" } } ] } }
Exemple de réponse QUERY
<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 } } } }
Exemples de commandes EXECUTE
GetCameraStream
Pour en savoir plus sur
les paramètres de commande,
consultez les
action.devices.traits.CameraStream
référence.
{ "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" } } ] } }
Erreurs d'appareil
Voir la liste complète les erreurs et les exceptions.resourceUnavailable
: échec de la génération de l'URL du flux.