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