automations Struct ऑटोमेशन स्क्रिप्ट का मुख्य हिस्सा होता है. यहीं से ऑटोमेशन का तरीका तय होता है. जैसे, स्टार्टर, शर्तें और कार्रवाइयां.
इन सभी को एक साथ ऑटोमेशन नियम भी कहा जाता है.
automations Struct में एक या उससे ज़्यादा ऑटोमेशन नियम होते हैं. हर नियम में हमेशा स्टार्टर और कार्रवाइयों का एक सेट होता है. कभी-कभी नियम में कुछ और शर्तेें भी हो सकती हैं. स्क्रिप्ट को चलाने के लिए, इन अतिरिक्त शर्तों का पूरा होना ज़रूरी है.
| कुंजी | समस्या | ब्यौरा |
|---|---|---|
|
|
ज़रूरी नहीं ऑटोमेशन का नाम. यह उपयोगकर्ताओं को नहीं दिखता. यह सिर्फ़ डेवलपर के लिए है. |
|
|
|
[स्टार्टर] |
ज़रूरी है स्टार्टर की सूची. |
|
|
ज़रूरी नहीं Condition |
|
|
|
[कार्रवाई] |
ज़रूरी है कार्रवाइयों की सूची |
उदाहरण
यहां automations Struct के दो शुरुआती उदाहरण दिए गए हैं.
पहले उदाहरण में, "My TV" नाम का
TV चालू होने पर ऑटोमेशन शुरू होता है.
ट्रिगर होने के बाद, ये कार्रवाइयां की जाती हैं:
Two LIGHT
डिवाइस, जिनका नाम "Light A" और "Light B" है, चालू किए जाते हैं और उनकी रोशनी का लेवल 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
स्टार्टर
स्टार्टर Struct वह जगह है जहां यह तय किया जाता है कि
ऑटोमेशन स्क्रिप्ट किन स्टार्टर पर शुरू होगी. हर 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
Condition
ज़्यादा पेचीदा तर्क दिखाने के लिए, शर्तों को and, or, और not के साथ मिलाकर लिखा जा सकता है.
यहां दिए गए उदाहरण में, एक condition Struct है. इसमें एक time शर्त और एक device.state शर्त है. यह Struct स्क्रिप्ट को तब चलने देता है जब सोमवार या मंगलवार को सूरज ढलने से लेकर सूरज निकलने तक का समय हो, या फिर टीवी की आवाज़ 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