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