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