תכונות פשוטות

כדי להקל על השימוש, יש גרסאות פשוטות יותר של מאפיינים מסוימים שזמינות לשימוש עם Automation API.

מאפיין פשוט מחליף מאפיין רגיל של Home API, בדומה לאופן שבו פועל תבנית חזית. מאפיינים פשוטים מספקים פקודות שמאפשרות לבצע משימות נפוצות בקלות רבה יותר בסוגים מסוימים של מכשירים. מאפיינים פשוטים הם מאפיינים של Home API, וכמו מאפיינים אחרים של Home API, הם פועלים גם במכשירי Matter וגם במכשירי Cloud-to-cloud.

מאפיין פשוט מציע קבוצת משנה חלופית של מאפיינים ופקודות שמותאמים יותר למכשיר מאשר המאפיין הרגיל התואם. לדוגמה, המאפיין הסטנדרטי LevelControl הוא מאפיין כללי שאפשר להשתמש בו בכל מכשיר שיש לו הגדרה שמשתנה באופן רציף בטווח של ערכים מספריים. Brightness הוא מאפיין פשוט שמייצג את LevelControl ומספק רק את הפקודות והמאפיינים שנדרשים למכשיר DimmableLight. ל-Brightness יש פקודת moveToBrightness עם ארגומנטים brightnessPercent יחידים, ואילו ל-LevelControl יש כמה פקודות move, שרובן כוללות לפחות ארבעה פרמטרים כדי להתאים למגוון רחב יותר של תרחישים לדוגמה.

בטבלה הבאה מוצגים כל המאפיינים הפשוטים והמאפיינים הרגילים שעומדים בבסיסם. כל שם של מאפיין מקשר למסמכי התיעוד התואמים של ה-API:

טבלה: מאפיינים פשוטים
מאפיין פשוט מאפיין רגיל
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

מאפיינים פשוטים יותר ו-Discovery API

‏Discovery API מדווח על מאפיינים פשוטים וגם על המאפיינים הרגילים שעומדים בבסיסם, כל עוד שני המאפיינים רשומים ב-FactoryRegistry. לדוגמה, אם מכשיר DimmableLight נמצא במבנה, והמפתח רשם את המאפיינים LevelControl ו-Brightness ב-FactoryRegistry, Discovery API יציין את נוכחות שני המאפיינים. המפתחים יכולים לבחור להשתמש בכל אחד מהמאפיינים האלה בתהליך האוטומציה שלהם.

מידע נוסף זמין במאמר Discovery API.

אחזור מכשיר שתומך במאפיין פשוט יותר

כשמשתמשים ב-Device API כדי לקבל מכשירים במבנה שתומך במאפיין פשוט יותר, כמו SimplifiedThermostat, אי אפשר להשתמש בשיטה has(trait). במקום זאת, צריך להשתמש בשיטה has(deviceType):

val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }