אוטומציות הן דרך להפוך משימות והגדרות המכשיר בבית לאוטומטיות. התכונה 'פעולות אוטומטיות' זמינה במערכת האקולוגית של Google Home כתרחישים ב-Google Home app (GHA) ודרך automation script editor ב-Google Home for web.
עכשיו, פעולות אוטומטיות במערכת האקולוגית של Google Home זמינות דרך ממשקי ה-API של Home ל-Android. הם מבוססים על אותם מושגים בסיסיים שמשמשים בתרחישי GHA וב-script editor, אבל עם תכונות ויכולות משופרות שמתאפשרות רק באמצעות ממשקי ה-API של Home, כולל:
- גישה לכל התכונות הרגילות של Matter ולתכונות של smart home במכשיר, כפי שמוצג בממשקי ה-API של Home.
- תמיכה בזרימות ביצוע עוקבות, מקבילות וסלקטיביות.
האוטומציות נכתבות באמצעות Automation DSL, שפה ספציפית לדומיין שנועדה ליצור אוטומציות ב-Kotlin.
כל המאפיינים והסוגים שבהם אתם מתכוונים להשתמש באפליקציה שלכם באמצעות ממשקי ה-API של Device & Structure או Automation חייבים להיות רשומים בזמן האתחול. אפשר לעיין במאמר בנושא אתחול הבית ב-Android.
הנחיות אם משתמש מבטל הרשאות מלאות
אם המשתמש מבטל את ההרשאות המלאות, כל האוטומציות הקיימות יפסיקו לפעול. בנוסף, אם המשתמש מבטל את הגישה למכשירים ספציפיים, הפעולות, התנאים והטריגרים שמשויכים למכשירים האלה יפסיקו לפעול.
בכל פעם שהאפליקציה מופעלת, חשוב לוודא שההרשאות עדיין בתוקף. אם הן בוטלו, צריך לוודא שכל הנתונים הקודמים הוסרו, כולל נתונים ששמורים במטמון באפליקציה.
התהליך שעובר המפתח
Automation API הוא חלק ממסע פיתוח גדול יותר. היא מופיעה אחרי שמשלבים את ממשקי ה-API של המבנה והמכשיר, כדי לוודא שמשתמש שרוצה להשתמש בפעולות אוטומטיות יוכל לעשות זאת.
- המפתח מתכנן את האוטומציה ומגדיר אותה באמצעות Automation DSL.
- המפתח מטמיע את הגדרת האוטומציה באפליקציית Android ב-Kotlin.
- האפליקציה מציגה למשתמש אוטומציות על סמך מידע על המכשירים שלו, כולל מאפיינים, תכונות, פקודות ואירועים, שנאסף באמצעות Discovery API או Device API.
- באמצעות Discovery API, האפליקציה יכולה ליצור טיוטה של אוטומציה מותאמת אישית לסוגי המכשירים ולמאפיינים שקיימים במבנה של המשתמש, עם או בלי קלט מהמשתמש.
- Device API יכול לספק את רוב המידע שמתקבל מ-Discovery API, אבל הוא לא מותאם לתרחישי שימוש באוטומציה. מידע נוסף מופיע במאמר השוואה בין Device API לבין Discovery API.
- האפליקציה יוצרת את האוטומציה בפועל, שמוגדרת לפי המבנה שנבחר.
- האוטומציה זמינה עכשיו במבנה של המשתמש, ואפשר להפעיל או למחוק אותה באמצעות שיטות של Structure API.
המשתמש יכול ליצור מקרים חדשים של האוטומציה בכל שלב, לבחור מבנה אחר או, בהתאם ללוגיקה של האפליקציה, אולי קבוצה אחרת של מכשירים. בכל פעם שהם עושים זאת, האפליקציה יוצרת מופע חדש של האוטומציה.
בתרחיש הבסיסי ביותר, אפשר להציע למשתמשים אוטומציה מוגדרת מראש שמבצעת משימה בסיסית יחסית. אפשרות אחרת היא להציג מסגרת של אוטומציה שהמשתמש יכול להתאים אישית לצרכים שלו. לחלופין, אפשר לכתוב עורך אוטומציה פתוח שמאפשר למשתמש ליצור אוטומציות מורכבות באמצעות כל אבני הבניין שזמינות ב-Automation API.
הצעות לאוטומציה
ממשקי ה-API של Home יכולים להציע אוטומציות לStructure על סמך גורמים כמו סוגי המכשירים שנמצאים במרחב.
ההצעות לפעולות אוטומטיות מיוצגות על ידי המחלקה AutomationSuggestion.
ממשק Structure כולל את ממשק HasSuggestions, שמספק את הפונקציה suggestions(), שמחזירה אוסף של הצעות לאוטומציה.
השיטות
likeSuggestion()
ו-
dislikeSuggestion()
מיועדות לחיבור לבקרי ממשק המשתמש
ו-
שהמשתמש יכול להקיש עליהם כדי לספק משוב.
שיטה שלישית,
clearSuggestionFeedback(),
מאפשרת למשתמש להסיר את המשוב שלו על הצעה לאוטומציה.
המשוב מהמשתמשים משפיע על ההצעות העתידיות.
הגבלות על משאבים
המגבלות הבאות חלות על פעולות אוטומטיות בממשקי ה-API של Home:
| מדד | מגבלה |
|---|---|
| מספר הפעולות האוטומטיות המקסימלי לכל מבנה | 64 |
| מספר הצמתים המקסימלי לכל אוטומציה | 128 |
| מספר מקסימלי של צמתי ביטוי לכל אוטומציה | 64 |
| מספר המופעים המקסימלי של אוטומציה לכל מבנה | 1024 |
| מספר המופעים המקסימלי של אוטומציה לכל מפתח לכל מבנה | 64 |
| מספר ההרצות המקסימלי לכל מבנה ביום | 1024 |
| מספר ההרצות המקסימלי לכל מפתח לכל מבנה ביום | 128 |