اختبار تطبيقك وتصحيح أخطائه

ننصحك بإنشاء تطبيق محلي لتوفير الطلبات باستخدام الخطوات الموضّحة سابقًا، ثم اختبار عملية دمج المنزل المزوّد بأجهزة ذكية في بيئة الاستضافة الخاصة بك باستخدام الخطوات التالية:

  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. تصحيح الأخطاء من Chrome: استخدم نقاط التوقف والسجلات لتحديد مشاكل التكامل وحلّها

  4. عدِّل رمز TypeScript واجمعه، ثم كرِّر هذه الخطوات.

من خلال تكرار عملية الإنشاء والاختبار هذه، يمكنك رؤية التغييرات وهي قيد التنفيذ بسرعة وسهولة أكبر اكتشاف المشكلات في التعليمات البرمجية وتصحيحها.

اختبار التحكّم بالجهاز

في وحدة تحكّم المهام، عليك تحديد عنوان URL لتطبيق الويب، الذي يعرض رمز HTML الذي يتم تحميله على Google Home أو جهاز Google Nest أثناء تنفيذ الطلب محليًا.

لاختبار التحكّم في الأجهزة باستخدام طريقة التنفيذ المحلية، اتّبِع الخطوات التالية:

Chrome

  1. افتح مشروع منزلك المزوّد بأجهزة ذكية في وحدة تحكّم المهام.
  2. في شريط التنقّل الأيمن، انقر على الإجراءات.
  3. ضمن إعداد حزمة تطوير البرامج (SDK) للمنزل المحلي (اختياري) > أدخِل عنوان URL للاختبار لمتصفِّح Chrome، حدِّد عنوان URL لخادم التطوير الذي يعرض رمز HTML الذي يشغِّل تطبيق تنفيذ الطلبات المحلي.
  4. انقر على حفظ. قد يستغرق نشر التغييرات التي تم إجراؤها على وحدة التحكّم ما يصل إلى 30 دقيقة.
  5. يُرجى إعادة تشغيل جهاز Google Home أو Google Nest التجريبي.
  6. أدخِل طلبًا لجهازك الذكي. على سبيل المثال، إذا كان جهازك يستخدم السمة OnOff، يمكنك قول "Ok Google، أريد إضاءة المصابيح".

Node.js

  1. افتح مشروع منزلك المزوّد بأجهزة ذكية في وحدة تحكّم المهام.
  2. في شريط التنقّل الأيمن، انقر على الإجراءات.
  3. ضِمن ضبط حزمة تطوير البرامج (SDK) للمنزل المحلي (اختياري) > أدخِل عنوان URL للاختبار في العُقدة، حدِّد عنوان URL لخادم التطوير الذي يعرض رمز JavaScript الذي يشغِّل تطبيق تنفيذ الطلبات المحلي.
  4. انقر على حفظ. قد يستغرق نشر التغييرات التي تم إجراؤها على وحدة التحكّم ما يصل إلى 30 دقيقة.
  5. يُرجى إعادة تشغيل جهاز Google Home أو Google Nest التجريبي.
  6. أدخِل طلبًا لجهازك الذكي. على سبيل المثال، إذا كان جهازك يستخدم السمة OnOff، يمكنك قول "Ok Google، أريد إضاءة المصابيح".

لمزيد من التفاصيل حول وقت التشغيل الذي يستخدمه جهازك، يُرجى مراجعة الأجهزة المتوافقة.

تصحيح الأخطاء من Chrome

يمكنك تصحيح الأخطاء في تطبيقك المحلي لتوفير الطلبات باستخدام أدوات مطوري البرامج في Chrome. قبل أن تتمكن من تصحيح الأخطاء، تأكد من إعداد بيئتك بشكل صحيح:

  • ضبط عنوان URL للتطوير في وحدة التحكّم على عنوان URL يمكن الوصول إليه من خلال جهاز Google Home أو جهاز Google Nest (إما من خلال الشبكة المحلية أو عبر الإنترنت)
  • جهازك متصل بالشبكة المحلية نفسها التي يتصل بها جهاز Google Home أو Google Nest الذي تختبره.
  • لا تحظر شبكتك حزم البيانات بين الأجهزة.
  • سجّلت الدخول باستخدام حساب Google نفسه في وحدة تحكّم المهام وعلى جهاز Google Home أو Google Nest.
  • أن تكون قد عدّلت استجابة المزامنة في تنفيذ السحابة الإلكترونية. ويجب أن يعرض قيمة صالحة واحدة على الأقل في الحقل otherDeviceIds.
  • أدخلت معلومات تهيئة الفحص الصحيحة في وحدة تحكم الإجراءات.

لربط تطبيقك المحلي لتنفيذ الطلبات بأداة تصحيح الأخطاء في "أدوات مطوّري البرامج في Chrome"، اتّبِع الخطوات التالية:

Chrome

  1. في جهاز التطوير المحلي، ثبِّت متصفّح Google Chrome وشغِّله.
  2. في حقل العنوان في متصفِّح Chrome، شغِّل عارض Chrome من خلال إدخال: chrome://inspect#devices. من المفترض أن تظهر قائمة بالأجهزة على الصفحة، ويجب إدراج ملف HTML تحت اسم جهاز Google Home أو جهاز Google Nest الذي تم اختباره.
  3. انقر على رابط الفحص الأزرق أسفل رمز HTML لبدء تشغيل "أدوات مطوري البرامج في Chrome". بدِّل إلى علامة التبويب وحدة التحكّم. تعرض منصة Local Home إصدار تطبيقك وإصدار حزمة تطوير البرامج (SDK) للمنزل المحلي في سجلّ وحدة التحكّم. إذا رأيت السجل، فهذا يعني أن Google قد حمَّلت تطبيقك بنجاح، وبإمكانه الاتصال به. إذا لم يتم تنشيطها، يُرجى إعادة تشغيل جهاز Google Home أو Google Nest.
  4. الشكل 1: تطبيق تنفيذ الطلبات على الجهاز في chrome://inspect.

Node.js

  1. في جهاز التطوير المحلي، ثبِّت متصفّح Google Chrome وشغِّله.
  2. حدِّد عنوان IP المحلي لجهاز الاختبار.
  3. في حقل العنوان في متصفِّح Chrome، شغِّل عارض Chrome من خلال إدخال: chrome://inspect#devices.
  4. اختَر ضبط... لفتح إعدادات "اكتشاف الاستهداف".
  5. الشكل 2: إعدادات استكشاف المحتوى المستهدف في chrome://inspect.
  6. أدخِل DEVICE_IP_ADDRESS:9222 في القائمة وانقر على تم.
  7. انقر على رابط الفحص الأزرق أسفل النص البرمجي لتشغيل "أدوات مطوري البرامج في Chrome". بدِّل إلى علامة التبويب وحدة التحكّم. تعرض منصة Local Home إصدار تطبيقك وإصدار حزمة تطوير البرامج (SDK) للمنزل المحلي في سجلّ وحدة التحكّم. إذا رأيت السجل، فهذا يعني أن Google قد حمَّلت تطبيقك بنجاح، وبإمكانه الاتصال به. إذا لم يتم تنشيطها، يُرجى إعادة تشغيل جهاز Google Home أو Google Nest.

لمزيد من التفاصيل حول وقت التشغيل الذي يستخدمه جهازك، يُرجى الاطلاع على الأجهزة المتوافقة.

نصائح تصحيح الأخطاء

إليك بعض الأمور الإضافية التي يجب وضعها في الاعتبار أثناء تصحيح الأخطاء:

  • لا تربط عدة أجهزة Google Home أو Google Nest بحسابك التجريبي على الشبكة المحلية نفسها. لن تتمكّن من تحديد جهاز Google Home أو Google Nest الذي يتم استهدافه باستخدام الأوامر المحلية لتوصيل الطلبات.
  • أعِد تحميل الصفحة في "أدوات مطوري البرامج في Chrome" لإعادة تحميل حاوية تطبيق التنفيذ المحلي باستخدام أحدث رمز من عنوان URL للتطوير. لن يؤدي هذا إلى إعادة ضبط منصة Local Home، ما قد يكون ضروريًا لإعادة تفعيل عناصر النظام الأساسي (مثل IDENTIFY) في التطبيق المحلي لتنفيذ الطلبات. لإعادة ضبط النظام الأساسي Local Home، عليك إعادة تشغيل Google Home أو جهاز Google Nest.
  • تأكّد من أنّه يتم تحميل تطبيق JavaScript بدون أخطاء. للقيام بذلك، تحقق من قسم وحدة التحكم في صفحة "أدوات مطوري البرامج". إذا كانت هناك مشكلة، فستظهر رسالة على النحو التالي: Uncaught TypeError: Cannot read property ‘open’ of null.
  • يجب أن يتطابق verificationId من استجابة IDENTIFY مع إحدى otherDeviceIds من استجابة SYNC.
  • بالنسبة إلى المعالج EXECUTE، تأكَّد من أنّ جهازك يستطيع تلقّي أوامر HTTP أو TCP أو UDP وأن تعمل على النحو المتوقّع.
  • تأكَّد من عرض Promise من المعالجات.
  • تجنَّب الاحتفاظ بالحالة العامة في الذاكرة. يُرجى الاطّلاع على مراحل نشاط التطبيق.
  • ستظهر الأخطاء التي تنشأ عن تطبيق التنفيذ المحلي في سجلات الأخطاء للمشروع.

التحضير لعملية الإنتاج وإطلاقها

عندما تكون مستعدًا لتشغيل إجراء المنزل المزوّد بأجهزة ذكية، يُرجى اتّباع الخطوات التالية:

  1. افتح نافذة طرفية. في دليل مشروعك، شغِّل الأمر npm run build. يُنشئ هذا الأمر حِزم JavaScript التالية لتطبيقك ضمن دليل dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. في وحدة التحكّم، حمِّل تطبيق JavaScript بالنقر على تطوير > الإجراءات. في قسم إعداد حزمة تطوير البرامج (SDK) للمنزل المحلي، انقر على تحميل ملفات JavaScript.
    الشكل 3: حمِّل تطبيق JavaScript.
  3. في مربّع الحوار تحميل الملفات، حمِّل ملفات الحِزم التي أنشأتها في السابق. احرص على تحميل كلا الإصدارين من ملفات الحِزمة (Node وWeb) حتى يتم ضبط الإجراء الخاص بك للعمل بشكل صحيح في جميع بيئات وقت التشغيل التي تتيحها عملية التنفيذ المحلية.
    1. تحميل Node.js المستهدف لـ JavaScript: حمّل ملف bundle.js من دليل dist/node.
    2. تحميل JavaScript التي تستهدف Chrome (المتصفح): حمِّل ملف bundle.js من دليل dist/web.
  4. اختبِر الإجراء الخاص بك على جهاز مزوّد بخدمة "مساعد Google" للتأكّد من أنّه يعمل على النحو المتوقّع في بيئة إنتاج. لمزيد من المعلومات، يمكنك الاطّلاع على اختبار إجراء المنزل المزوّد بأجهزة ذكية ومشاركته.
  5. عندما تكون راضيًا عن طريقة عمل الإجراء الخاص بك، يمكنك إرساله إلى Google لنشره من خلال اتّباع التعليمات الواردة في مقالة تشغيل الإجراء الخاص بمنزلك المزوّد بأجهزة ذكية. ويشمل ذلك إكمال خطوات الاختبار الذاتي وطلب الحصول على الشهادة.