סכימת מאפיינים של מצבים לבית חכם

action.devices.traits.Modes – התכונה הזו כוללת את כל המצבים הזמינים וההגדרות הספציפיות למצב במכשיר.

התכונה הזו שייכת לכל המכשירים עם מספר שרירותי של מצבים 'n-way', שבהם המצבים וההגדרות של כל מצב הם שרירותיים וייחודיים לכל מכשיר או סוג מכשיר. לכל מצב יש כמה הגדרות אפשריות, אבל אפשר לבחור רק אחת בכל פעם. למשל, אי אפשר להגדיר למייבש את המצבים 'עדין', 'רגיל' ו'עמיד' בו-זמנית. הגדרה שאפשר פשוט להפעיל או להשבית שייכת למאפיין Toggles.

לדוגמה, למכונת כביסה יכולות להיות הגדרות לגודל הכביסה ולטמפרטורה. שני המצבים האלה הם מצבים נפרדים, אבל כל אחד מהם יכול להיות רק במצב אחד בכל פעם. המשתמש יכול להגדיר מצב כמו טמפרטורה באופן מפורש באמצעות פקודה כמו Set the washer’s temperature to cold (הגדרת הטמפרטורה של מכונת הכביסה על קרה).

חלק מהמצבים הם 'מסודרים' ואפשר גם להתאים אותם באמצעות מילים כמו 'למעלה'/'למטה', 'הגדלה'/'הקטנה'. לדוגמה, גודל הכביסה (קטן, בינוני, גדול) והטמפרטורה מסודרים בבירור (שימו לב שהטמפרטורה היא לא טרמוסטט בפועל עם יעד מספרי, כמו במכשירים אחרים), אבל סוג הכביסה (עדינה, רגילה, צמר וכו') לא בהכרח מסודר.

התכונה הזו כוללת מצב אחד או יותר שמשתמשים יכולים להגדיר. באופן כללי, צריך להשתמש במצבים האלה לפונקציונליות שלא מקושרת להתנהגות אחרת של המכשיר. התנהגויות מקושרות, כמו הפעלה או כיבוי של המכשיר עצמו, צריכות להשתמש בתכונות ספציפיות יותר (לדוגמה, thermostatMode בתכונה TemperatureSetting).

מאפייני המכשיר

מכשירים עם המאפיין הזה עשויים לדווח על המאפיינים הבאים כחלק מהפעולה SYNC. SYNCמידע נוסף על טיפול בכוונות

מאפיינים סוג תיאור
availableModes מערך

חובה.

רשימה של המצבים הזמינים.

[item, ...] אובייקט

מצב זמין.

name String

חובה.

השם הפנימי של המצב, שישמש בפקודות ובמצבים. ההגדרה הזו לא תמיד נוחה לשימוש, והיא משותפת לכל השפות.

name_values מערך

חובה.

מילים נרדפות למצב בכל השפות הנתמכות.

[item, ...] אובייקט

מילים נרדפות של המצב בשפה נתונה. כדי לספק חלופה לשפה, צריך לפחות פריט אחד עם ערך lang של en.

name_synonym מערך

חובה.

מילים נרדפות של המצב. המחרוזת הראשונה ברשימה הזו משמשת כשם הקנוני של הרמה בשפה הזו.

[item, ...] String

שם המילה הנרדפת. כדי לספק חלופה לשפה, צריך לפחות פריט אחד עם ערך lang של en.

lang String

חובה.

קוד שפה (ISO 639-1). כאן מפורטות השפות הנתמכות.

settings מערך

חובה.

ההגדרות הנתמכות במצב הזה.

[item, ...] אובייקט

הגדרה נתמכת.

צריך להוסיף לפחות 2 פריטים.

setting_name String

חובה.

השם הפנימי של הגדרת המצב, שישמש בפקודות ובמצבים. ההגדרה הזו לא תמיד נוחה לשימוש, והיא משותפת לכל השפות.

setting_values מערך

חובה.

מילים נרדפות להגדרה בכל השפות הנתמכות.

[item, ...] אובייקט

מילים נרדפות להגדרה בשפה מסוימת.

setting_synonym מערך

חובה.

מילים נרדפות להגדרה. המחרוזת הראשונה ברשימה הזו משמשת כשם הקנוני של הרמה בשפה הזו.

[item, ...] String

שם המילה הנרדפת.

lang String

חובה.

קוד שפה (ISO 639-1). כאן מפורטות השפות הנתמכות.

ordered Boolean

(ברירת מחדל: false)

אם ההגדרה הזו מוגדרת כ-True, יחולו כללי דקדוק נוספים ללוגיקה של הגדלה/הקטנה, לפי הסדר (עולה) של מערך ההגדרות.

commandOnlyModes Boolean

(ברירת מחדל: false)

מציין אם המכשיר תומך בשימוש בתקשורת חד-כיוונית (true) או דו-כיוונית (false). מגדירים את המאפיין הזה ל-true אם המכשיר לא יכול להגיב לאינטנט QUERY או ל-Report State עבור התכונה הזו.

queryOnlyModes Boolean

(ברירת מחדל: false)

חובה אם המכשיר תומך בהרצה של שאילתות בלבד. המאפיין הזה מציין אם אפשר רק לשלוח שאילתה למכשיר כדי לקבל מידע על המצב שלו, ואי אפשר לשלוט בו.

דוגמאות

מכשיר עם כמה מצבים והגדרות.

{
  "availableModes": [
    {
      "name": "load_mode",
      "name_values": [
        {
          "name_synonym": [
            "Load",
            "Size",
            "Load size"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "small_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Small",
                "Half"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "medium_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Medium",
                "Normal"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "large_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Large",
                "Full"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": true
    },
    {
      "name": "temp_mode",
      "name_values": [
        {
          "name_synonym": [
            "Temperature",
            "Temp"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "hot_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Hot",
                "White"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "warm_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Warm",
                "Color"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "cold_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Cold",
                "Delicate"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ]
}

מכשיר עם מצבים שבהם אפשר להשתמש רק בפקודות.

{
  "availableModes": [
    {
      "name": "light_mode",
      "name_values": [
        {
          "name_synonym": [
            "Light",
            "Lighting"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "day_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Day",
                "Bright"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "night_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Night",
                "Dark"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "reading_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Reading",
                "Ambiant"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ],
  "commandOnlyModes": true,
  "queryOnlyModes": false
}

מצבי המכשיר

יכול להיות שיירשמו לישויות עם המאפיין הזה המצבים הבאים כחלק מהפעולה QUERY. QUERYמידע נוסף על טיפול בכוונות

מדינות סוג תיאור
currentModeSettings אובייקט

חובה.

צמד מפתח/ערך עם המצב name של המכשיר כמפתח, והערך הנוכחי setting_name כערך.

<string> String

כרגע setting_name.

דוגמאות

באיזה מצב המכשיר?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

פקודות למכשיר

מכשירים עם המאפיין הזה עשויים להגיב לפקודות הבאות כחלק מהפעולה EXECUTE. EXECUTEמידע נוסף על טיפול בכוונות

action.devices.commands.SetModes

מעדכנים את הגדרות המצב.

פרמטרים

פרמטרים סוג תיאור
updateModeSettings אובייקט

חובה.

צמד מפתח/ערך עם המצב name של המכשיר כמפתח, והערך החדש setting_name כערך.

<string> String

חדש setting_name.

דוגמאות

הגדרה לטעינה גדולה.

{
  "command": "action.devices.commands.SetModes",
  "params": {
    "updateModeSettings": {
      "load_mode": "large_load"
    }
  }
}

דוגמאות לביטויים

de-DE

  • Stelle den Staubsauger auf Ruhemodus

en-US

  • set the vacuum to energy saver mode

es-ES

  • pon la lavadora en modo frío

fr-FR

  • mets l'aspirateur en silencieux

hi-IN

  • वैक्यूम पर कार्पेट मोड लगाएं

it-IT

  • imposta l'aspirapolvere su silenzioso

ja-JP

  • 掃除機 静音 モードに設定して

ko-KR

  • 세탁기 세탁량 많음 으로 설정해

pt-BR

  • acionar a função autolimpeza do aspirador
  • ligar o modo de aquecimento

שגיאות במכשיר

רשימה מלאה של שגיאות וחריגים