1. מבוא
מה תלמדו
- איך מתכננים וכותבים אוטומציה מבוססת-סקריפט.
- איך בודקים אוטומציה מבוססת-סקריפט.
הדרישות
- טלפון Android או iOS עם אפליקציית Google Home.
- נורה חכמה או מכשיר אחר שעבר אישור לשימוש עם Google Home ואפשר להדליק או לכבות אותו.
2. הגדרת המכשיר
אם המכשיר עדיין לא מוגדר, צריך להגדיר אותו בבית.
מוודאים שהמכשיר מופיע באפליקציית Google Home, ושאפשר להפעיל ולכבות אותו באמצעות אפליקציית Home.
3. תכנון של פעולות אוטומטיות מבוססות-סקריפט
קודם כול נחשוב מה אנחנו רוצים שהאוטומציה מבוססת הסקריפט תעשה. זה כולל שיקולים כמו:
- אילו מכשירים רוצים להוסיף לאוטומציה.
- איזה סימן תחילת פעולה (או אירוע) צריך להפעיל את ההרצה של האוטומציה מבוססת-הסקריפט.
- אילו תנאים נוספים, אם יש כאלה, קובעים אם האוטומציה מבוססת הסקריפט תפעל אחרי שהיא תופעל.
- אילו פעולות צריך לבצע.
לצורך ה-codelab הזה, התוכנית שלנו היא שהאוטומציה באמצעות סקריפט תבצע שני דברים:
- להדליק את האור (או מכשיר חכם אחר) בשעה ספציפית.
- מכבים את המכשיר בשעה מסוימת.
אחרי שהבנו בדיוק מה אנחנו רוצים שהפעולה האוטומטית מבוססת הסקריפט תעשה, נפתח את הכלי לעריכת סקריפטים ונכתוב את הפעולה האוטומטית מבוססת הסקריפט.
4. כתיבת הסקריפט של הפעולה האוטומטית
אוטומציות מבוססות-סקריפט נכתבות באופן הצהרתי באמצעות שפת ה-YAML לסריאליזציה של נתונים.
אוטומציה מבוססת-סקריפט מורכבת משני חלקים עיקריים:
- מטא-נתונים – השם של האוטומציה מבוססת הסקריפט ותיאור של הפעולות שהיא מבצעת.
- כללים לאוטומציה – מגדירים את הלוגיקה וההתנהגות של האוטומציה.
מטא-נתונים
המטא-נתונים של הפעולות האוטומטיות שלנו מציינים למשתמש את השם של הפעולות האוטומטיות ואת הפעולות שהן מבצעות. המטא-נתונים מצוינים בבלוק metadata, שנראה כך:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
כללי אוטומציה
כלל אוטומטי הוא המקום שבו מתבצעת העבודה בפועל. הוא מורכב משלושה חלקים, התחלות, תנאים ופעולות, שנבדקים לפי הסדר:
1 Starters | 2 תנאים | 3 פעולות |
הסימנים לתחילת פעולה הם מה שמפעיל את הפעולות האוטומטיות. לפחות סימן אחד לתחילת הפעולה צריך להחזיר את הערך | האילוצים האלה הם אופציונליים, והם כוללים אילוץ אחד או יותר שנבדקים אחרי שסימן לתחילת פעולה הופעל. אם התנאים מסתיימים בערך כשכוללים כמה אילוצים, צריך להפריד ביניהם באמצעות מילות המפתח תנאי הוא לא התראה על שינוי סטטוס:
| פעולות הן פעולות שמתבצעות כשהתנאים של סימן לתחילת פעולה ושל כל המסגרות מתקיימים. |
הבלוק 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בשם ובמיקום של המכשיר. - לוחצים על אימות. הכלי לעריכת סקריפטים מדגיש קטעים בסקריפט של האוטומציה שמכילים שגיאות. מטפלים בכל השגיאות שמופיעות, וממשיכים בתהליך האימות והתיקון עד שלא נשארות יותר שגיאות. לדוגמה, שם המכשיר עשוי להיות שונה. במקרה כזה, אפשר להשתמש בתכונת ההשלמה האוטומטית כדי לבחור שם מכשיר תקין.
- לוחצים על שמירה.
- מוודאים שהמתג הפעלה, שמתחת לטקסט של התסריט, נמצא במצב מופעל:

6. בדיקת הפעולה האוטומטית
- מוודאים שהמכשיר מחובר לחשמל ומופיע באפליקציית Google Home.
- אם המכשיר פועל, מכבים אותו.
- בדף אוטומציות ב-Google Home לדפדפן, לוחצים על לחצן ההפעלה לצד האוטומציה.

- המכשיר אמור לפעול.
עכשיו נבדוק את האוטומציה.
- מכבים את המכשיר.
- עורכים את הפעולות האוטומטיות ומשנים את השעה של 'הפעלת המכשיר' בשורה 7 לשעה שחמש דקות מאוחר יותר.
- משנים את השעה של 'device off' בשורה 14 לשעה קצרה אחרי השעה של 'on time'.
- לוחצים על אימות. פותרים את השגיאות שמופיעות.
- לוחצים על שמירה.
- מוודאים שהמתג Activate נמצא במצב on.
- מחכים עד שיחלפו שתי שעות ההתחלה. המכשיר אמור להידלק ואז להיכבות בשעות שציינתם.
7. מעולה!
יצרת בהצלחה אוטומציה מבוססת-סקריפט – מצוין!
ב-codelab הזה למדתם איך:
- איך מתכננים וכותבים אוטומציה.
- איך בודקים אוטומציה
השלבים הבאים
ב-Codelab הזה יצרנו פעולות אוטומטיות פשוטות מאוד. אוטומציות יכולות לעשות הרבה יותר מאשר לתזמן את ההפעלה וההשבתה של מתג הפעלה. אחרי שהבנתם את הבסיס ליצירת פעולות אוטומטיות, אתם יכולים לעיין בסוגים השונים של סימנים לתחילת פעולה, תנאים ופעולות שזמינים במערכת האקולוגית של Google Home.
אפשר לנסות את התרגילים הבאים:
- מוסיפים עוד
time.scheduleסימנים לתחילת הפעולה האוטומטית. - לשנות את האוטומציה כדי להפעיל ולהשבית מכשיר אחר באותו לוח זמנים.
- בלי להסיר את סימני תחילת הפעולה
time.schedule, משנים את הפעולות האוטומטיות כך שהמכשירים יופעלו רק כשמכשיר אחר מופעל. אפשר לעיין בדוגמאות לסקריפטים שמשתמשים בסעיףcondition. - משנים את האוטומציה כך שהמכשירים יופעלו רק כשמישהו נמצא בבית.
קריאה נוספת
כדי לקבל מידע נוסף על אוטומציות ב-Google Home, אפשר לעיין במסמכי העזר בנושא אוטומציות: