סכימת תכונות ריצה של בית חכם

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

חובה.

תוצאת הפעולה.

ערכים נתמכים:

SUCCESS
currentCycleRemainingTime Integer

חובה.

הזמן שנותר במחזור הנוכחי, בשניות.

1 אובייקט

כשל

priority Integer

חובה.

רמת ההתראה. הערך הנתמך בשלב זה הוא 0, לציון ההודעה צריכה להיות מוקראת בקול.

status String

חובה.

תוצאת הפעולה.

ערכים נתמכים:

FAILURE
errorCode String

חובה.

הערך יכול להיות כל קוד שגיאה של התכונה הזו, לדוגמה deviceStuck.

דוגמאות

המכשיר הפסיק לפעול.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

אירעה שגיאה במהלך השלמת המחזור הנוכחי.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

מכשיר ERRORS

כדאי לעיין ברשימה המלאה של שגיאות וחריגים.