स्क्रिप्ट किया गया ऑटोमेशन बनाएं

1. परिचय

आपको क्या सीखने को मिलेगा

  • स्क्रिप्ट की मदद से ऑटोमेशन को प्लान और लिखने का तरीका.
  • स्क्रिप्ट वाले ऑटोमेशन को टेस्ट करने का तरीका.

आपको किन चीज़ों की ज़रूरत होगी

  • Google Home ऐप्लिकेशन इस्तेमाल करने वाला Android या iOS फ़ोन.
  • स्मार्ट लाइट या कोई ऐसा डिवाइस जिसे Works With Google Home सर्टिफ़िकेट मिला हो और जिसे चालू या बंद किया जा सकता हो.

2. अपना डिवाइस सेट अप करें

अगर आपका डिवाइस पहले से सेट अप नहीं है, तो उसे अपने होम में सेट अप करें.

पुष्टि करें कि डिवाइस, Google Home ऐप्लिकेशन में दिखता हो. साथ ही, यह भी पुष्टि करें कि Home ऐप्लिकेशन का इस्तेमाल करके, डिवाइस को चालू और बंद किया जा सकता हो.

3. स्क्रिप्ट किए गए ऑटोमेशन की योजना बनाना

हम स्क्रिप्ट वाले ऑटोमेशन से क्या काम करवाना चाहते हैं, इस बारे में सोचकर शुरुआत करेंगे. इसमें ये बातें शामिल हैं:

  • आपको किन डिवाइसों को ऑटोमेट करना है.
  • स्क्रिप्ट किए गए ऑटोमेशन को ट्रिगर करने के लिए, कौनसे स्टार्टर (या इवेंट) का इस्तेमाल किया जाना चाहिए.
  • अगर कोई अतिरिक्त शर्त है, तो वह क्या है. इससे यह तय होता है कि स्क्रिप्टेड ऑटोमेशन ट्रिगर होने के बाद चलेगा या नहीं.
  • कौनसी कार्रवाइयां करनी हैं.

इस कोडलैब के लिए, हमारा प्लान है कि स्क्रिप्ट की मदद से ऑटोमेशन की सुविधा दो काम करे:

  1. किसी लाइट (या अन्य स्मार्ट डिवाइस) को किसी ख़ास समय पर चालू करना.
  2. किसी तय समय पर डिवाइस बंद करना.

अब हमें यह पता चल गया है कि हमें स्क्रिप्ट किए गए ऑटोमेशन से क्या काम करवाना है. इसलिए, हम स्क्रिप्ट एडिटर खोलेंगे और स्क्रिप्ट किए गए ऑटोमेशन को लिखेंगे.

4. स्क्रिप्ट किया गया ऑटोमेशन लिखना

स्क्रिप्ट वाले ऑटोमेशन, YAML डेटा-सीरियलाइज़ेशन भाषा का इस्तेमाल करके, डिक्लेरेटिव तरीके से लिखे जाते हैं.

स्क्रिप्ट वाले ऑटोमेशन में दो मुख्य सेक्शन होते हैं:

  1. मेटाडेटा - स्क्रिप्ट वाले ऑटोमेशन का नाम और उसके काम का ब्यौरा.
  2. ऑटोमेशन के नियम — इससे ऑटोमेशन के शुरू होने का लॉजिक और उसके काम करने का तरीका तय होता है.

मेटाडेटा

हमारे ऑटोमेशन के मेटाडेटा से, उपयोगकर्ता को यह पता चलता है कि ऑटोमेशन को क्या कहा जाता है और यह क्या करता है. मेटाडेटा को metadata ब्लॉक में तय किया जाता है. यह इस तरह दिखता है:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times

ऑटोमेशन के नियम

ऑटोमेशन नियम की मदद से ही असली काम होता है. इसमें तीन हिस्से होते हैं: स्टार्टर, शर्तें, और कार्रवाइयां. इनका आकलन इस क्रम में किया जाता है:

1 Starters

दो शर्तें

तीन कार्रवाइयां

ऑटोमेशन को शुरू करने के लिए, स्टार्टर का इस्तेमाल किया जाता है. आगे की शर्तें तब ही देखी जाएंगी, जब कम से कम एक स्टार्टर true हो.

ये ज़रूरी नहीं हैं. इनमें एक या उससे ज़्यादा अतिरिक्त शर्तें होती हैं. इनका आकलन, स्टार्टर के चालू होने के बाद किया जाता है. अगर शर्तें true के तौर पर तय होती हैं, तो कार्रवाइयां लागू होती हैं. अगर ये false पर सेट हैं, तो कार्रवाइयां नहीं की जाएंगी.

एक से ज़्यादा पाबंदियां शामिल करते समय, उन्हें and और or कीवर्ड से अलग करें, ताकि एक लॉजिकल एक्सप्रेशन बन सके. ऑटोमेशन की कार्रवाइयों को आगे बढ़ाने के लिए, इस एक्सप्रेशन का नतीजा true होना चाहिए.

किसी शर्त के पूरा होने पर मिलने वाली सूचना, स्थिति में हुए बदलाव की सूचना से अलग होती है:

  • शर्त एक ऐसा तथ्य है जो स्टार्टर के "ट्रिगर" होने के समय सही होना चाहिए, ताकि कार्रवाइयां शुरू हो सकें.
  • स्थिति बदलने की सूचना, एक इवेंट होती है. जैसे, किसी दूसरे डिवाइस का चालू होना.

कार्रवाइयां, वे ऑपरेशन होते हैं जो स्टार्टर और किसी भी शर्त के पूरा होने पर किए जाते हैं.

हमारे ऑटोमेशन के automations ब्लॉक में दो नियम शामिल हैं:

automations:
  - starters:
      - type: time.schedule
        at: 1:00 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: true
  - starters:
      - type: time.schedule
        at: 1:05 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: false

निम्न पर ध्यान दें:

  1. इसमें दो automations नियम हैं. पहले से लाइट चालू होती है और दूसरे से लाइट बंद होती है.
  2. हर नियम के लिए एक ही कार्रवाई की जा सकती है.
  3. on: true का मतलब है लाइट चालू करो. इसी तरह, on: false का मतलब है लाइट बंद करो.
  4. हर नियम में एक time.schedule स्टार्टर होता है. इससे ऑटोमेशन को यह पता चलता है कि ऑटोमेशन को कब शुरू करना है.
  5. इस ऑटोमेशन में कोई शर्त नहीं है.

5. स्क्रिप्ट किए गए पूरे ऑटोमेशन

इन सभी चीज़ों को एक साथ रखने पर, स्क्रिप्ट वाले ऑटोमेशन का पूरा कोड इस तरह दिखता है:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times
automations:
  - starters:
      - type: time.schedule
        at: 1:00 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: true
  - starters:
      - type: time.schedule
        at: 1:05 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: false
  1. ऊपर दिए गए ऑटोमेशन को कॉपी करें.
  2. वेब पर Google Home पर जाएं.
  3. ऑटोमेशन टैब चुनें. इसे तीन स्टार वाले आइकॉन से दिखाया जाता है:
    ऑटोमेशन टैब
  4. + नया जोड़ें पर क्लिक करें.
  5. स्क्रिप्ट एडिटर में जाकर, ऑटोमेशन टेंप्लेट मिटाएं.
  6. ऑटोमेशन चिपकाएं.
  7. Desk light - Office की जगह, अपने डिवाइस का नाम और जगह की जानकारी डालें.
  8. पुष्टि करें पर क्लिक करें. स्क्रिप्ट एडिटर, स्क्रिप्ट वाले ऑटोमेशन के उन सेक्शन को अंडरलाइन करता है जिनमें गड़बड़ियां होती हैं. जो भी गड़बड़ियां दिखें उन्हें ठीक करें. साथ ही, तब तक पुष्टि करते रहें और गड़बड़ियां ठीक करते रहें, जब तक कोई गड़बड़ी न दिखे. उदाहरण के लिए, आपके डिवाइस का नाम अलग हो सकता है. अगर ऐसा होता है, तो डिवाइस का मान्य नाम चुनने के लिए, अपने-आप भरने की सुविधा का इस्तेमाल करें.
  9. सेव करें पर क्लिक करें.
  10. पक्का करें कि आपकी स्क्रिप्ट के टेक्स्ट के नीचे मौजूद, चालू करें स्विच चालू है की स्थिति में हो: स्क्रिप्ट एडिटर में, स्क्रिप्ट किए गए ऑटोमेशन की पुष्टि की गई है और उसे चालू किया गया है

6. ऑटोमेशन की जांच करना

  1. पक्का करें कि आपका डिवाइस प्लग इन हो और Google Home ऐप्लिकेशन में दिख रहा हो.
  2. अगर डिवाइस चालू है, तो उसे बंद करें.
  3. Google Home के वेब वर्शन में, ऑटोमेशन पेज पर जाएं. इसके बाद, अपने ऑटोमेशन के बगल में मौजूद ‘चलाएं' बटन पर क्लिक करें.
    स्क्रिप्ट चलाने का बटन
  4. डिवाइस चालू हो जाना चाहिए.

अब, ऑटोमेशन की जांच करते हैं.

  1. डिवाइस को बंद करें.
  2. ऑटोमेशन में बदलाव करो. साथ ही, सातवीं लाइन में मौजूद ‘डिवाइस चालू होने का समय' बदलकर, पांच मिनट बाद का समय सेट करो.
  3. लाइन 14 में, ‘डिवाइस बंद होने का समय' को बदलकर, ‘डिवाइस चालू होने के समय' के कुछ देर बाद का समय सेट करें.
  4. पुष्टि करें पर क्लिक करें. अगर कोई गड़बड़ी होती है, तो उसे ठीक करें.
  5. सेव करें पर क्लिक करें.
  6. पक्का करें कि चालू करें स्विच, चालू है की स्थिति में हो.
  7. दोनों शुरुआती समय खत्म होने का इंतज़ार करें. डिवाइस को चालू और बंद होने के लिए सेट किए गए समय पर, डिवाइस चालू और बंद होना चाहिए.

7. बधाई हो!

आपने स्क्रिप्ट की मदद से ऑटोमेशन बना लिया है. बहुत बढ़िया!

इस कोडलैब में, आपने ये सीखा:

  • ऑटोमेशन को डिज़ाइन और लिखने का तरीका.
  • ऑटोमेशन की जांच करने का तरीका.

अगले चरण

इस कोडलैब में, हमने एक बहुत ही आसान ऑटोमेशन बनाया है. ऑटोमेशन की मदद से, पावर स्विच को टॉगल करने के अलावा और भी बहुत कुछ किया जा सकता है. अब जब आपको ऑटोमेशन बनाने की बुनियादी बातें पता चल गई हैं, तो Google Home के इकोसिस्टम में उपलब्ध अलग-अलग तरह के स्टार्टर, शर्तें, और कार्रवाइयां एक्सप्लोर की जा सकती हैं.

ये गतिविधियां आज़माएं:

  • ऑटोमेशन में ज़्यादा time.schedule स्टार्टर जोड़ें.
  • ऑटोमेशन में बदलाव करके, उसी शेड्यूल पर किसी दूसरे डिवाइस को चालू और बंद करें.
  • time.schedule स्टार्टर को हटाए बिना, ऑटोमेशन में बदलाव करें, ताकि डिवाइस सिर्फ़ तब चालू हों, जब कोई दूसरा डिवाइस चालू हो. condition क्लॉज़ का इस्तेमाल करने वाली उदाहरण स्क्रिप्ट देखें.
  • ऑटोमेशन में बदलाव करके, डिवाइसों को सिर्फ़ तब चालू करें, जब कोई घर पर हो.

इस बारे में और पढ़ें

Google Home के ऑटोमेशन के बारे में ज़्यादा जानने के लिए, ऑटोमेशन का रेफ़रंस दस्तावेज़ देखें: