1. מבוא
מה תלמדו
- איך מתכננים ומנסחים תסריט אוטומציה.
- איך בודקים אוטומציה לפי סקריפט.
מה נדרש
- טלפון Android או iOS עם אפליקציית Google Home.
- נורית חכמה או מכשיר אחר שאושר לשימוש עם Google Home ואפשר להפעיל או להשבית אותו.
2. הגדרת המכשיר
אם המכשיר עדיין לא מוגדר, מגדירים אותו בבית.
מוודאים שהמכשיר מופיע באפליקציית Google Home ושאפשר להפעיל אותו ולהשבית אותו באמצעות אפליקציית Home.
3. תכנון של סקריפטים של פעולות אוטומטיות
נתחיל בחשיבה על מה שאנחנו רוצים שהתהליך האוטומטי שלנו יעשה. הדברים האלה כוללים:
- אילו מכשירים אתם רוצים להפעיל באופן אוטומטי.
- איזה טריגר (או אירוע) יגרום להפעלה של האוטומציה לפי סקריפט.
- אילו תנאים נוספים, אם בכלל, קובעים אם הפעולה האוטומטית בסקריפט תפעל אחרי שהיא מופעלת.
- אילו פעולות צריך לבצע.
במסגרת הקודלאב הזה, אנחנו מתכננים שהאוטומציה בסקריפט תבצע שני דברים:
- להדליק את הנורה (או מכשיר חכם אחר) בשעה ספציפית.
- לכבות את המכשיר בשעה מסוימת.
עכשיו, אחרי שהבהרנו לעצמנו בדיוק מה אנחנו רוצים שהסקריפט של הפעולה האוטומטית יעשה, נפתח את עורך הסקריפטים ונכתוב את הסקריפט של הפעולה האוטומטית.
4. כתיבת הסקריפט של הפעולה האוטומטית
תהליכי אוטומציה בסקריפטים נכתבים באופן דקלרטיבי באמצעות שפת סריאליזציית הנתונים YAML.
אוטומציה לפי סקריפט מורכבת משני חלקים עיקריים:
- מטא-נתונים – השם של האוטומציה בסקריפט ותיאור של הפעולות שהיא מבצעת.
- כללי אוטומציה – מגדירים את הלוגיקה וההתנהגות של הפעלת האוטומציה.
מטא-נתונים
המטא-נתונים של האוטומציה שלנו מספרים למשתמש איך היא נקראת ומה היא עושה. המטא-נתונים מצוינים בבלוק metadata
, שנראה כך:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
כללי אוטומציה
כלל אוטומציה הוא המקום שבו מתבצעת העבודה האמיתית. הוא מורכב משלושה חלקים: התחלות, תנאים ופעולות, שנבדקים לפי הסדר:
1 Starters | 2 תנאים | 3 פעולות |
אלה הגורמים שמפעילים את האוטומציה. לפחות אחד מהסימנים לתחילת הפעולה צריך להניב את הערך | הן אופציונליות ומורכבות מכלל אחד או יותר שנוסף, שנבדק אחרי שה-starter מופעל. אם התנאים מתקיימים, הפעולות פועלות. כשכוללים כמה אילוצים, מפרידים ביניהם באמצעות מילות המפתח תנאי הוא לא התראה על שינוי מצב:
| פעולות הן פעולות שמתבצעות כשהתנאים של ה-starter ושל האילוצים מתקיימים. |
הבלוק automations
של האוטומציה שלנו מכיל שני כללים:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
שימו לב לנקודות הבאות:
- יש שני כללי
automations
. המקש הראשון מדליק את האור והשני מכבה אותו. - לכל כלל יש פעולה אחת.
on: true
פירושו הדלקת האור. באופן דומה,on: false
פירושו כיבוי האור.- לכל כלל יש התחלה יחידה של
time.schedule
שמציינת את השעה שבה המערכת תפעיל את האוטומציה. - אין תנאים בפעולה האוטומטית הזו.
5. האוטומציה המלאה עם סקריפט
כשמשלבים את כל החלקים האלה, כך נראה הסקריפט המלא לפעולה האוטומטית:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- מעתיקים את הפעולה האוטומטית (למעלה).
- נכנסים אל Google Home לאינטרנט.
- בוחרים בכרטיסייה 'תהליכים אוטומטיים', שמסמל אותה סמל עם שלושה כוכבים:
- לוחצים על + הוספת חדש.
- בכלי לעריכת סקריפטים, מוחקים את תבנית האוטומציה.
- מדביקים את הפעולה האוטומטית.
- מחליפים את
Desk light - Office
בשם ובמיקום של המכשיר. - לוחצים על אימות. הכלי לעריכת סקריפטים מדגיש קטעים של האוטומציה בסקריפט שמכילים שגיאות. פותרים את כל השגיאות שמופיעות וממשיכים בתהליך האימות והתיקון עד שלא יהיו יותר שגיאות. לדוגמה, שם המכשיר עשוי להיות שונה. במקרה כזה, תוכלו להשתמש בתכונה 'השלמה אוטומטית' כדי לבחור שם תקין למכשיר.
- לוחצים על שמירה.
- מוודאים שהמתג Activate (הפעלה) מתחת לטקסט של הסקריפט נמצא במצב on (מופעל):
6. בדיקת האוטומציה
- מוודאים שהמכשיר מחובר ומוצג באפליקציית Google Home.
- אם המכשיר פועל כרגע, משביתים אותו.
- בדף Automations ב-Google Home לדפדפן, לוחצים על הלחצן 'הפעלה' לצד האוטומציה.
- המכשיר אמור להיפתח.
עכשיו נבדוק את האוטומציה.
- מכבים את המכשיר.
- עורכים את האוטומציה ומשנים את השעה של 'הפעלת המכשיר' בשורה 7 לשעה שחמישה דקות בעתיד.
- משנים את השעה של 'מכשיר כבוי' בשורה 14 לשעה קצרה אחרי השעה של 'מכשיר מופעל'.
- לוחצים על אימות. פותרים את כל השגיאות שעשויות להופיע.
- לוחצים על שמירה.
- מוודאים שהמתג הפעלה נמצא במצב מופעל.
- ממתינים עד ששני זמני ההתחלה חולפים. המכשיר אמור להדליק ולהיכבות בזמנים שציינתם.
7. מעולה!
יצרתם בהצלחה תהליך אוטומציה לפי סקריפט – מצוין!
בקודלאב הזה למדתם:
- איך מתכננים ומנסחים פעולה אוטומטית.
- איך בודקים תהליך אוטומציה.
השלבים הבאים
בסדנת הקוד הזו יצרנו תהליך אוטומציה פשוט מאוד. פעולות אוטומטיות יכולות לעשות הרבה יותר מאשר לתזמן את החלפת המצב של מתג חשמל. עכשיו, אחרי שהבנתם את העקרונות הבסיסיים של יצירת תהליך אוטומציה, תוכלו להכיר את הסוגים השונים של טריגרים, תנאים ופעולות שזמינים בסביבה של Google Home.
כדאי לנסות את התרגילים הבאים:
- מוסיפים עוד
time.schedule
התחלות לפעולה האוטומטית. - משנים את האוטומציה כך שהיא תפעיל מכשיר אחר ותכבה אותו באותו לוח זמנים.
- בלי להסיר את מכשירים המפעילים מסוג
time.schedule
, משנים את האוטומציה כך שהמכשירים יופעלו רק כשמכשיר אחר מופעל. אפשר לעיין בסקריפטים לדוגמה שמשתמשים בפסקהcondition
. - משנים את האוטומציה כך שהמכשירים יופעלו רק כשמישהו נמצא בבית.
קריאה נוספת
למידע נוסף על אוטומציה ב-Google Home, אפשר לעיין במאמרי העזרה בנושא אוטומציה: