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

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

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

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

name

سلسلة

إجراء اختياري

اسم ملف التشغيل الآلي.

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

starters

[دليل البدء]

مطلوبة

تمثّل هذه السمة قائمة بالبدايات.

condition

الحالة

إجراء اختياري

الشرط

actions

[الإجراء]

مطلوبة

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

أمثلة

في ما يلي مثالان تمهيديان لهيكل automations.

في المثال الأول، تبدأ عملية التشغيل الآلي عند تشغيل 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

المقبلات

بنية 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 للتعبير عن منطق أكثر تعقيدًا.

في المثال التالي، هناك بنية condition بشرط 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

الاطّلاع على القائمة الكاملة بالإجراءات