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