Guide de la caméra connectée
action.devices.types.CAMERA
: Les caméras sont complexes, et les fonctionnalités varient considérablement d'un fournisseur à l'autre. Au fil du temps, les caméras bénéficieront de nombreux attributs et descriptions décrivant des fonctionnalités spécifiques, dont un grand nombre peuvent interagir avec le flux vidéo/audio de différentes manières, par exemple pour envoyer un flux sur un autre appareil, identifier le contenu du flux, relancer la lecture des flux, etc.
Ce type indique que l'appareil obtient l'icône Caméra et certains synonymes et alias associés.
Fonctionnalités de l'appareil
Consultez la documentation sur les caractéristiques correspondantes pour obtenir des détails sur l'implémentation, tels que les attributs et les états que votre service doit accepter, et pour découvrir comment créer des réponses EXECUTE et QUERY.
Caractéristiques obligatoires
Ces caractéristiques et commandes sont nécessaires, le cas échéant. Si votre appareil n'est pas compatible avec ces caractéristiques, saisissez le code d'erreur functionNotSupported
dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez Erreurs et exceptions.
Exigences de qualité
- Latence:doit être inférieure ou égale à 2 000 ms.
- Fiabilité:doit être supérieure ou égale à 97%.
Exemple d'appareil: appareil photo simple
Cette section contient des exemples de charges utiles d'intent représentant un appareil photo commun, basé sur le type d'appareil et les caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre mise en œuvre, modifiez vos réponses en conséquence.
Exemple de réponse SYNC
{ "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
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true } } } }
Exemples de commandes EXECUTE
Obtenir le flux de la caméra
Pour en savoir plus sur les paramètres de commande, consultez la documentation de référence sur
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": [ "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 sur l'appareil
Consultez la liste complète des erreurs et exceptions.resourceUnavailable
: tout échec lié à la génération de l'URL de flux.