סכימת תכונות ריצה של בית חכם
action.devices.traits.RunCycle
- התכונה הזו מייצגת כל מכשיר שמשך פעולתו נמשך, וניתן לשלוח שאילתה לגביו.
מכשירים כאלה ידווחו על מספר המחזורים הכולל בתחילת הפעולה, ובכל מחזור שבו המכשיר נמצא כרגע בזמן הפעולה. כך המשתמש יכול לשלוח שאילתות, כגון:
- באיזה מחזור פועל המייבש?
- כמה מחזורים נותרו למדיח הכלים?
- מה עושה המייבש?
- מתי הכביסה תסתיים?
מכשירים מסוימים כוללים משך זמן בפורמט לא מחזורי. כל מכשיר שפועל במשך פרק זמן מסוים יכול לדווח על הזמן שנותר לו, ללא מחזורים. טיפול גם במקרים שבהם המחזורים לא עקביים (לדוגמה, לא תמיד אפשר להשתמש במדיחי כלים בכל המחזורים). לדוגמה, משתמש יכול לשאול כמה זמן שואב האבק יפעל?. הפעולה הזו תחזיר את הזמן ביחידות ביחס לזמן שנותר. הכלל הזה נכון גם לגבי המכשירים שמצוינים למעלה. הערך כמה זמן הבגדים שלי יתייבש? יחזיר את משך הזמן בדקות.
מכשירים יכולים להחזיר את מה שידוע להם, ובתגובה של Assistant ל-TTS תתקבל התשובה הטובה ביותר עם הנתונים הזמינים (לדוגמה, מדיח הכלים פועל ותשלים בעוד כ-20 דקות).
בשלב זה RunCycle הוא תכונה לקריאה בלבד – אין לה פקודות, רק מצבים לביצוע שאילתה. בעתיד ייתכן שיהיו מנגנונים להרצת מחזורים מחדש או לדילוג על מחזורים (טוב לממטרות, גרוע למכונות כביסה).
מאפייני המכשיר
ללא.
מכשיר STATES
ישויות עם התכונה הזו עשויות לדווח על המצבים הבאים כחלק מהפעולה QUERY
. מידע נוסף על טיפול באובייקטים מסוג QUERY
זמין במאמר מילוי אובייקטים של Intent.
מדינות | סוג | תיאור |
---|---|---|
currentRunCycle |
מערך |
חובה. מכיל את המילים הנרדפות למחזור הנוכחי בכל שפה נתמכת. |
[item, ...] |
אובייקט |
מחזורי שמות של מילים נרדפות. |
currentCycle |
String |
חובה. מתבצע המחזור הנוכחי. |
nextCycle |
String |
אפשרות. המחזור הבא לביצוע. |
lang |
String |
חובה. קוד השפה של שמות המחזורים הנתונים. כאן תוכלו לקרוא את השפות הנתמכות. |
currentTotalRemainingTime |
Integer |
חובה. הזמן שנותר לפעולה, בשניות. |
currentCycleRemainingTime |
Integer |
חובה. הזמן שנותר במחזור הנוכחי, בשניות. |
דוגמאות
המכשיר בבריכה במשך 5 דקות נוספות, ויסתיים תוך 20 דקות.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
המכשיר בבריכה במשך 5 דקות נוספות לפני שהוא עובר לסיבוב.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
COMMANDS של מכשיר
ללא.
התראות במכשיר
מכשירים עם התכונה הזו עשויים להחזיר את המטען הייעודי (payload) הבא, כחלק משינוי במצב המכשיר. מידע נוסף על הטמעת התראות זמין במאמר התראות על פעולות בבית חכם.
שדות | סוג | תיאור |
---|---|---|
RunCycle |
חובה. מטען ייעודי (payload) של התראות. |
|
יש תמיכה באחת מהאפשרויות הבאות: | ||
0
|
אובייקט |
הפעולה הצליחה |
priority |
Integer |
חובה. רמת ההתראה. הערך הנתמך בשלב זה הוא 0, לציון ההודעה צריכה להיות מוקראת בקול. |
status |
String |
חובה. תוצאת הפעולה. ערכים נתמכים:
|
currentCycleRemainingTime |
Integer |
חובה. הזמן שנותר במחזור הנוכחי, בשניות. |
1
|
אובייקט |
כשל |
priority |
Integer |
חובה. רמת ההתראה. הערך הנתמך בשלב זה הוא 0, לציון ההודעה צריכה להיות מוקראת בקול. |
status |
String |
חובה. תוצאת הפעולה. ערכים נתמכים:
|
errorCode |
String |
חובה. הערך יכול להיות כל קוד שגיאה של התכונה הזו, לדוגמה |
דוגמאות
המכשיר הפסיק לפעול.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
אירעה שגיאה במהלך השלמת המחזור הנוכחי.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }