מאפיינים פשוטים יותר ב-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) }