عمليات التشغيل المبرمَج

automations Struct هو أساس نص برمجي للأتمتة. يتم في هذا القسم تحديد سلوك التشغيل الآلي، بما في ذلك المشغّلات والشروط والإجراءات. ويُشار إلى هذه الإجراءات معًا أيضًا باسم قاعدة مبرمَجة.

يحتوي automations Struct على قاعدة واحدة أو أكثر من قواعد التشغيل الآلي، وتحتوي كل قاعدة دائمًا على مجموعة من المشغّلات والإجراءات. قد تحتوي القاعدة اختياريًا على شروط، وهي مؤهلات إضافية يجب استيفاؤها حتى يتم تنفيذ النص البرمجي.

المفتاح النوع الوصف

name

String

اختياري

اسم عملية التشغيل الآلي.

لن يظهر هذا الوصف للمستخدمين، بل هو مخصّص للمطوّرين فقط.

starters

[Starter]

مطلوب

قائمة بالمقبلات

condition

الحالة

اختياري

الشرط

actions

[الإجراء]

مطلوب

قائمة بالإجراءات

أمثلة

في ما يلي مثالان تمهيديان على automations Structs.

في المثال الأول، يتم بدء عملية التشغيل الآلي عند تشغيل جهاز TV باسم "التلفزيون الخاص بي".

بعد تفعيلها، يتم تنفيذ الإجراءات التالية:

تم تشغيل جهازَي LIGHT، باسم "المصباح أ" و "المصباح ب"، وتم ضبط مستوى السطوع على 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

المقبلات

يتم تحديد أدوات البدء التي تؤدي إلى تنفيذ النص البرمجي الخاص بعملية التشغيل الآلي في بنية أداة البدء. قد يحتوي كل 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 أساسي يحدّ من تنفيذ نص برمجي للتشغيل الآلي في عطلات نهاية الأسبوع قبل الساعة 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

عرض القائمة الكاملة بالإجراءات