מדריך בחניה לבית חכם
action.devices.types.GARAGE
– דלתות חניה יכולות לפתוח, להיסגר ולזהות מצב פתוח. הן יכולות גם לציין אם עצם חסם את הנתיב של הדלת בזמן הסגירה או אם הדלת נעולה ולכן לא ניתן לשלוט בה.
הסוג הזה מציין שהמכשיר מקבל את סמל החניה וכמה מילים נרדפות וכינויים קשורים.
יכולות המכשיר
עיינו בתיעוד של התכונה המתאימה כדי לראות את פרטי ההטמעה, כמו מאפיינים ומצבים שבהם השירות צריך לתמוך, ואיך ליצור תשובות ב-EXECUTE וב-QUERY.
התכונות הנדרשות
התכונות והפקודות האלה נדרשות, אם זה רלוונטי למכשיר שלכם. אם המכשיר שלכם לא תומך בתכונות האלה, צריך להזין את קוד השגיאה functionNotSupported
בתגובה QUERY או EXECUTE. מידע נוסף זמין במאמר שגיאות וחריגים.
תכונות מומלצות
התכונות האלה מומלצות למכשיר שלכם, אם הן רלוונטיות. עם זאת, תוכלו לשלב ולהתאים בין כל התכונות הזמינות כדי להתאים בצורה הטובה ביותר לפונקציונליות הקיימת של המוצר.
דרישות איכות
- זמן האחזור:חייב להיות 2,000 אלפיות שנייה או שווה לו.
- אמינות: הערך צריך להיות 97% או יותר.
מכשיר לדוגמה: חניה פשוטה
בקטע הזה יש דוגמאות למטענים ייעודיים (payloads) של Intent שמייצגים 'מוסך' נפוץ על סמך סוג המכשיר והתכונות שצוינו למעלה. אם מוסיפים או מסירים תכונות בהטמעה, צריך לשנות את התשובות בהתאם.
תגובת 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 } } ] } }
מכשיר ERRORS
מומלץ לעיין ברשימה המלאה של שגיאות וחריגים.obstructionDetected
– המשתמש ניסה לסגור את דלת החניה, אבל חפץ חסם את הדלת.lockedState
- המשתמש ניסה לשלוט בדלת החניה אבל היא במצב נעול שלא מאפשר לה לזוז.