ऑटोमेशन टेंप्लेट बनाना

1. परिचय

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

  • ऑटोमेशन टेंप्लेट को डिज़ाइन और लिखने का तरीका.
  • Google Home Developer Console का इस्तेमाल करके, ऑटोमेशन टेंप्लेट की जांच करने का तरीका.

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

  • Google Home ऐप्लिकेशन इस्तेमाल करने वाला Android या iOS फ़ोन.
  • आपके घर में मौजूद कोई स्मार्ट लाइट या Google Home Playground में मौजूद कोई सिम्युलेटेड डिवाइस.

ज़रूरी शर्तें

आपको Google Home के ऑटोमेशन के बारे में जानकारी होनी चाहिए. अगर आपने कभी कोई ऑटोमेशन नहीं लिखा है, तो इस कोडलैब को पूरा करने से पहले, स्क्रिप्ट की मदद से ऑटोमेशन बनाना कोडलैब पूरा करें.

2. ऑटोमेशन टेंप्लेट और इंस्टेंस

डेवलपर, Google Home Developer Console में ऑटोमेशन टेंप्लेट एडिटर का इस्तेमाल करके, ऑटोमेशन टेंप्लेट बनाते हैं. ऑटोमेशन टेंप्लेट में स्क्रिप्ट लॉजिक की खास जानकारी होती है. इसमें डिवाइस टाइप का रेफ़रंस दिया जाता है, लेकिन किसी खास डिवाइस का नहीं.

Google Home के वेब वर्शन के ऑटोमेशन स्क्रिप्ट एडिटर का इस्तेमाल करके, सामान्य उपयोगकर्ता ऑटोमेशन टेंप्लेट लेते हैं और अपने हिसाब से एक इंस्टेंस बनाते हैं. यह इंस्टेंस, उनके घर के चुनिंदा डिवाइसों पर काम करता है. सेव करने के बाद, यह इंस्टेंस Google Home ऐप्लिकेशन (GHA) में घर के रूटीन में दिखता है.

3. ऑटोमेशन टेंप्लेट प्लान करना

ऑटोमेशन बनाते समय, सबसे पहले यह सोचा जाता है कि किस समस्या को हल करना है. साथ ही, यह भी सोचा जाता है कि ऑटोमेशन उस समस्या को कैसे हल करेगा. इसमें इन बातों का ध्यान रखा जाता है:

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

इस कोडलैब के लिए, ऑटोमेशन दो काम करेगा:

  1. किसी लाइट को किसी ख़ास समय पर चालू करना.
  2. उसी लाइट को किसी ख़ास समय पर बंद करना.

इन बातों को ध्यान में रखते हुए, अब टेंप्लेट एडिटर खोलें और ऑटोमेशन लिखें.

4. ऑटोमेशन टेंप्लेट लिखना

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

ऑटोमेशन टेंप्लेट में तीन मुख्य सेक्शन होते हैं:

  1. मेटाडेटा - ऑटोमेशन का नाम, यह क्या करता है इसका ब्यौरा, और विकल्प के तौर पर कुछ ऐसे टैग जिनका इस्तेमाल ऑटोमेशन को कैटगरी में बांटने के लिए किया जाता है. कीवर्ड ये हैं:
    • लाइटिंग और प्लग
    • मौसम और ऊर्जा
    • सुरक्षा और जागरूकता
    • मनोरंजन
    • उपकरणों और अन्य आवाज़ों की सूचना
  2. इनपुट - इससे यह तय होता है कि ऑटोमेशन को किस तरह के डिवाइसों को कंट्रोल करना है. ऑटोमेशन इंजन इस जानकारी का इस्तेमाल यह जानने के लिए करता है कि टारगेट किए गए डिवाइसों के लिए, किस तरह के ऐक्शन मान्य हैं.
  3. ऑटोमेशन के नियम — इससे ऑटोमेशन के शुरू होने का लॉजिक और उसके काम करने का तरीका तय होता है.

यह ऑटोमेशन टेंप्लेट है, जिसका इस्तेमाल किया जाएगा:

metadata:
  name:
    en: Scheduled light
  description:
    en: Turn the light on and off at specific times
  tags:
    - LIGHTING AND PLUGS
input:
  the_light:
    metadata:
      name:
        en: The light
      description:
        en: The light to be controlled
    selector:
      type: device
      multiSelect: true
      supportedTypes:
        - LIGHT
  time_on:
    metadata:
      name:
        en: Time to turn on the light.
      description:
        en: The time of day to turn on the selected light.
    selector:
      type: time
      default: sunset+30min
  time_off:
    metadata:
      name:
        en: Time to turn off the light.
      description:
        en: The time of day to turn off the selected light.
    selector:
      type: time
      default: 10:00 pm
automations:
  - name: Turn on the light
    starters:
      - type: time.schedule
        at: $time_on
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: true
  - name: Turn off the light
    starters:
      - type: time.schedule
        at: $time_off
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: false

टेंप्लेट को पढ़ें और इन बातों का ध्यान रखें:

  • metadata सेक्शन में, इस ऑटोमेशन का नाम और ब्यौरा होता है.
  • input सेक्शन में the_light नाम का एक वैरिएबल तय किया गया है. यह LIGHT टाइप के डिवाइस के बारे में बताता है. इसका मतलब है कि इस टेंप्लेट का इस्तेमाल सिर्फ़ लाइट के लिए किया जा सकता है, न कि अन्य डिवाइसों के लिए. दूसरे शब्दों में कहें, तो जब कोई उपयोगकर्ता अपने घर में ऑटोमेशन सेट अप करता है, तो उसे $the_light के लिए कोई डिवाइस चुनने के लिए कहा जाता है. ऐसे में, वह सिर्फ़ उस तरह के डिवाइस चुन सकता है जिसे आपने तय किया है.
  • input सेक्शन में, time_on और time_off नाम के दो वैरिएबल भी तय किए गए हैं. इनसे उपयोगकर्ता यह तय कर सकता है कि ऑटोमेशन कब शुरू करने हैं. time_on से पता चलता है कि लाइट कब चालू होगी और time_off से पता चलता है कि लाइट कब बंद होगी. अगर उपयोगकर्ता time_on या time_off की वैल्यू सेट नहीं करता है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है.
  • हमारे ऑटोमेशन के automations सेक्शन में, ऑटोमेशन के दो नियम शामिल हैं. हर नियम में एक time.schedule स्टार्टर होता है. इससे ऑटोमेशन को यह पता चलता है कि उसे कब शुरू करना है.

टेंप्लेट एडिटर

ऑटोमेशन टेंप्लेट एडिटर, ऑटोमेशन टेंप्लेट लिखने के लिए इस्तेमाल किया जाने वाला टूल है.

  1. Google Home Developer Console पर जाएं.
  2. उस खाते से साइन इन करें जिससे आपने Google Home ऐप्लिकेशन में अपना डिवाइस सेट अप किया है.
  3. कोई नया प्रोजेक्ट बनाएं या कोई मौजूदा प्रोजेक्ट चुनें.
  4. ऑटोमेशन में जाकर, डेवलप करें पर क्लिक करें.
  5. टेंप्लेट बनाएं पर क्लिक करें.
  6. "तय समय पर लाइट चालू/बंद करना" ऑटोमेशन टेंप्लेट कॉपी करें.
  7. "शेड्यूल की गई लाइट" ऑटोमेशन टेंप्लेट को टेंप्लेट एडिटर में चिपकाएं.
  8. पुष्टि करें पर क्लिक करें. अगर कोई गड़बड़ी होती है, तो उसे ठीक करें. साथ ही, तब तक पुष्टि करते रहें और गड़बड़ियां ठीक करते रहें, जब तक कोई गड़बड़ी न मिले.
  9. टेम्प्लेट सेव करने के लिए, सेव करें पर क्लिक करें.

5. टेंप्लेट की जांच करना

अब Console में जाकर, टेंप्लेट की जांच की जा सकती है.

  1. पक्का करें कि आपकी लाइट प्लग इन हो और Google Home ऐप्लिकेशन में दिख रही हो.
  2. अगर लाइट चालू है, तो उसे बंद करें.
  3. Google Home Developer Console पर जाएं.
  4. वह प्रोजेक्ट खोलें जिसमें आपने टेंप्लेट बनाया है.
  5. ऑटोमेशन को चुनें. इसके बाद, जांच करें टैब को चुनें.
  6. "शेड्यूल की गई लाइट" ऑटोमेशन टेंप्लेट के बगल में मौजूद, खोलें पर क्लिक करें.
  7. वह स्ट्रक्चर चुनें जिसमें आपको टेंप्लेट की जांच करनी है. इसके बाद, आगे बढ़ें पर क्लिक करें.
  8. InputValue एडिटर में, अपनी लाइट का नाम डालें. उदाहरण के लिए, अगर आपकी लाइट का नाम "डेस्क लाइट - ऑफ़िस" है, तो lights के दाईं ओर क्लिक करने पर दिखने वाले ड्रॉप-डाउन मेन्यू से Desk light - Office को चुनें. इसके अलावा, डिवाइस का नाम भी टाइप किया जा सकता है.
  9. साथ ही, InputValue एडिटर में, time_on समय को किसी दूसरे समय पर सेट करें. जैसे, पांच मिनट बाद का समय. इसके बाद, time_off समय को time_on समय के कुछ देर बाद के समय पर सेट करें.
  10. सेट अप पूरा करने के बाद, InputValue एडिटर कुछ ऐसा दिखेगा:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. टेस्ट चालू करें पर क्लिक करें.
  12. दोनों शुरुआती समय खत्म होने का इंतज़ार करें. लाइट को तय किए गए समय पर चालू और बंद होना चाहिए.

अपने टेंप्लेट को टेस्ट करने के बाद, आपको पता चल जाएगा कि आपका ऑटोमेशन सही तरीके से काम कर रहा है.

6. बधाई हो!

आपने ऑटोमेशन टेंप्लेट बना लिया है. बहुत बढ़िया!

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

  • ऑटोमेशन टेंप्लेट को डिज़ाइन और लिखने का तरीका.
  • Google Home Developer Console में इसकी जांच कैसे करें.

अगले चरण

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

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

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