स्मार्ट होम ऐक्शन बनाने का तरीका जानने की नई जगह, Google Home डेवलपर सेंटर में आपका स्वागत है. ध्यान दें: Actions कंसोल में कार्रवाइयां बनाना जारी रहेगा.

अपने ऐप्लिकेशन की जांच करना और डीबग करना

हमारा सुझाव है कि आप पहले बताए गए तरीकों का इस्तेमाल करके, स्थानीय शिपिंग के लिए ऐप्लिकेशन बनाएं. इसके बाद, नीचे दिए गए तरीके से होस्टिंग के माहौल के हिसाब से, अपने स्मार्ट होम इंटिग्रेशन की जांच करें:

  1. अपने होस्टिंग प्लैटफ़ॉर्म में, वह एचटीएमएल पेज दिखाएं जो आपके स्थानीय वाहन की सुविधा वाले ऐप्लिकेशन को चलाता है. नीचे दिया गया स्निपेट, आपकी वेबसाइट के मुताबिक कॉन्टेंट को फ़ेच करने वाले आपके लोकल ऐप्लिकेशन को चलाने वाली एक स्टैटिक एचटीएमएल फ़ाइल का उदाहरण दिखाता है.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
    
    
  2. डिवाइस कंट्रोल को टेस्ट करना.

  3. Chrome से डीबग करें. इंटिग्रेशन की समस्या हल करने के लिए, ब्रेकपॉइंट और लॉग का इस्तेमाल करें.

  4. अपने TypeScript कोड में बदलाव करें और उसे कंपाइल करें. इसके बाद, ये चरण दोहराएं.

इस बिल्ड-और-टेस्ट प्रोसेस को दोहराकर, आप अपने कोड से जुड़े बदलावों को जल्दी और ज़्यादा आसानी से देख सकते हैं और अपने कोड से जुड़ी समस्याओं को डीबग कर सकते हैं.

डिवाइस कंट्रोल को टेस्ट करना

ऐक्शन कंसोल में, आपको अपने वेब ऐप्लिकेशन का यूआरएल डालना होगा. यह एचटीएमएल, Google Home या Google Nest डिवाइस पर लोड होता है.

लोकल ऑर्डर पूरा करने की सुविधा की मदद से, डिवाइस के कंट्रोल की जांच करने के लिए, यह तरीका अपनाएं:

Chrome

  1. Actions कंसोल में अपना स्मार्ट होम प्रोजेक्ट खोलें.
  2. बाईं ओर मौजूद नेविगेशन में, कार्रवाइयां पर क्लिक करें.
  3. लोकल होम SDK टूल कॉन्फ़िगर करें (ज़रूरी नहीं) > Chrome के लिए अपने टेस्ट यूआरएल डालें में, डेवलपमेंट सर्वर का वह यूआरएल बताएं जो आपके लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन चलाने वाले एचटीएमएल को दिखाता है.
  4. सेव करें पर क्लिक करें. Google को आपके कंसोल में किए गए बदलावों को लागू होने में 30 मिनट लग सकते हैं.
  5. टेस्ट के लिए इस्तेमाल किए गए Google Home या Google Nest डिवाइस को फिर से चालू करें.
  6. अपने स्मार्ट डिवाइस को कोई निर्देश दें. उदाहरण के लिए, अगर आपके डिवाइस पर OnOf एट्रिब्यूट लागू है, तो "Ok Google, लाइटें चालू करो" कहें.

Node.js

  1. Actions कंसोल में अपना स्मार्ट होम प्रोजेक्ट खोलें.
  2. बाईं ओर मौजूद नेविगेशन में, कार्रवाइयां पर क्लिक करें.
  3. लोकल होम SDK टूल कॉन्फ़िगर करें (ज़रूरी नहीं) > नोड के लिए जांच करने वाला यूआरएल डालें में, डेवलपमेंट सर्वर का वह यूआरएल डालें जो आपके स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन चलाने वाले JavaScript को दिखाता है.
  4. सेव करें पर क्लिक करें. Google को आपके कंसोल में किए गए बदलावों को लागू होने में 30 मिनट लग सकते हैं.
  5. टेस्ट के लिए इस्तेमाल किए गए Google Home या Google Nest डिवाइस को फिर से चालू करें.
  6. अपने स्मार्ट डिवाइस को कोई निर्देश दें. उदाहरण के लिए, अगर आपके डिवाइस पर OnOf एट्रिब्यूट लागू है, तो "Ok Google, लाइटें चालू करो" कहें.

आपका डिवाइस किस रनटाइम का इस्तेमाल करता है, इस बारे में ज़्यादा जानकारी के लिए, काम करने वाले डिवाइस देखें.

Chrome से डीबग करना

Chrome Devtools का इस्तेमाल करके, स्थानीय शिपिंग के लिए बनाए गए ऐप्लिकेशन को डीबग किया जा सकता है. डीबग करने से पहले, पक्का करें कि आपका एनवायरमेंट सही तरीके से सेट अप हो गया है:

  • आपने कंसोल में अपने डेवलपमेंट यूआरएल को ऐसे यूआरएल पर सेट किया है जिस पर Google Home या Google Nest डिवाइस से पहुंचा जा सकता है (लोकल एरिया नेटवर्क पर या इंटरनेट से)
  • आपकी मशीन उसी लोकल एरिया नेटवर्क से कनेक्ट की गई है जिससे Google Home या Google Nest डिवाइस को टेस्ट किया जा रहा है.
  • आपका नेटवर्क अलग-अलग डिवाइसों के बीच पैकेट को ब्लॉक नहीं करता.
  • आपने कार्रवाइयों के कंसोल और Google Home या Google Nest डिवाइस पर एक ही Google खाते से लॉग इन किया है.
  • आपने अपने क्लाउड फ़ुलफ़िलमेंट में SYNC जवाब को अपडेट किया है. यह otherDeviceIds फ़ील्ड में कम से कम एक मान्य वैल्यू दिखाएगा.
  • आपने Actions कंसोल में, स्कैन कॉन्फ़िगरेशन की सही जानकारी डाली है.

अपने स्थानीय वाहन के ऐप्लिकेशन को Chrome DevTools डीबगर से कनेक्ट करने के लिए, यह तरीका अपनाएं:

Chrome

  1. अपनी लोकल डेवलपमेंट मशीन में, Google Chrome ब्राउज़र इंस्टॉल और लॉन्च करें.
  2. अपने Chrome ब्राउज़र के पता फ़ील्ड में, Chrome इंस्पेक्टर को लॉन्च करके लॉन्च करें: chrome://inspect#devices. आपको पेज पर डिवाइसों की सूची दिखेगी. साथ ही, आपकी एचटीएमएल फ़ाइल, जांच वाले Google Home या Google Nest डिवाइस के नाम की सूची में दिखेगी.
  3. Chrome DevTools लॉन्च करने के लिए, अपने एचटीएमएल में मौजूद नीले रंग के जांच करने वाले लिंक पर क्लिक करें. कंसोल टैब पर स्विच करें. स्थानीय होम प्लैटफ़ॉर्म आपके ऐप्लिकेशन के वर्शन और कंसोल लॉग में स्थानीय होम SDK टूल का आउटपुट देता है. अगर आपको लॉग दिखता है, तो इसका मतलब है कि Google ने आपका ऐप्लिकेशन लोड किया है और वह उससे कनेक्ट कर सकता है. अगर नहीं, तो अपने Google Home या Google Nest डिवाइस को फिर चालू करें.
  4. इमेज 1: chrome://inspect में, वाहन बेचने का स्थानीय ऐप्लिकेशन.

Node.js

  1. अपनी लोकल डेवलपमेंट मशीन में, Google Chrome ब्राउज़र इंस्टॉल और लॉन्च करें.
  2. अपने टेस्ट डिवाइस का स्थानीय आईपी पता तय करें.
  3. अपने Chrome ब्राउज़र के पता फ़ील्ड में, Chrome इंस्पेक्टर को लॉन्च करके लॉन्च करें: chrome://inspect#devices.
  4. टारगेट डिस्कवरी सेटिंग खोलने के लिए कॉन्फ़िगर करें... चुनें.
  5. दूसरी इमेज: टारगेट की गई सेटिंग को chrome://inspect में टारगेट करें.
  6. सूची में DEVICE_IP_ADDRESS:9222 डालें और हो गया पर क्लिक करें.
  7. Chrome DevTools लॉन्च करने के लिए, अपनी स्क्रिप्ट के नीचे नीले रंग के जांच करने वाले लिंक पर क्लिक करें. कंसोल टैब पर स्विच करें. स्थानीय होम प्लैटफ़ॉर्म आपके ऐप्लिकेशन के वर्शन और कंसोल लॉग में स्थानीय होम SDK टूल का आउटपुट देता है. अगर आपको लॉग दिखता है, तो इसका मतलब है कि Google ने आपका ऐप्लिकेशन लोड किया है और वह उससे कनेक्ट कर सकता है. अगर नहीं, तो अपने Google Home या Google Nest डिवाइस को फिर चालू करें.

आपका डिवाइस किस रनटाइम का इस्तेमाल करता है, इस बारे में ज़्यादा जानकारी के लिए, काम करने वाले डिवाइस देखें.

डीबग करने से जुड़ी सलाह

डीबग करते समय इन बातों का ध्यान रखें:

  • एक ही लोकल नेटवर्क से जुड़े अपने टेस्ट खाते में, एक से ज़्यादा Google Home या Google Nest डिवाइसों को लिंक न करें. आपके पास यह कंट्रोल करने का विकल्प नहीं होगा कि लोकल Google का इस्तेमाल करने से जुड़े निर्देशों की मदद से, किस Google Home या Google Nest डिवाइस को टारगेट किया जाए.
  • Chrome DevTools में पेज को रीफ़्रेश करें. ऐसा करने के लिए, लोकल डेवलपमेंट ऐप्लिकेशन कंटेनर को अपने डेवलपमेंट यूआरएल के सबसे नए कोड का इस्तेमाल करके फिर से लोड करें. इससे लोकल होम प्लैटफ़ॉर्म रीसेट नहीं होता. यह आपके लोकल वाहन बेचने वाले ऐप्लिकेशन में, प्लैटफ़ॉर्म इंटेंट (जैसे कि IDENTIFY) को फिर से ट्रिगर करने के लिए ज़रूरी हो सकता है. लोकल होम प्लैटफ़ॉर्म को रीसेट करने के लिए, अपने Google Home या Google Nest डिवाइस को फिर से चालू करें.
  • यह देख लें कि आपका JavaScript ऐप्लिकेशन बिना किसी गड़बड़ी के लोड हो रहा हो. ऐसा करने के लिए, DevTools पेज का कंसोल सेक्शन देखें. अगर कोई समस्या है, तो आपको इस तरह का एक मैसेज दिखेगा: Uncaught TypeError: Cannot read property ‘open’ of null.
  • IDENTIFY जवाब में मौजूद verificationId, SYNC जवाब में दिए गए otherDeviceIds में से किसी एक से मेल खाना चाहिए.
  • अपने EXECUTE हैंडलर के लिए पक्का करें कि आपके डिवाइस पर एचटीटीपी, टीसीपी या यूडीपी कमांड मिल सकें. साथ ही, वे उम्मीद के मुताबिक काम करें.
  • पक्का करें कि हैंडलर से Promise वापस कर दिए गए हैं.
  • अपनी ग्लोबल स्थिति को याद रखने से बचें. ऐप्लिकेशन लाइफ़साइकल देखें.
  • स्थानीय शिपिंग के लिए इस्तेमाल होने वाले स्थानीय ऐप्लिकेशन की ओर से डाली गई गड़बड़ियां, आपके प्रोजेक्ट गड़बड़ी के लॉग में दिखेंगी.

प्रोडक्शन के लिए तैयार करना और उसे लॉन्च करना

जब आप स्मार्ट होम ऐक्शन लॉन्च करने के लिए तैयार हों, तो यह तरीका अपनाएं:

  1. कोई टर्मिनल खोलें. अपनी प्रोजेक्ट डायरेक्ट्री में, npm run build निर्देश चलाएं. यह निर्देश आपके ऐप्लिकेशन के लिए, dist डायरेक्ट्री में नीचे दिए गए JavaScript बंडल जनरेट करता है:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. कंसोल में, JavaScript > कार्रवाइयां पर क्लिक करके अपना JavaScript ऐप्लिकेशन अपलोड करें. लोकल होम SDK टूल कॉन्फ़िगर करें सेक्शन में, JavaScript फ़ाइलें अपलोड करें पर क्लिक करें.
    तीसरी इमेज: अपना JavaScript ऐप्लिकेशन अपलोड करें.
  3. फ़ाइलें अपलोड करें डायलॉग में, उन बंडल फ़ाइलों को अपलोड करें जिन्हें आपने पहले जनरेट किया था. बंडल फ़ाइलों (नोड, वेब) के दोनों वर्शन अपलोड करना न भूलें. इससे, आपकी कार्रवाई ऐसे सभी रनटाइम एनवायरमेंट में सही तरीके से काम करने के लिए कॉन्फ़िगर हो जाएगी जो स्थानीय सिस्टम में काम करते हैं.
    1. अपना JavaScript टारगेटिंग Node.js अपलोड करें: dist/node डायरेक्ट्री से bundle.js फ़ाइल अपलोड करें.
    2. अपना JavaScript टारगेटिंग Chrome (ब्राउज़र) अपलोड करें: dist/web डायरेक्ट्री से bundle.js फ़ाइल अपलोड करें.
  4. Assistant की सुविधा वाले डिवाइस पर, अपनी कार्रवाई की जाँच करें. इससे यह पुष्टि की जा सकती है कि प्रोडक्शन के दौरान यह उम्मीद के मुताबिक काम कर रहा है या नहीं. ज़्यादा जानने के लिए, अपने स्मार्ट होम ऐक्शन की जांच करना और उसे शेयर करना देखें.
  5. जब आप अपनी कार्रवाई के काम से संतुष्ट हो जाएं, तो अपने स्मार्ट होम की कार्रवाई लॉन्च करें में दिए गए निर्देशों का पालन करके, प्रोडक्शन के डिप्लॉयमेंट के लिए इसे Google को सबमिट करें. इसमें खुद की जांच और सर्टिफ़िकेशन के अनुरोध को पूरा करना शामिल है.