יצירה של תבנית אוטומציה

1. מבוא

מה תלמדו

  • איך לעצב ולכתוב תבנית אוטומציה.
  • איך בודקים תבנית אוטומציה באמצעות Google Home Developer Console.

הדרישות

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

דרישות מוקדמות

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

2. תבניות ומופעים של אוטומציה

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

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

3. תכנון תבנית האוטומציה

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

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

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

  1. להדליק אור בשעה מסוימת.
  2. לכבות את אותו האור בשעה מסוימת.

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

4. כתיבת תבנית האוטומציה

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

תבנית אוטומציה מורכבת משלושה חלקים עיקריים:

  1. מטא-נתונים – שם האוטומציה, תיאור של הפעולות שהיא מבצעת, ואפשרות להוסיף תגים שמשמשים לסיווג האוטומציה. מילות המפתח הן:
    • תאורה ושקעים
    • מיזוג ואנרגיה
    • אבטחה ומוּדעוּת
    • בידור
    • מכשירי חשמל ועוד
  2. קלט – מגדיר את סוג המכשירים שהאוטומציה אמורה לשלוט בהם. מנוע האוטומציה משתמש במידע הזה כדי לדעת אילו סוגי פעולות תקפים למכשירים המיועדים.
  3. כללים לאוטומציה – מגדירים את הלוגיקה וההתנהגות של האוטומציה.

זו תבנית האוטומציה שבה נשתמש:

metadata:
  name:
    en: Scheduled light
  description:
    en: Turn the light on and off at specific times
  tags:
    - LIGHTING AND PLUGS
input:
  the_light:
    metadata:
      name:
        en: The light
      description:
        en: The light to be controlled
    selector:
      type: device
      multiSelect: true
      supportedTypes:
        - LIGHT
  time_on:
    metadata:
      name:
        en: Time to turn on the light.
      description:
        en: The time of day to turn on the selected light.
    selector:
      type: time
      default: sunset+30min
  time_off:
    metadata:
      name:
        en: Time to turn off the light.
      description:
        en: The time of day to turn off the selected light.
    selector:
      type: time
      default: 10:00 pm
automations:
  - name: Turn on the light
    starters:
      - type: time.schedule
        at: $time_on
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: true
  - name: Turn off the light
    starters:
      - type: time.schedule
        at: $time_off
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: false

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

  • בקטע metadata מופיעים השם והתיאור של הפעולות האוטומטיות האלה.
  • בקטע input מוגדר משתנה בשם the_light שמציין מכשיר מסוג LIGHT. המשמעות היא שאפשר להשתמש בתבנית הזו רק עבור נורות, ולא עבור סוגים אחרים של מכשירים. במילים אחרות, כשמשתמש מגדיר את הפעולות האוטומטיות בבית שלו ומוצגת לו בקשה לבחור מכשיר ל$the_light, הוא יכול לבחור רק מכשירים מהסוג שציינתם.
  • בקטע input מוגדרים גם שני משתנים בשמות time_on ו-time_off. האפשרויות האלה מאפשרות למשתמש לציין מתי להתחיל את האוטומציות. ‫time_on מייצג את השעה שבה האור נדלק, ו-time_off מייצג את השעה שבה האור נכבה. אם המשתמש לא מגדיר את הערך של time_on או time_off, נעשה שימוש בערכי ברירת המחדל.
  • בקטע automations של האוטומציה שלנו יש שני כללי אוטומציה. לכל כלל יש סימן לתחילת פעולה יחיד time.schedule שמציין לפעולות האוטומטיות באיזו שעה להתחיל לפעול.

עורך התבניות

הכלי לעריכת תבניות אוטומציה הוא הכלי שבו משתמשים כדי לכתוב תבניות אוטומציה.

  1. עוברים אל Google Home Developer Console.
  2. נכנסים לאותו חשבון שהגדרתם במכשיר באפליקציית Google Home.
  3. יוצרים פרויקט חדש או בוחרים פרויקט קיים.
  4. בקטע אוטומציות, לוחצים על פיתוח.
  5. לוחצים על יצירת תבנית.
  6. מעתיקים את תבנית האוטומציה Scheduled light (הדלקה מתוזמנת).
  7. מדביקים את תבנית הפעולות האוטומטיות Scheduled light (הדלקת אור לפי לוח זמנים) בעורך התבניות.
  8. לוחצים על אימות. מטפלים בכל השגיאות שמופיעות, וממשיכים בתהליך האימות והתיקון עד שלא מופיעות יותר שגיאות.
  9. לוחצים על שמירה כדי לשמור את התבנית.

5. בדיקת התבנית

עכשיו אפשר לבדוק את התבנית במסוף.

  1. מוודאים שהנורה מחוברת לחשמל ומופיעה באפליקציית Google Home.
  2. אם האור דולק, מכבים אותו.
  3. עוברים אל Google Home Developer Console.
  4. פותחים את הפרויקט שבו יצרתם את התבנית.
  5. לוחצים על פעולות אוטומטיות ואז על הכרטיסייה בדיקה.
  6. לוחצים על פתיחה לצד תבנית הפעולות האוטומטיות 'תאורה מתוזמנת'.
  7. בוחרים את המבנה שבו רוצים לבדוק את התבנית ולוחצים על הבא.
  8. בעורך InputValue, מציינים את שם התאורה. לדוגמה, אם שם המנורה הוא 'מנורת שולחן – משרד', תבחרו Desk light - Office מהתפריט הנפתח שמופיע כשלוחצים מימין ל-lights. אפשר גם להקליד את שם המכשיר.
  9. בנוסף, בכלי לעריכת InputValue, מציינים את השעה time_on כשעה עתידית, למשל חמש דקות אחרי השעה הנוכחית, ומשנים את השעה time_off לשעה קצת אחרי השעה time_on.
  10. בסיום התהליך, הכלי לעריכת InputValue אמור להיראות בערך כך:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. לוחצים על הפעלת הבדיקה.
  12. מחכים עד שיחלפו שתי שעות ההתחלה. הנורה אמורה להידלק ואז להיכבות בשעות שצוינו.

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

6. מעולה!

יצרת בהצלחה תבנית אוטומציה. מדהים!

ב-codelab הזה למדתם איך:

  • איך לעצב ולכתוב תבנית אוטומציה.
  • איך בודקים את זה ב-Google Home Developer Console.

השלבים הבאים

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

קריאה נוספת

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