Guide de la sonnette pour maison connectée
action.devices.types.DOORBELL
: les sonnettes permettent à vos visiteurs de savoir que vous êtes à la porte.
Cet appareil peut envoyer des notifications et diffuser du flux vidéo s'il est équipé de cette fonctionnalité.
Ce type indique que l'appareil obtient l'icône Sonnette, ainsi que des 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 recommandées
Ces caractéristiques sont recommandées, le cas échéant. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour correspondre au mieux aux fonctionnalités existantes de votre produit.
Exigences de qualité
- Latence:doit être inférieure ou égale à 2 000 ms.
- Fiabilité:doit être supérieure ou égale à 97%.
Exemple d'appareil: sonnette simple
Cette section contient des exemples de charges utiles d'intent représentant une "sonnette" standard en fonction du type d'appareil et des 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.DOORBELL", "traits": [ "action.devices.traits.CameraStream", "action.devices.traits.ObjectDetection" ], "name": { "name": "Simple doorbell" }, "willReportState": true, "notificationSupportedByAgent": true, "attributes": { "cameraStreamSupportedProtocols": [ "hls" ], "cameraStreamNeedAuthToken": true }, "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": [ "hls" ] } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "cameraStreamAccessUrl": "https://example.com/stream.mp4", "cameraStreamProtocol": "hls" } } ] } }
Exemple de rapport NOTIFICATIONS
Détection d'objets
Pour en savoir plus sur les propriétés des notifications, consultez la documentation de référence sur
action.devices.traits.ObjectDetection
.
{ "requestId": "6894439706274654518", "payload": { "devices": { "notifications": { "123": { "ObjectDetection": { "objects": { "named": [ "Alice" ] }, "priority": 0, "detectionTimestamp": 946684800000 } } } } } }
{ "requestId": "6894439706274654518" }