מדריך לתנור בית חכם
action.devices.types.OVEN
– האינטראקציה עם תנורים כוללת יכולת לאפות או לבשל בטמפרטורות מסוימות. הטמפרטורה הפיזית בתוך התנור משתנה ככל שהתנור מתחמם, לכן ייתכן שיש מעקב גם אחר הנתונים האלה. לתנור יש זמן בישול שמגביל את משך האפייה.
הסוג הזה מציין שהמכשיר מקבל את סמל התנור וחלק מילים נרדפות וכינויים.
בתנור יש דקדוק מבוסס-סוג עבורaction.devices.traits.OnOff
ו-
action.devices.traits.TemperatureControl
:
- אם המכשיר תומך ב-
OnOff
, התנור מראש ישלחaction.devices.commands.OnOff
הפקודה. - אם המכשיר תומך ב-
TemperatureControl
, חימום מראש של התנור ל-350 מעלות ישלח פקודה כדי להגדיר בתנור לטמפרטורה הזו.
יכולות המכשיר
אפשר לעיין במסמכי התיעוד המתאימים לגבי התכונה פרטי ההטמעה, כמו מאפיינים ומצבים שבהם השירות צריך לתמוך, ואיך לבנות תגובות EXECUTE ו-QUERY.
התכונות הנדרשות
התכונות והפקודות האלה נדרשים, אם הן רלוונטיות
במכשיר. אם המכשיר שלכם לא תומך בתכונות האלה, הזינו את קוד השגיאה של
functionNotSupported
בתגובה QUERY או EXECUTE. צפייה
שגיאות וחריגים לקבלת מידע נוסף.
תכונות מומלצות
מומלץ להשתמש בתכונות האלה, אם הן רלוונטיות למכשיר שלכם. עם זאת, אתם יכולים לשלב בין כל התכונות הזמינות כדי להתאים אותן בצורה הטובה ביותר הפונקציונליות של המוצר.
דרישות איכות
- זמן אחזור: חייב להיות קטן מ-3,000 אלפיות שנייה או שווה לו.
- אמינות: חייבת להיות יותר מ-97% או שווה לו.
מכשיר לדוגמה: תנור פשוט
המקטע הזה מכיל דוגמאות למטענים ייעודיים (payloads) של Intent שמייצגים 'תנור' נפוץ. על סמך סוג המכשיר והתכונות שמפורטות למעלה. אם מוסיפים או מסירים תכונות בהטמעה, תשנה את התשובות שלכם בהתאם כך שישקפו את השינויים האלה.
דוגמה של תגובת SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.OVEN", "traits": [ "action.devices.traits.Cook", "action.devices.traits.OnOff", "action.devices.traits.TemperatureControl", "action.devices.traits.Timer", "action.devices.traits.StartStop" ], "name": { "name": "Simple oven" }, "willReportState": true, "attributes": { "supportedCookingModes": [ "BAKE", "CONVECTION_BAKE", "ROAST" ], "maxTimerLimitSec": 3600, "temperatureRange": { "minThresholdCelsius": 65, "maxThresholdCelsius": 288 }, "temperatureUnitForUX": "F" }, "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, "temperatureSetpointCelsius": 175, "currentCookingMode": "BAKE", "timerRemainingSec": -1 } } } }
פקודות EXECUTE לדוגמה
בישול
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.Cook
הפניה.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.Cook", "params": { "start": true, "cookingMode": "ROAST" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentCookingMode": "ROAST" } } ] } }
OnOff
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.OnOff
הפניה.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
SetTemperature
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.TemperatureControl
הפניה.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetTemperature", "params": { "temperature": 200 } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "temperatureSetpointCelsius": 200, "temperatureAmbientCelsius": 100 } } ] } }
TimerStart
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.Timer
הפניה.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerStart", "params": { "timerTimeSec": 300 } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300 } } ] } }
TimerAdjust
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.Timer
הפניה.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerAdjust", "params": { "timerTimeSec": -10 } } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 290 } } ] } }
TimerPause
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.Timer
הפניה.
{ "requestId": "6894439706274654526", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerPause" } ] } ] } } ] }
{ "requestId": "6894439706274654526", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300, "timerPaused": true } } ] } }
TimerResume
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.Timer
הפניה.
{ "requestId": "6894439706274654528", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerResume" } ] } ] } } ] }
{ "requestId": "6894439706274654528", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300, "timerPaused": false } } ] } }
TimerCancel
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.Timer
הפניה.
{ "requestId": "6894439706274654530", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerCancel" } ] } ] } } ] }
{ "requestId": "6894439706274654530", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": -1 } } ] } }
StartStop
לפרטים נוספים על הפרמטרים של הפקודה:
אפשר לקרוא את
action.devices.traits.StartStop
הפניה.
{ "requestId": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isRunning": true } } ] } }