Guide sur les caméras connectées
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 acquerront de nombreux traits et attributs décrivant des capacités spécifiques, dont beaucoup peuvent interagir avec le flux vidéo/audio de manière particulière, par exemple en envoyant un flux à un autre appareil, en identifiant le contenu du flux, en relisant des flux, etc.
Ce type indique que l'appareil reçoit l'icône de caméra ainsi que certains synonymes et alias associés.
Fonctionnalités de l'appareil
Consultez la documentation de la caractéristique correspondante pour obtenir des informations sur l'implémentation, comme les attributs et les états que votre service doit prendre en charge, et sur la façon de créer des réponses EXECUTE et QUERY.
Traits requis
Ces traits et commandes sont obligatoires, le cas échéant, pour votre appareil. 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.
Exemple d'appareil : caméra simple
Cette section contient des exemples de charges utiles d'intent représentant une "caméra" courante, 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
{
"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
GetCameraStream
Pour en savoir plus sur les paramètres de la 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 liées à l'appareil
Consultez la liste complète des erreurs et exceptions.resourceUnavailable: tout échec lié à la génération de l'URL du flux.