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