לפני שמתחילים להשתמש ב-Automation API, כדאי לתכנן את האוטומציות.
קובעים את הפרמטרים הבאים לכל פעולה אוטומטית:
- הנסיבות שבהן כדאי להציע למשתמש את הפעולות האוטומטיות. לדוגמה, אם המשתמש הוסיף לאחרונה שלוש מנורות חדשות לבית, יכול להיות שהוא יתעניין בפעולות אוטומטיות מסוימות שמותאמות לשליטה במנורות.
- אילו סוגי מכשירים נדרשים לפעולות האוטומטיות. לדוגמה, אם משתמש הוסיף לאחרונה שלוש מנורות חדשות לבית שלו, יכול להיות שהוא יתעניין בפעולות אוטומטיות מסוימות שמותאמות לשליטה במנורות. דוגמאות לסוגי מכשירים קלים:
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceאוExtendedColorLightDevice. - אילו מאפייני תכונות ופקודות נדרשים לאוטומציה, ואם הם נתמכים על ידי Automation API ב-Android.
- המאפיינים שצריכים להפעיל את האוטומציה כסימנים לתחילת פעולה. מידע על סימנים לתחילת פעולה מופיע במאמר רכיבי אוטומציה ב-Android.
- תנאים נוספים שקובעים אם הפעולה האוטומטית תפעל בפועל, ואילו פעולות יבוצעו.
- תהליך הביצוע של האוטומציה. האם הפעולות צריכות להתבצע ברצף או במקביל? האם נדרשים לך כמה נתיבי לוגיקה?
בשלב התכנון, כדאי ליצור תרשים של תהליך האוטומציה, צומת אחר צומת, עם הלוגיקה הנדרשת בכל שלב.
אחרי שתתכננו אוטומציה, תוכלו להשתמש ב-DSL של האוטומציה כדי ליצור אותה. האוטומציה שתיצרו היא בעצם 'תבנית' – כל המבנים והמכשירים שבה הם placeholders, והם מתמלאים במבנה ובמכשירים הספציפיים של כל משתמש כשהוא 'מאמץ' את האוטומציה לשימוש שלו.
אלה סוגים שונים של אוטומציות שאפליקציה יכולה ליצור באמצעות ממשקי ה-API של Home. במאמר יצירת אוטומציה מופיעים קטעי קוד שקשורים לדוגמאות האלה.
פעולות אוטומטיות פשוטות
נניח שאתם צריכים לכתוב אפליקציה שיוצרת פעולות אוטומטיות להרמת התריסים בשעה 8:00 בבוקר. לשם כך, האפליקציה צריכה רשימה של התריסים (מכשירים עם סוג המכשיר WindowCoveringDevice) שנמצאים במבנה ותומכים באוטומציות. אפשר לקבל את הרשימה הזו באמצעות Discovery API.
אם רוצים להפעיל אוטומציות בשעה מסוימת, צריך לוודא שהמשתמש הקצה הקצה כתובת רחוב למבנה שבחר בGoogle Home app (GHA). אחרת, האוטומציה לא תדע מהו אזור הזמן שבו היא תפעל. ה-API של Discovery יכול לעזור לכם לקבוע אם כתובת הוקצתה למבנה.
לכן, רצף הפעולות ייראה בערך כך:
- באמצעות Discovery API, אוספים את רשימת המכשירים
WindowCoveringDevice. - אם הרחוב ומספר הבית לא מופיעים, צריך להודיע למשתמש שהוא צריך לספק את הרחוב ומספר הבית, ולהפסיק את הביצוע.
- אחרת, מגדירים את האוטומציה:
- התחלת האוטומציה בשעה 8:00.
- לכל אחד מהתריסים, קוראים לפקודה
upOrOpenשל מאפייןWindowCovering.
אוטומציה מורכבת
תארו לעצמכם אפליקציה שיוצרת אוטומציה שמפעילה אורות מהבהבים כשמזוהה תנועה.
אחת המשימות הראשונות בהטמעה של האפליקציה הזו היא לגלות אילו מנורות זמינות בבית של המשתמש באמצעות Discovery API. בעזרת המידע הזה, האפליקציה יכולה להציג את האורות הזמינים ולאפשר למשתמש לבחור אילו אורות ימצמצו.
תהליך ההרצה:
- באמצעות Discovery API, אוספים את רשימת המכשירים הקלים שקיימים במבנה, כלומר כל המכשירים עם סוג המכשיר
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceאוExtendedColorLightDevice. - צריך לספק דרך לבחירת הנורות שיהבהבו, למשל באמצעות חלונית הגדרות בהתאמה אישית.
- מגדירים את האוטומציה:
- האוטומציה תופעל בכל פעם שמישהו יעזוב את המתחם או יגיע אליו, באמצעות מעקב אחרי
AreaPresenceState. - אם
presenceStateמציין שהמבנה מאוכלס, צריך להבהב את האורות שנבחרו.
- האוטומציה תופעל בכל פעם שמישהו יעזוב את המתחם או יגיע אליו, באמצעות מעקב אחרי
אוטומציה כללית
לדוגמה, אוטומציה מורכבת יותר יכולה להנחות את המשתמש בתהליך של יצירת אוטומציה פתוחה, שמבוססת על חלק מהמכשירים בבית או על כולם.
יכול להיות שהאוטומציה תבקש מהמשתמש לבחור מבנה.
לאחר מכן, האוטומציה יכולה להציג את כל החדרים במבנה בתצוגת מתאר שניתנת להרחבה. הרחבת חדר מציגה את המכשירים שבו. הרחבת מכשיר מציגה את הפקודות וההפעלות שנתמכות על ידי המכשיר.
המשתמש יכול לבחור את המכשירים, הסימנים לתחילת הפעולה והפקודות שבהם הוא רוצה להשתמש, והאוטומציה תנחה את המשתמש בתהליך ההרכבה של האוטומציה.
אחרי שהמשתמש יקבל את כל ההחלטות ויבחר את כל האפשרויות, האוטומציה תיצור את האוטומציה ותשמור אותה במבנה שבחר המשתמש.
באופן כללי, כדי להגדיר אוטומציה כזו צריך לאסוף כמה מערכי נתונים על הבית של המשתמש באמצעות Structure API for Android, Device API for Android ו-Discovery API.
| API | מידע |
|---|---|
| Structure API |
|
| Device API |
|
| Discovery API |
|