מדריך לבית חכם בחניה
action.devices.types.GARAGE
– דלתות של מוסכים יכולות לפתוח, לסגור ולזהות מצב פתוח. הם יכולים גם לציין אם אובייקט חסמ את נתיב הדלת בזמן סגירתה, או אם הדלת נעולה ולכן אי אפשר לשלוט בה.
הסוג הזה מציין שהמכשיר יקבל את סמל המוסך וחלק משמות נרדפים ומתחליפים קשורים.
יכולות המכשיר
פרטי ההטמעה, כמו המאפיינים והמצבים שהשירות צריך לתמוך בהם, והאופן שבו יוצרים תגובות 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.GARAGE", "traits": [ "action.devices.traits.OpenClose", "action.devices.traits.LockUnlock" ], "name": { "name": "Simple garage" }, "willReportState": 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, "openPercent": 50, "isLocked": false, "isJammed": false } } } }
דוגמאות לפקודות EXECUTE
OpenClose
פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של
action.devices.traits.OpenClose
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OpenClose", "params": { "openPercent": 100 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "openPercent": 100 } } ] } }
LockUnlock
פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של
action.devices.traits.LockUnlock
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.LockUnlock", "params": { "lock": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isLocked": true, "isJammed": false } } ] } }
שגיאות במכשיר
הרשימה המלאה של השגיאות והחריגותobstructionDetected
– המשתמש ניסה לסגור את דלת המוסך אבל היה אובייקט שחסם את הדלת.lockedState
– המשתמש ניסה לשלוט בדלת המוסך אבל היא נעולה ולא ניתן להזיז אותה.