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

מידע על Codelab זה
schedule34 דקות
subjectהעדכון האחרון: 26 בספטמבר 2023
account_circleנכתב על ידי Jonathan Donald and Andres Gomez
  • איך מעצבים וכותבים תבנית אוטומציה.
  • איך בודקים תבנית אוטומציה באמצעות Google Home Developer Console.
  • טלפון Android או iOS שבו פועלת אפליקציית Google Home.
  • נורה חכמה שמחוברת לבית או מכשיר סימולציה ב-Google Home Playground.

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

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

באמצעות הכלי לעריכת סקריפטים של אוטומציה ב-Google Home לאינטרנט, משתמשי הקצה משתמשים בתבנית אוטומציה ויוצרים מכונה מותאמת אישית שפועלת במכשירים הספציפיים בבית שלהם. אחרי ששומרים, המופע מופיע בקטע Household לביתs באפליקציית 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. מעתיקים את 'הנורה המתוזמנת'. תבנית לאוטומציה.
  7. מדביקים את 'התאורה המתוזמנת'. את התבנית לאוטומציה בעורך התבניות.
  8. לוחצים על אימות. עליכם לתקן את כל השגיאות שעשויות להופיע ולהמשיך לבדוק ולתקן עד שלא יהיו שגיאות.
  9. כדי לשמור את התבנית, לוחצים על Save (שמירה).

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

עכשיו אפשר לבדוק את התבנית ב-Play Console.

  1. חשוב לוודא שהנורה מחוברת ושמופיעה באפליקציית Google Home.
  2. אם הנורית דולקת, מכבים אותה.
  3. עוברים אל Google Home Developer Console.
  4. פותחים את הפרויקט שבו יצרתם את התבנית.
  5. בוחרים באפשרות Automations ואז בוחרים בכרטיסייה בדיקה.
  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, ניתן לעיין במסמכי העזרה בנושא 'פעולות אוטומטיות':