פעולות אוטומטיות

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

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

מקש סוג תיאור

name

מחרוזת

אופציונלי

השם של הפעולה האוטומטית.

המידע הזה לא מוצג למשתמשים, אלא מיועד למפתחים בלבד.

starters

[שלב ראשון]

נדרש

רשימה של סימנים לתחילת פעולה.

condition

מצב

אופציונלי

תנאי

actions

[פעולה]

נדרש

רשימה של פעולות

דוגמאות

בהמשך מופיעות שתי דוגמאות מבוא ל-automations Struct.

בדוגמה הראשונה, הפעולות האוטומטיות מופעלות כשמופעל שם TV בשם 'הטלוויזיה שלי'.

לאחר ההפעלה, מתבצעות הפעולות הבאות:

שני מכשירי LIGHT, שנקראים "בהיר A" ו "בהיר B", מופעלים ומוגדרים לרמת בהירות 50.

automations:
- name: Dim the lights
  starters:
  - type: device.state.OnOff
    device: My TV - Living Room
    state: on
    is: true
  actions:
  - type: device.command.OnOff
    devices:
    - Light A - Living Room
    - Light B - Living Room
    on: true
  - type: device.command.BrightnessAbsolute
    devices:
    - Light A - Living Room
    - Light B - Living Room
    brightness: 50

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

automations:
- name: Dim the lights
  starters:
  - type: time.schedule
    at: SUNSET
    weekday:
    - MONDAY
    - THURSDAY
    state: on
    is: true
  actions:
  - type: device.command.OnOff
    devices:
    - Light A - Living Room
    - Light B - Living Room
    on: true
  - type: device.command.BrightnessAbsolute
    devices:
    - Light A - Living Room
    - Light B - Living Room
    brightness: 50

מפעילי התרחיש

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

דוגמה לתחילת פעולה מסוג time.schedule:

type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE

דוגמה לשינויי מצב של סימן לתחילת פעולה במכשיר:

type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10

דוגמה לסימן לתחילת פעולה באירוע במכשיר:

type: device.event.DoorbellPress
device: My doorbell - Frontdoor

דוגמה לשינויי סימן לתחילת פעולה במצב נוכחות בבית:

type: home.state.HomePresence
state: homePresenceMode
is: HOME

לרשימה המלאה של סימנים לתחילת פעולה

תנאי

אפשר לשלב את התנאים עם האופרטורים הלוגיים and, or ו-not כדי לבטא לוגיקה מורכבת יותר.

בדוגמה הבאה יש Struct עם condition עם תנאי time אחד ותנאי device.state אחד. Struct מאפשר לסקריפט לרוץ בין 1 ל-10 בימים שני או שלישי, או בין 1 ל-10:

type: or
conditions:
- type: time.between
  before: sunrise
  after: sunset
  weekdays:
  - MON
  - TUE
- type: device.state
  device: My TV - Living Room
  trait: Volume
  state: currentVolume
  greaterThanOrEqualTo: 1
  lessThanOrEqualTo: 10

דוגמה לתנאי בסיסי של time שמגביל את הביצוע של סקריפט אוטומציה לסופי שבוע לפני 10:00 בבוקר:

type: time.between
before: 10am
weekdays:
- SAT
- SUN

מצב הטמפרטורה של החיישן ששייך למכשיר התרמוסטט:

type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F

דוגמה לתנאי home.state.HomePresence:

type: home.state.HomePresence
state: homePresenceMode
is: AWAY

לצפייה ברשימת התנאים המלאה

פעולות

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

סוגי הפקודות device.command הם החשובים והשימושיים ביותר. דוגמה לכיבוי האורות.

type: device.command.OnOff
devices:
- Light A - Living Room
on: false

פעולה להוספת השהיה בין מספר פעולות אחרות.

type: time.delay
for: 5min

מעיינים ברשימה המלאה של הפעולות.