סכימת תכונות של מצבי בית חכם
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 |
בוליאני |
(ברירת המחדל: אם קובעים את ההגדרה True, יחול דקדוק נוסף ללוגיקה של הגדלה/הקטנה, לפי הסדר (המגמת עלייה) של מערך ההגדרות. |
commandOnlyModes |
בוליאני |
(ברירת המחדל: הערך הזה מציין אם המכשיר תומך בתקשורת חד-כיוונית (true) או בתקשורת דו-כיוונית (לא נכונה). יש להגדיר את המאפיין הזה כ-True אם המכשיר לא יכול להגיב ל-Intent QUERY או למצב דיווח של התכונה הזו. |
queryOnlyModes |
בוליאני |
(ברירת המחדל: חובה אם המכשיר תומך בהפעלה של שאילתה בלבד. המאפיין הזה מציין אם המכשיר יכול לקבל שאילתות רק לגבי פרטי מצב, ולא ניתן לשלוט בו. |
דוגמאות
מכשיר עם כמה מצבים והגדרות.
{ "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 |
אובייקט |
חובה. צמד מפתח/ערך עם מצב |
<string> |
String |
כרגע |
דוגמאות
באיזה מצב נמצא המכשיר?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
COMMANDS של מכשיר
מכשירים עם התכונה הזו עשויים להגיב לפקודות הבאות כחלק מהפעולה EXECUTE
. מידע נוסף על טיפול באובייקטים מסוג EXECUTE
זמין במאמר מילוי אובייקטים של Intent.
action.devices.commands.SetModes
עדכון הגדרות המצב.
פרמטרים
פרמטרים | סוג | תיאור |
---|---|---|
updateModeSettings |
אובייקט |
חובה. צמד מפתח/ערך עם מצב |
<string> |
String |
חדש: |
דוגמאות
הגדרה כטעינה גדולה.
{ "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