automations Struct হল অটোমেশন স্ক্রিপ্টের মূল অংশ। এখানেই স্টার্টার, কন্ডিশন ও অ্যাকশন সহ
অটোমেশন আচরণ নির্দিষ্ট করা হয়।
এগুলিকে একসাথে অটোমেশন নিয়মও বলা হয়।
automations Struct-এ এক বা একাধিক অটোমেশন নিয়ম থাকে এবং প্রতিটি নিয়মে
সর্বদা স্টার্টার ও অ্যাকশনের সেট থাকে। কোনও নিয়মে ঐচ্ছিকভাবে
কন্ডিশন থাকতে পারে, যা হল অতিরিক্ত কোয়ালিফায়ার যা স্ক্রিপ্ট
এক্সিকিউট করার জন্য অবশ্যই থাকতে হবে।
| কী | টাইপ করুন | বিবরণ |
|---|---|---|
|
|
ঐচ্ছিক অটোমেশনের নাম। এটি ব্যবহারকারীদের দেখানো হয় না, এটি শুধুমাত্র ডেভেলপারদের রেফারেন্সের জন্য। |
|
|
|
প্রয়োজনীয় স্টার্টারের তালিকা। |
|
|
|
ঐচ্ছিক শর্ত |
|
|
|
[অ্যাকশন] |
প্রয়োজনীয় অ্যাকশনের তালিকা |
উদাহরণ
automations Struct-এর দুটি প্রাথমিক উদাহরণ নিচে দেওয়া হল।
প্রথম উদাহরণে, "আমার টিভি" নামের
TV চালু হলে অটোমেশন শুরু হয়।
ট্রিগার করা হলে, নিম্নলিখিত অ্যাকশন পারফর্ম করা হয়:
"Light A" ও "Light B" নামের দুটি LIGHT
ডিভাইস চালু করা আছে এবং সেগুলির উজ্জ্বলতা
লেভেল ৫০-এ সেট করা আছে।
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 কন্ডিশন আছে। এই স্ট্রাকচারটি স্ক্রিপ্টকে
সোমবার বা মঙ্গলবার সূর্যোদয় ও সূর্যাস্তের মধ্যে থাকলে অথবা টিভির
ভলিউম ১ থেকে ১০-এর মধ্যে থাকলে রান করার অনুমতি দেয়:
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 কন্ডিশনের উদাহরণ যা কোনও অটোমেশন স্ক্রিপ্ট
সপ্তাহান্তে সকাল ১০:০০টার আগে চালানোর ক্ষেত্রে সীমাবদ্ধতা আরোপ করে:
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