1. מבוא
מה תלמדו
- איך לתכנן ולכתוב סקריפטים לפעולות אוטומטיות.
- איך בודקים אוטומציה של סקריפטים.
מה נדרש
- טלפון Android או iOS שבו פועלת אפליקציית Google Home.
- נורה חכמה או מכשיר אחר שאושר ל-Works with Google Home וניתן להפעיל או לכבות אותו.
2. הגדרת המכשיר
אם המכשיר עדיין לא מוגדר, אפשר להגדיר אותו בבית.
מוודאים שהמכשיר מופיע באפליקציית Google Home ושאפשר להפעיל ולכבות אותו באמצעות אפליקציית Home.
3. תכנון פעולות אוטומטיות באמצעות סקריפטים
בתור התחלה, נחשוב מה אנחנו רוצים שהאוטומציה באמצעות סקריפטים תעשו. האיסור הזה כולל שיקולים כמו:
- אילו מכשירים להגדיר כאוטומציה.
- איזה סימן לתחילת פעולה (או אירוע) צריך להפעיל להפעלה של האוטומציה שמופעלת באמצעות סקריפטים.
- אילו תנאים נוספים, אם בכלל, קובעים אם האוטומציה שמופעלת באמצעות סקריפטים תפעל או לא.
- אילו פעולות לבצע.
לצורך ה-Codelab הזה, התוכנית שלנו היא להגדיר שהאוטומציה שמבוססת על סקריפטים תבצע שתי פעולות:
- להדליק את הנורה (או מכשיר חכם אחר) בזמן מסוים.
- לכבות את המכשיר בזמן מסוים.
עכשיו, אחרי שברור לנו מה בדיוק אנחנו רוצים שאוטומציה באמצעות סקריפטים תבוצע, נפתח את עורך הסקריפטים וכותבים את האוטומציה.
4. כתיבת הפעולות האוטומטיות שמופיעות בסקריפטים
פעולות אוטומטיות בסקריפטים מנוסחות בצורה הצהרתית באמצעות שפת הסריאליזציה של נתוני YAML.
הפעולות האוטומטיות בסקריפטים מורכבות מ-2 קטעים ראשיים:
- מטא-נתונים – השם של הפעולה האוטומטית שמבוססת על האוטומציה ותיאור של הפעולה.
- כללי אוטומציה – הגדרת הלוגיקה וההתנהגות של האוטומציה.
מטא-נתונים
המטא-נתונים של הפעולות האוטומטיות שלנו אומרים למשתמשים איך הפעולה האוטומטית נקראת ומה היא עושה. המטא-נתונים מצוינים בבלוק metadata
, שנראה כך:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
כללי אוטומציה
כלל אוטומטי הוא המקום שבו מתבצעת העבודה האמיתית. המודל מורכב משלושה חלקים: סימנים לתחילת פעולה, תנאים ופעולות, שאתם בודקים לפי הסדר:
סימן אחד לתחילת פעולה | 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.
- אם המכשיר פועל עכשיו, מכבים אותו.
- בדף Automations ב-Google Home לדפדפן, לוחצים על 'run' (הרצה). שלצד הפעולה האוטומטית.
- המכשיר אמור לפעול.
עכשיו נבדוק את האוטומציה.
- מכבים את המכשיר.
- עריכת הפעולה האוטומטית ושינוי ההגדרה 'המכשיר מופעל' זמן בשורה 7 עד שעה חמש דקות קדימה.
- שינוי ההגדרה 'המכשיר כבוי' בשורה 14 עד שעה זמן קצר לאחר 'בזמן'.
- לוחצים על אימות. תצטרכו לתקן את כל השגיאות שעשויות להופיע.
- לוחצים על שמירה.
- מוודאים שהמתג Activate (הפעלה) נמצא במצב מופעל.
- ממתינים להשלמת שני המועדים לתחילת הפעולה. המכשיר אמור להידלק ולכבות בשעות שציינת.
7. מעולה!
יצרת בהצלחה סקריפטים לאוטומציה – נהדר!
ב-Codelab הזה למדנו איך:
- איך לעצב ולכתוב אוטומציה.
- איך בודקים פעולה אוטומטית.
השלבים הבאים
ב-Codelab הזה, יצרנו אוטומציה פשוטה מאוד. אוטומציות יכולות לעשות הרבה יותר מאשר לתזמן את ההפעלה של מתג ההפעלה. עכשיו, אחרי שהבנתם את העקרונות הבסיסיים של יצירת אוטומציה, תוכלו לסקור את הסוגים השונים של סימנים לתחילת פעולה, תנאים ופעולות שזמינים בסביבה העסקית של Google Home.
נסו את התרגילים הבאים:
- צריך להוסיף עוד סימנים לתחילת פעולה מסוג
time.schedule
לפעולות האוטומטיות. - משנים את הפעולות האוטומטיות כדי להפעיל ולכבות מכשיר אחר בא��תו לוח זמנים.
- בלי להסיר את סימני ההפעלה של
time.schedule
, צריך לשנות את הפעולה האוטומטית כך שתפעיל את המכשירים רק כשמכשיר אחר מופעל. כדאי לעיין בסקריפטים לדוגמה שמשתמשים בתנאיcondition
. - צריך לשנות את הפעולה האוטומטית כך שהמכשירים יופעלו רק כשיש מישהו בבית.
קריאה נוספת
למידע נוסף על האוטומציה של Google Home, ניתן לעיין במסמכי העזרה בנושא 'פעולות אוטומטיות':