מדריך למצלמות לבית חכם
action.devices.types.CAMERA – המצלמות מורכבות והתכונות משתנות באופן משמעותי בין ספקים שונים. עם הזמן, המצלמות יקבלו הרבה מאפיינים ותכונות שמתארים יכולות ספציפיות. חלק מהמאפיינים האלה עשויים ליצור אינטראקציה עם זרם הווידאו או האודיו בדרכים מיוחדות, כמו שליחת זרם למכשיר אחר, זיהוי מה יש בזרם, הפעלת פידים חוזרת וכו'.
הסוג הזה מציין שהמכשיר מקבל את סמל המצלמה וכמה מילים נרדפות וכינויים שקשורים אליו.
יכולות המכשיר
בתיעוד של התכונה המתאימה מפורטים פרטים על ההטמעה, כמו מאפיינים ומצבים שהשירות שלכם צריך לתמוך בהם, ואיך ליצור תגובות מסוג EXECUTE ו-QUERY.
מאפיינים נדרשים
התכונות והפקודות האלה נדרשות, אם הן רלוונטיות למכשיר שלכם. אם המכשיר לא תומך בתכונות האלה, צריך להזין את קוד השגיאה
functionNotSupported בתגובה של QUERY או EXECUTE. מידע נוסף זמין במאמר שגיאות וחריגים.
דוגמה למכשיר: מצלמה פשוטה
בקטע הזה מופיעות דוגמאות למטענים ייעודיים (payload) של כוונות שמייצגים 'מצלמה' נפוצה, על סמך סוג המכשיר והמאפיינים שצוינו למעלה. אם מוסיפים או מסירים מאפיינים בהטמעה, צריך לשנות את התגובות בהתאם כדי לשקף את השינויים האלה.
דוגמה לתגובת סנכרון
{
"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" } } ] } }
דוגמה לתשובה של שאילתת 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": [ "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" } } ] } }
שגיאות במכשיר
רשימה מלאה של שגיאות וחריגים-
resourceUnavailable– כל כשל שקשור ליצירת כתובת ה-URL של השידור.