מאפיינים פשוטים יותר ב-Android

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