כדי להקל על השימוש, יש גרסאות פשוטות של חלק מהמאפיינים שאפשר להשתמש בהן עם Automation API ב-Android.
תכונה פשוטה מייצגת תכונה רגילה של Home API, בדומה לאופן הפעולה של תבנית העיצוב facade. תכונות פשוטות מספקות פקודות שמקלות על ביצוע משימות נפוצות בסוגים מסוימים של מכשירים. מאפיינים פשוטים הם מאפיינים של Home API, וכמו מאפיינים אחרים של Home API, הם פועלים גם במכשירי Matter וגם במכשירי Cloud-to-cloud.
מאפיין פשוט הוא קבוצת משנה חלופית של מאפיינים ופקודות שהם ספציפיים יותר למכשיר מאלה של המאפיין התקני התואם.
לדוגמה, המאפיין הרגיל
LevelControl
trait הוא מאפיין כללי שאפשר להשתמש בו בכל מכשיר שיש לו הגדרה שמשתנה באופן רציף בטווח של ערכים מספריים.
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 ב-Android.
אחזור מכשיר שתומך ב-trait פשוט
כשמשתמשים ב-Device API כדי לקבל מכשירים במבנה שתומך בתכונה פשוטה כמו SimplifiedThermostat
, אי אפשר להשתמש בשיטה has(trait)
. במקום זאת, צריך להשתמש בשיטה has(deviceType)
:
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }