מדריך לפעמון הדלת לבית חכם
action.devices.types.DOORBELL
– פעמונים יכולים ליידע אנשים שמישהו נמצא בדלת.
המכשיר הזה יכול לשלוח התראות ולשדר וידאו בסטרימינג אם יש לו את היכולת המתאימה.
הסוג הזה מציין שהמכשיר מקבל את סמל פעמון הדלת, וגם כמה מילים נרדפות וכינויים קשורים.
יכולות המכשיר
עיינו בתיעוד של ה-trait כדי לקבל את פרטי ההטמעה, כמו מאפיינים ומצבים שהשירות צריך לתמוך בהם, ואיך ליצור תשובות EXECUTE ו-QUERY.
תכונות מומלצות
התכונות האלה מומלצות למכשיר, אם הן רלוונטיות אליו. עם זאת, אפשר לשלב בין כל התכונות הזמינות כדי להתאים אותן בצורה הטובה ביותר לפונקציונליות הקיימת של המוצר.
דרישות איכות
- זמן אחזור: חייב להיות קצר מ-2000 אלפיות שנייה או שווה לו.
- אמינות: צריכה להיות 97% ומעלה.
מכשיר לדוגמה: פעמון דלת פשוט
בקטע הזה יש דוגמאות של מטענים ייעודיים (payloads) מסוג Intent שמייצגים 'פעמון דלת' נפוץ על סמך סוג המכשיר והתכונות שצוינו למעלה. אם מוסיפים או מסירים traits בהטמעה, צריך לשנות את התגובות בהתאם כדי לשקף את השינויים.
תגובת 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" } } ] } }
דוגמה לתשובה מסוג QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true } } } }
פקודות EXECUTE לדוגמה
GetCameraStream
פרטים נוספים על הפרמטרים של הפקודות זמינים בחומר העזר בנושא
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" } } ] } }
דוח NOTIFICATIONS לדוגמה
ObjectDetection
לפרטים נוספים על מאפייני ההתראות, אפשר לעיין בחומר העזר בנושא
action.devices.traits.ObjectDetection
.
{ "requestId": "6894439706274654518", "payload": { "devices": { "notifications": { "123": { "ObjectDetection": { "objects": { "named": [ "Alice" ] }, "priority": 0, "detectionTimestamp": 946684800000 } } } } } }
{ "requestId": "6894439706274654518" }