ה-Struct של automations
הוא הליבה של סקריפט אוטומציה. כאן מצוינת התנהגות האוטומציה, כולל סימנים לתחילת פעולה, תנאים ופעולות.
הכללים האלה נקראים גם כלל אוטומציה.
מבנה automations
מכיל כלל אוטומציה אחד או יותר, וכל כלל תמיד מכיל קבוצה של סימנים לתחילת פעולה ופעולות. כלל יכול להכיל תנאים, שהם מזהים נוספים שחייבים להתקיים כדי שהסקריפט יתבצע.
מקש | סוג | תיאור |
---|---|---|
|
אופציונלי השם של הפעולה האוטומטית. המידע הזה לא מוצג למשתמשים, אלא מיועד למפתחים בלבד. |
|
|
נדרש רשימה של סימנים לתחילת פעולה. |
|
|
אופציונלי תנאי |
|
|
[פעולה] |
נדרש רשימה של פעולות |
דוגמאות
בהמשך מופיעות שתי דוגמאות מבוא ל-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