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