اتوماسیون ها

automations Struct هسته اسکریپت اتوماسیون است. اینجاست که رفتار اتوماسیون شامل شروع، شرایط و اقدامات مشخص می‌شود. در مجموع به این قوانین اتوماسیون نیز گفته می شود.

یک ساختار automations شامل یک یا چند قانون اتوماسیون است و هر قانون همیشه شامل مجموعه ای از شروع ها و اقدامات است. یک قانون ممکن است به صورت اختیاری شامل شرایطی باشد، که واجد شرایط اضافی هستند که باید برای اجرای اسکریپت وجود داشته باشند.

کلید تایپ کنید شرح

name

رشته

اختیاری

نام اتوماسیون

این به کاربران نشان داده نمی شود، فقط برای مرجع توسعه دهنده است.

starters

[ شروع کننده ]

ضروری

لیستی از شروع کننده ها

condition

وضعیت

اختیاری

وضعیت

actions

[ عمل ]

ضروری

لیستی از اقدامات

مثال ها

در زیر دو نمونه مقدماتی از سازه های automations آورده شده است.

در مثال اول، زمانی که TV به نام «تلویزیون من» روشن می شود، اتوماسیون شروع می شود.

پس از شروع، اقدامات زیر انجام می شود:

دو دستگاه LIGHT به نام‌های "Light A" و "Light 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

شروع کننده ها

Starter Struct جایی است که شما شروع کننده هایی را که باعث اجرای اسکریپت Automation می شوند را مشخص می کنید. هر 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 برای بیان منطق پیچیده تر ترکیب کرد.

در مثال زیر یک condition Struct با یک شرط time و یک شرط device.state وجود دارد. این ساختار به اسکریپت اجازه می دهد اگر بین غروب آفتاب و طلوع آفتاب در روز دوشنبه یا سه شنبه باشد، یا اگر صدای تلویزیون بین 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 اولیه که اجرای اسکریپت Automation را به آخر هفته قبل از ساعت 10 صبح محدود می کند:

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

لیست کامل اقدامات را مشاهده کنید .