יצירת אוטומציה סקריפט

1. מבוא

מה תלמדו

  • איך לתכנן ולכתוב סקריפטים לפעולות אוטומטיות.
  • איך בודקים אוטומציה של סקריפטים.

מה נדרש

  • טלפון Android או iOS שבו פועלת אפליקציית Google Home.
  • נורה חכמה או מכשיר אחר שאושר ל-Works with Google Home וניתן להפעיל או לכבות אותו.

2. הגדרת המכשיר

אם המכשיר עדיין לא מוגדר, אפשר להגדיר אותו בבית.

מוודאים שהמכשיר מופיע באפליקציית Google Home ושאפשר להפעיל ולכבות אותו באמצעות אפליקציית Home.

3. תכנון פעולות אוטומטיות באמצעות סקריפטים

בתור התחלה, נחשוב מה אנחנו רוצים שהאוטומציה באמצעות סקריפטים תעשו. האיסור הזה כולל שיקולים כמו:

  • אילו מכשירים להגדיר כאוטומציה.
  • איזה סימן לתחילת פעולה (או אירוע) צריך להפעיל להפעלה של האוטומציה שמופעלת באמצעות סקריפטים.
  • אילו תנאים נוספים, אם בכלל, קובעים אם האוטומציה שמופעלת באמצעות סקריפטים תפעל או לא.
  • אילו פעולות לבצע.

לצורך ה-Codelab הזה, התוכנית שלנו היא להגדיר שהאוטומציה שמבוססת על סקריפטים תבצע שתי פעולות:

  1. להדליק את הנורה (או מכשיר חכם אחר) בזמן מסוים.
  2. לכבות את המכשיר בזמן מסוים.

עכשיו, אחרי שברור לנו מה בדיוק אנחנו רוצים שאוטומציה באמצעות סקריפטים תבוצע, נפתח את עורך הסקריפטים וכותבים את האוטומציה.

4. כתיבת הפעולות האוטומטיות שמופיעות בסקריפטים

פעולות אוטומטיות בסקריפטים מנוסחות בצורה הצהרתית באמצעות שפת הסריאליזציה של נתוני YAML.

הפעולות האוטומטיות בסקריפטים מורכבות מ-2 קטעים ראשיים:

  1. מטא-נתונים – השם של הפעולה האוטומטית שמבוססת על האוטומציה ותיאור של הפעולה.
  2. כללי אוטומציה – הגדרת הלוגיקה וההתנהגות של האוטומציה.

מטא-נתונים

המטא-נתונים של הפעולות האוטומטיות שלנו אומרים למשתמשים איך הפעולה האוטומטית נקראת ומה היא עושה. המטא-נתונים מצוינים בבלוק metadata, שנראה כך:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times

כללי אוטומציה

כלל אוטומטי הוא המקום שבו מתבצעת העבודה האמיתית. המודל מורכב משלושה חלקים: סימנים לתחילת פעולה, תנאים ופעולות, שאתם בודקים לפי הסדר:

סימן אחד לתחילת פעולה

2 תנאים

3 פעולות

סימנים לתחילת פעולות הם אלה שיפעילו את האוטומציה. כדי שאפשר יהיה להעריך את התנאים הבאים, לפחות סימן אחד לתחילת פעולה חייב לקבל ערך של true.

התנאים האלה הם אופציונליים, והם כוללים מגבלה נוספת אחת או יותר, שנערכת אחרי הפעלת הסימן לתחילת הפעולה. אם התנאים משתנים ל-true, הפעולות יופעלו. אם הם מובילים ל-false, הפעולות לא ירוצו.

כשכוללים מספר מגבלות, צריך להפריד אותן באמצעות מילות מפתח and ו-or כדי ליצור ביטוי לוגי אחד. הביטוי חייב להיות מוגדר ל-true כדי שפעולות האוטומציה ימשיכו לפעול.

תנאי אינו זהה להתראה על שינוי מצב:

  • תנאי מייצג עובדה שחייבת להתקיים בזמן שהסימן לתחילת הפעולה 'מופעל'. כדי שהפעולות יופעלו.
  • התראה על שינוי מצב היא אירוע כמו הפעלה של מכשיר אחר.

פעולות הן פעולות שמבוצעות כשסימן לתחילת הפעולה וכל תנאי של מגבלה מתקיימים.

הבלוק 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

שימו לב לנקודות הבאות:

  1. יש שני כללים מסוג automations. הפעם הראשונה מדליקה את הנורה וה��נייה מכבה את הנורה.
  2. לכל כלל יש פעולה אחת,
  3. המשמעות של on: true היא שהנורה תידלק. כמו כן, המשמעות של on: false היא כיבוי המנורה.
  4. לכל כלל יש סימן אחד לתחילת פעולה מסוג time.schedule שמציין למערכת ההפעלה מתי לבצע את הפעולה האוטומטית.
  5. אין תנאים בפעולה האוטומטית הזו.

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
  1. מעתיקים את הפעולה האוטומטית (למעלה).
  2. עוברים אל Google Home לדפדפן.
  3. בוחרים את כרטיסיית הפעולות האוטומטיות, שמיוצגת על ידי סמל עם שלושה כוכבים:
    הכרטיסייה 'פעולות אוטומטיות'
  4. לוחצים על + הוספת חדש.
  5. בעורך הסקריפטים, מוחקים את תבנית האוטומציה.
  6. מדביקים את הפעולות האוטומטיות.
  7. מ��ל��פ��ם ��ת Desk light - Office בשם ובמיקום של המכשיר.
  8. לוחצים על אימות. הכלי לעריכת סקריפטים מסמן בקו תחתון את קטע האוטומציה של הסקריפט שיש בו שגיאות. פותרים את כל השגיאות הקיימות וממשיכים לאמת ולתקן עד שלא יהיו שגיאות. לדוגמה, שם המכשיר יכול להיות שונה. במקרה כזה, תוכלו להשתמש בתכונת ההשלמה האוטומטית כדי לבחור שם מכשיר חוקי.
  9. לוחצים על שמירה.
  10. מוודאים שהמתג הפעלה, מתחת לטקסט של הסקריפט, נמצא במצב מופעל: עורך סקריפטים עם אוטומציה של סקריפטים, לאחר אימות מלא ומופעל

6. בדיקת האוטומציה

  1. עליך לוודא שהמכשיר מחובר וגלוי באפליקציית Google Home.
  2. אם המכשיר פועל עכשיו, מכבים אותו.
  3. בדף Automations ב-Google Home לדפדפן, לוחצים על 'run' (הרצה). שלצד הפעולה האוטומטית.
    לחצן הרצת סקריפט
  4. המכשיר אמור לפעול.

עכשיו נבדוק את האוטומציה.

  1. מכבים את המכשיר.
  2. עריכת הפעולה האוטומטית ושינוי ההגדרה 'המכשיר מופעל' זמן בשורה 7 עד שעה חמש דקות קדימה.
  3. שינוי ההגדרה 'המכשיר כבוי' בשורה 14 עד שעה זמן קצר לאחר 'בזמן'.
  4. לוחצים על אימות. תצטרכו לתקן את כל השגיאות שעשויות להופיע.
  5. לוחצים על שמירה.
  6. מוודאים שהמתג Activate (הפעלה) נמצא במצב מופעל.
  7. ממתינים להשלמת שני המועדים לתחילת הפעולה. המכשיר אמור להידלק ולכבות בשעות שציינת.

7. מעולה!

יצרת בהצלחה סקריפטים לאוטומציה – נהדר!

ב-Codelab הזה למדנו איך:

  • איך לעצב ולכתוב אוטומציה.
  • איך בודקים פעולה אוטומטית.

השלבים הבאים

ב-Codelab הזה, יצרנו אוטומציה פשוטה מאוד. אוטומציות יכולות לעשות הרבה יותר מאשר לתזמן את ההפעלה של מתג ההפעלה. עכשיו, אחרי שהבנתם את העקרונות הבסיסיים של יצירת אוטומציה, תוכלו לסקור את הסוגים השונים של סימנים לתחילת פעולה, תנאים ופעולות שזמינים בסביבה העסקית של Google Home.

נסו את התרגילים הבאים:

  • צריך להוסיף עוד סימנים לתחילת פעולה מסוג time.schedule לפעולות האוטומטיות.
  • משנים את הפעולות האוטומטיות כדי להפעיל ולכבות מכשיר אחר בא��תו לוח זמנים.
  • בלי להסיר את סימני ההפעלה של time.schedule, צריך לשנות את הפעולה האוטומטית כך שתפעיל את המכשירים רק כשמכשיר אחר מופעל. כדאי לעיין בסקריפטים לדוגמה שמשתמשים בתנאי condition.
  • צריך לשנות את הפעולה האוטומטית כך שהמכשירים יופעלו רק כשיש מישהו בבית.

קריאה נוספת

למידע נוסף על האוטומציה של Google Home, ניתן לעיין במסמכי העזרה בנושא 'פעולות אוטומטיות':