automations
স্ট্রাকট একটি অটোমেশন স্ক্রিপ্টের মূল। এখানেই স্বয়ংক্রিয়তা আচরণ নির্দিষ্ট করা হয়েছে, যার মধ্যে স্টার্টার, শর্ত এবং ক্রিয়া রয়েছে। সমষ্টিগতভাবে এগুলিকে একটি অটোমেশন নিয়ম হিসাবেও উল্লেখ করা হয়।
একটি automations
স্ট্রাকটে এক বা একাধিক অটোমেশন নিয়ম থাকে এবং প্রতিটি নিয়মে সর্বদা স্টার্টার এবং ক্রিয়াগুলির একটি সেট থাকে। একটি নিয়মে ঐচ্ছিকভাবে শর্ত থাকতে পারে, যা অতিরিক্ত যোগ্যতা যা স্ক্রিপ্টটি কার্যকর করার জন্য অবশ্যই থাকতে হবে।
চাবি | টাইপ | বর্ণনা |
---|---|---|
| ঐচ্ছিক অটোমেশনের নাম। এটি ব্যবহারকারীদের দেখানো হয় না, এটি শুধুমাত্র বিকাশকারীর রেফারেন্সের জন্য। | |
| [ স্টার্টার ] | প্রয়োজন শুরুর একটি তালিকা. |
| ঐচ্ছিক অবস্থা | |
| [ কর্ম ] | প্রয়োজন কর্মের একটি তালিকা |
উদাহরণ
নিম্নে 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