מדריך למכונת כביסה לבית חכם
action.devices.types.WASHER
– מכונות כביסה יכולות להפעיל ולהפסיק את ההפעלה או כיבוי של יחידות הכביסה (בחלקן יש לחצני הפעלה נפרדים, ובחלקן לא). את חלקן אפשר להשהות ולהמשיך בזמן הכביסה.
למכונות הכביסה יש גם מצבים שונים ולכל מצב יש הגדרות קשורות משלו. הם ספציפיים למכונת הכביסה ומפוענחים באופן כללי.
הסוג הזה מציין שהמכשיר מקבל את סמל מכונת הכביסה, וגם כמה מילים נרדפות וכינויים קשורים.
כדי לראות דוגמה לאופן שבו שולטים במכונת כביסה באמצעות בית חכם של Google, אפשר לעיין במעבדת הקוד של מכונת הכביסה בבית החכם.
יכולות המכשיר
עיינו בתיעוד של ה-trait כדי לקבל את פרטי ההטמעה, כמו מאפיינים ומצבים שהשירות צריך לתמוך בהם, ואיך ליצור תשובות EXECUTE ו-QUERY.
ה-traits הנדרשות
התכונות והפקודות האלה נדרשות, אם זה רלוונטי למכשיר שלכם. אם המכשיר שלך לא תומך בתכונות האלה, יש להזין את קוד השגיאה functionNotSupported
בתגובה מסוג QUERY או EXECUTE. מידע נוסף זמין בקטע שגיאות וחריגים.
תכונות מומלצות
התכונות האלה מומלצות למכשיר, אם הן רלוונטיות אליו. עם זאת, אפשר לשלב בין כל התכונות הזמינות כדי להתאים אותן בצורה הטובה ביותר לפונקציונליות הקיימת של המוצר.
-
action.devices.traits.Modes
-
action.devices.traits.OnOff
-
action.devices.traits.RunCycle
-
action.devices.traits.Toggles
דרישות איכות
- זמן אחזור: חייב להיות קצר מ-3000 אלפיות שנייה או שווה לו.
- אמינות: צריכה להיות 97% ומעלה.
מכשיר לדוגמה: מכונת כביסה פשוטה
בקטע הזה יש דוגמאות של מטענים ייעודיים (payloads) של Intent שמייצגים 'שוטף' משותף על סמך סוג המכשיר והתכונות שלמעלה. אם מוסיפים או מסירים traits בהטמעה, צריך לשנות את התגובות בהתאם כדי לשקף את השינויים.
תגובת SYNC לדוגמה
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.WASHER", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.RunCycle", "action.devices.traits.StartStop", "action.devices.traits.Modes" ], "name": { "name": "Simple washer" }, "willReportState": true, "attributes": { "availableModes": [ { "name": "load_key", "name_values": [ { "name_synonym": [ "Load", "Size", "Load size" ], "lang": "en" } ], "settings": [ { "setting_name": "small_key", "setting_values": [ { "setting_synonym": [ "Small", "Half" ], "lang": "en" } ] }, { "setting_name": "large_key", "setting_values": [ { "setting_synonym": [ "Large", "Full" ], "lang": "en" } ] } ], "ordered": true } ], "pausable": 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, "on": true, "isRunning": true, "isPaused": false, "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300, "currentModeSettings": { "load_key": "small_key" } } } } }
פקודות EXECUTE לדוגמה
OnOff
פרטים נוספים על הפרמטרים של הפקודות זמינים בחומר העזר בנושא
action.devices.traits.OnOff
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
StartStop
פרטים נוספים על הפרמטרים של הפקודות זמינים בחומר העזר בנושא
action.devices.traits.StartStop
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isRunning": true, "isPaused": false } } ] } }
SetModes
פרטים נוספים על הפרמטרים של הפקודות זמינים בחומר העזר בנושא
action.devices.traits.Modes
.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_key": "large_key" } } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentModeSettings": { "load_key": "large_key" } } } ] } }