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

इस कोडलैब (कोड बनाना सीखने के लिए ट्यूटोरियल) के बारे में जानकारी
schedule34 मिनट
subjectपिछली बार 26 सितंबर 2023 को अपडेट किया गया
account_circleJonathan Donald and Andres Gomez ने लिखा
  • ऑटोमेशन टेंप्लेट को डिज़ाइन करने और लिखने का तरीका.
  • Google Home Developer Console का इस्तेमाल करके, ऑटोमेशन टेंप्लेट की जांच करने का तरीका.
  • Android या iOS फ़ोन, जिस पर Google Home ऐप्लिकेशन चल रहा हो.
  • आपके घर में लगी स्मार्ट लाइट या Google Home Playground में मौजूद सिम्युलेटेड डिवाइस.

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

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

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

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. टेंप्लेट की जांच करें

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

  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 ऑटोमेशन के बारे में ज़्यादा जानने के लिए, ऑटोमेशन से जुड़े दस्तावेज़ देखें: