অটোমেশন

automations স্ট্রাকট একটি অটোমেশন স্ক্রিপ্টের মূল। এখানেই স্বয়ংক্রিয়তা আচরণ নির্দিষ্ট করা হয়েছে, যার মধ্যে স্টার্টার, শর্ত এবং ক্রিয়া রয়েছে। সমষ্টিগতভাবে এগুলিকে একটি অটোমেশন নিয়ম হিসাবেও উল্লেখ করা হয়।

একটি automations স্ট্রাকটে এক বা একাধিক অটোমেশন নিয়ম থাকে এবং প্রতিটি নিয়মে সর্বদা স্টার্টার এবং ক্রিয়াগুলির একটি সেট থাকে। একটি নিয়মে ঐচ্ছিকভাবে শর্ত থাকতে পারে, যা অতিরিক্ত যোগ্যতা যা স্ক্রিপ্টটি কার্যকর করার জন্য অবশ্যই থাকতে হবে।

চাবি টাইপ বর্ণনা

name

স্ট্রিং

ঐচ্ছিক

অটোমেশনের নাম।

এটি ব্যবহারকারীদের দেখানো হয় না, এটি শুধুমাত্র বিকাশকারীর রেফারেন্সের জন্য।

starters

[ স্টার্টার ]

প্রয়োজন

শুরুর একটি তালিকা.

condition

অবস্থা

ঐচ্ছিক

অবস্থা

actions

[ কর্ম ]

প্রয়োজন

কর্মের একটি তালিকা

উদাহরণ

নিম্নে automations স্ট্রাকটসের দুটি প্রাথমিক উদাহরণ দেওয়া হল।

প্রথম উদাহরণে, "মাই টিভি" নামের একটি TV চালু হলে অটোমেশন শুরু হয়।

একবার ট্রিগার হয়ে গেলে, নিম্নলিখিত ক্রিয়াগুলি সঞ্চালিত হয়:

"Light A" এবং "Light B" নামের দুটি 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

নিচের উদাহরণে, ওয়ান time কন্ডিশন এবং একটি device.state কন্ডিশন সহ একটি condition রয়েছে। এই কাঠামোটি স্ক্রিপ্টটি চালানোর অনুমতি দেয় যদি এটি সোমবার বা মঙ্গলবার সূর্যাস্ত এবং সূর্যোদয়ের মধ্যে হয়, অথবা, যদি টিভি ভলিউম 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

কর্মের সম্পূর্ণ তালিকা দেখুন