برنامه خود را تست و اشکال زدایی کنید

توصیه می‌کنیم که برنامه تکمیل محلی خود را با استفاده از مراحلی که قبلا توضیح داده شد بسازید، سپس ادغام خانه هوشمند خود را در محیط میزبانی خود با استفاده از مراحل زیر آزمایش کنید:

  1. در محیط میزبانی خود، صفحه HTML را که برنامه اجرای محلی شما را اجرا می کند، ارائه دهید. قطعه زیر نمونه ای از یک فایل HTML ایستا را نشان می دهد که برنامه اجرای محلی شما را اجرا می کند.

    <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. اشکال زدایی از کروم از نقاط شکست و گزارش‌ها برای عیب‌یابی ادغام خود استفاده کنید.

  4. کد TypeScript خود را تغییر داده و کامپایل کنید، سپس این مراحل را تکرار کنید.

با تکرار این فرآیند ساخت و آزمایش، می‌توانید تغییرات خود را در عمل مشاهده کنید و به راحتی مشکلات کد خود را شناسایی و اشکال‌زدایی کنید.

تست کنترل دستگاه

در کنسول Action، باید URL برنامه وب خود را مشخص کنید، که HTML را که در Google Home یا دستگاه Google Nest بارگیری می‌شود در حین انجام محلی ارائه می‌کند.

برای آزمایش کنترل دستگاه با تکمیل محلی، این مراحل را دنبال کنید:

کروم

  1. پروژه خانه هوشمند خود را در کنسول Actions باز کنید.
  2. در پیمایش سمت چپ، روی Actions کلیک کنید.
  3. در بخش پیکربندی SDK خانگی محلی (اختیاری) > URL آزمایشی خود را برای Chrome وارد کنید ، نشانی وب سرور توسعه را مشخص کنید که HTML را که برنامه تکمیل محلی شما را اجرا می‌کند، ارائه می‌کند.
  4. روی ذخیره کلیک کنید. ممکن است حداکثر 30 دقیقه طول بکشد تا Google تغییرات کنسول شما را منتشر کند.
  5. دستگاه Google Home یا Google Nest آزمایشی خود را راه اندازی مجدد کنید.
  6. دستوری را به دستگاه هوشمند خود صادر کنید. برای مثال، اگر دستگاه شما ویژگی OnOff را اجرا می‌کند، می‌توانید بگویید «Hey Google، چراغ‌ها را روشن کن».

Node.js

  1. پروژه خانه هوشمند خود را در کنسول Actions باز کنید.
  2. در پیمایش سمت چپ، روی Actions کلیک کنید.
  3. در قسمت Configure local home SDK (اختیاری) > URL آزمایشی خود را برای Node وارد کنید ، URL سرور توسعه را مشخص کنید که جاوا اسکریپت را که برنامه اجرای محلی شما را اجرا می کند، ارائه می کند.
  4. روی ذخیره کلیک کنید. ممکن است حداکثر 30 دقیقه طول بکشد تا Google تغییرات کنسول شما را منتشر کند.
  5. دستگاه Google Home یا Google Nest آزمایشی خود را راه اندازی مجدد کنید.
  6. دستوری را به دستگاه هوشمند خود صادر کنید. برای مثال، اگر دستگاه شما ویژگی OnOff را اجرا می‌کند، می‌توانید بگویید «Hey Google، چراغ‌ها را روشن کن».

برای جزئیات بیشتر در مورد زمان اجرا توسط دستگاه شما، به دستگاه های پشتیبانی شده مراجعه کنید.

اشکال زدایی از کروم

می‌توانید با استفاده از Chrome DevTools، برنامه اجرای محلی خود را اشکال زدایی کنید. قبل از اینکه بتوانید اشکال زدایی کنید، مطمئن شوید که محیط شما به درستی تنظیم شده است:

  • شما URL توسعه خود را در کنسول روی یک URL قابل دسترسی توسط Google Home یا دستگاه Google Nest (چه در شبکه محلی یا از طریق اینترنت) تنظیم کرده‌اید.
  • دستگاه شما به همان شبکه محلی متصل به Google Home یا دستگاه Google Nest است که در حال آزمایش آن هستید.
  • شبکه شما بسته های بین دستگاه ها را مسدود نمی کند.
  • شما با همان حساب Google در کنسول Actions و در Google Home یا دستگاه Google Nest وارد سیستم شده‌اید.
  • شما پاسخ SYNC را در انجام ابر خود به روز کرده اید. باید حداقل یک مقدار معتبر را در قسمت otherDeviceIds برگرداند.
  • اطلاعات پیکربندی اسکن صحیح را در کنسول Actions وارد کرده اید.

برای اتصال برنامه تکمیل محلی خود به دیباگر Chrome DevTools، این مراحل را دنبال کنید:

کروم

  1. در دستگاه توسعه محلی خود، مرورگر Google Chrome را نصب و راه اندازی کنید.
  2. در قسمت آدرس مرورگر Chrome خود، بازرس کروم را با وارد کردن: chrome://inspect#devices اجرا کنید. باید فهرستی از دستگاه‌ها را در صفحه مشاهده کنید و فایل HTML شما باید زیر نام Google Home یا دستگاه Google Nest آزمایشی شما فهرست شود.
  3. برای راه اندازی Chrome DevTools، روی پیوند بازرسی آبی رنگ زیر HTML خود کلیک کنید. به تب Console بروید. پلت فرم Local Home نسخه برنامه شما و نسخه Local Home SDK را در گزارش کنسول خروجی می دهد. اگر گزارش را مشاهده کردید، به این معنی است که Google برنامه شما را با موفقیت بارگیری کرده است و می تواند به آن متصل شود. اگر نه، Google Home یا دستگاه Google Nest خود را راه اندازی مجدد کنید.
  4. شکل 1: برنامه تکمیل محلی در chrome://inspect.

Node.js

  1. در دستگاه توسعه محلی خود، مرورگر Google Chrome را نصب و راه اندازی کنید.
  2. آدرس IP محلی دستگاه آزمایشی خود را تعیین کنید.
  3. در قسمت آدرس مرورگر Chrome خود، بازرس کروم را با وارد کردن: chrome://inspect#devices اجرا کنید.
  4. برای باز کردن تنظیمات کشف هدف ، پیکربندی... را انتخاب کنید.
  5. شکل 2: تنظیمات اکتشاف هدف در chrome://inspect.
  6. DEVICE_IP_ADDRESS :9222 در لیست وارد کنید و روی Done کلیک کنید.
  7. برای راه اندازی Chrome DevTools، روی پیوند بازرسی آبی رنگ زیر اسکریپت خود کلیک کنید. به تب Console بروید. پلت فرم Local Home نسخه برنامه شما و نسخه Local Home SDK را در گزارش کنسول خروجی می دهد. اگر گزارش را مشاهده کردید، به این معنی است که Google برنامه شما را با موفقیت بارگیری کرده است و می تواند به آن متصل شود. اگر نه، Google Home یا دستگاه Google Nest خود را راه اندازی مجدد کنید.

برای جزئیات بیشتر در مورد زمان اجرا توسط دستگاه شما، به دستگاه های پشتیبانی شده مراجعه کنید.

نکات رفع اشکال

برخی از موارد اضافی که در هنگام اشکال زدایی باید در نظر داشته باشید عبارتند از:

  • چندین دستگاه Google Home یا Google Nest را به حساب آزمایشی خود در یک شبکه محلی مرتبط نکنید. نمی‌توانید کنترل کنید کدام دستگاه Google Home یا Google Nest با دستورات انجام محلی هدف قرار می‌گیرد.
  • صفحه را در Chrome DevTools بازخوانی کنید تا محفظه برنامه تکمیل محلی خود را با آخرین کد از URL توسعه خود بارگیری مجدد کنید. این پلتفرم Local Home را بازنشانی نمی‌کند، که ممکن است برای راه‌اندازی مجدد هدف‌های پلتفرم (مانند IDENTIFY ) در برنامه تحقق محلی شما ضروری باشد. برای بازنشانی پلت فرم Local Home، Google Home یا دستگاه Google Nest خود را راه اندازی مجدد کنید.
  • بررسی کنید که برنامه جاوا اسکریپت شما بدون خطا بارگیری شود. برای انجام این کار، بخش کنسول صفحه DevTools را بررسی کنید. اگر مشکلی وجود داشته باشد، پیامی مانند زیر مشاهده خواهید کرد: Uncaught TypeError: Cannot read property 'open' of null.
  • verificationId از پاسخ IDENTIFY باید با یکی از otherDeviceIds از پاسخ SYNC مطابقت داشته باشد.
  • برای کنترل کننده EXECUTE ، مطمئن شوید که دستورات HTTP، TCP یا UDP شما می توانند توسط دستگاه شما دریافت شوند و همانطور که انتظار می رود کار کنند.
  • اطمینان حاصل کنید که Promise از طرف کنترل کننده ها را برگردانید.
  • از حفظ حالت جهانی در حافظه خودداری کنید. چرخه عمر برنامه را ببینید.
  • خطاهای ایجاد شده توسط برنامه انجام محلی شما در گزارش های خطای پروژه شما ظاهر می شود.

آماده سازی و راه اندازی به تولید

هنگامی که آماده راه اندازی اکشن خانه هوشمند خود هستید، این مراحل را دنبال کنید:

  1. یک ترمینال باز کنید در فهرست پروژه خود، دستور npm run build را اجرا کنید. این دستور بسته‌های جاوا اسکریپت زیر را برای برنامه شما در فهرست dist ایجاد می‌کند:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. در کنسول، برنامه جاوا اسکریپت خود را با کلیک روی Develop > Actions آپلود کنید. در بخش Configure Local Home SDK ، روی آپلود فایل‌های جاوا اسکریپت کلیک کنید.
    شکل 3: برنامه جاوا اسکریپت خود را آپلود کنید.
  3. در گفتگوی آپلود فایل‌ها ، فایل‌های بسته‌ای را که قبلاً ایجاد کرده‌اید آپلود کنید. اطمینان حاصل کنید که هر دو نسخه فایل های بسته (Node، Web) را آپلود کرده اید تا Action شما به گونه ای پیکربندی شود که در تمام محیط های زمان اجرا که اجرای محلی پشتیبانی می کند، به درستی کار کند.
    1. جاوا اسکریپت خود را با هدف Node.js بارگذاری کنید : فایل bundle.js را از دایرکتوری dist/node آپلود کنید.
    2. بارگذاری جاوا اسکریپت خود با هدف کروم (مرورگر) : فایل bundle.js را از فهرست dist/web آپلود کنید.
  4. Action خود را روی دستگاهی که دارای Assistant فعال است آزمایش کنید تا بررسی کنید که در یک محیط تولید همانطور که انتظار می رود رفتار می کند. برای کسب اطلاعات بیشتر، به تست و اشتراک‌گذاری اقدام خانه هوشمند خود مراجعه کنید.
  5. وقتی از نحوه عملکرد Action خود راضی بودید، با پیروی از دستورالعمل‌های راه‌اندازی Action خانه هوشمند خود، آن را برای استقرار تولید به Google ارسال کنید. این شامل تکمیل مراحل خودآزمایی و درخواست صدور گواهینامه می باشد.