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