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

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

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

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

חלק מהמצבים 'מסודרים' ואפשר לשנות אותם באמצעות הגברת או הפחתת ההקראה. לדוגמה, הטמפרטורה נמוכה (small, medium ו-large) והטמפרטורה מסודרים בבירור (שימו לב שטמפרטורה היא לא תרמוסטט בפועל עם יעד מספרי, כמו במכשירים אחרים), אבל סוג הטעינה (כמו מעיל, רגיל, צמר וכו') עשוי שלא כך.

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

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

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

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

חובה.

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

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

מצב זמין.

name String

חובה.

שם פנימי של המצב, שישמש בפקודות ובמצבים. יכול להיות שלא יהיה ידידותי למשתמש, והוא ישותף בכל השפות.

name_values מערך

חובה.

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

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

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

name_synonym מערך

חובה.

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

[item, ...] String

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

lang String

חובה.

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

settings מערך

חובה.

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

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

הגדרה נתמכת.

צריך להזין לפחות 2 פריטים.

setting_name String

חובה.

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

setting_values מערך

חובה.

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

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

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

setting_synonym מערך

חובה.

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

[item, ...] String

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

lang String

חובה.

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

ordered בוליאני

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

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

commandOnlyModes בוליאני

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

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

queryOnlyModes בוליאני

(ברירת המחדל: 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
}

מכשיר STATES

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

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

חובה.

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

<string> String

כרגע setting_name.

דוגמאות

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

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

COMMANDS של מכשיר

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

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

מכשיר ERRORS

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