Guide de la sonnette pour maison connectée
action.devices.types.DOORBELL
: Votre sonnette peut avertir les interlocuteurs qu'il y a quelqu'un à la porte.
Cet appareil peut envoyer des notifications et diffuser des vidéos en streaming s'il en dispose.
Ce type indique que l'appareil reçoit l'icône de la sonnette 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 recommandées
Ces caractéristiques sont recommandées, si elles s'appliquent à votre appareil. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour les faire correspondre au mieux la fonctionnalité du produit.
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: sonnette simple
Cette section contient des exemples de charges utiles d'intent représentant une "sonnette" 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
<ph type="x-smartling-placeholder">{ "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
<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": [ "hls" ] } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "cameraStreamAccessUrl": "https://example.com/stream.mp4", "cameraStreamProtocol": "hls" } } ] } }
Exemple de rapport NOTIFICATIONS
ObjectDetection
Pour en savoir plus
sur les propriétés des notifications,
consultez les
action.devices.traits.ObjectDetection
référence.
{ "requestId": "6894439706274654518", "payload": { "devices": { "notifications": { "123": { "ObjectDetection": { "objects": { "named": [ "Alice" ] }, "priority": 0, "detectionTimestamp": 946684800000 } } } } } }
{ "requestId": "6894439706274654518" }