כדי להקל על השימוש, יש גרסאות פשוטות יותר של מאפיינים מסוימים שזמינות לשימוש עם 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) }