ডিবাগিং ম্যাটার ইন্টিগ্রেশন, ডিবাগিং ম্যাটার ইন্টিগ্রেশন

1. আপনি শুরু করার আগে

ম্যাটার শেষ ব্যবহারকারীদের জন্য একটি বিজোড়, ক্রস-প্ল্যাটফর্ম ডিভাইস সেটআপ এবং নিয়ন্ত্রণ অভিজ্ঞতা প্রদান করে। এটি মূলত একাধিক ইকোসিস্টেমের উপাদানগুলির কারণে সম্ভব যা পর্দার আড়ালে একে অপরের সাথে একত্রে কাজ করে। এই ধরনের সমস্যা সমাধানের সিস্টেমগুলি প্রায়শই নতুন বিকাশকারীদের জন্য ভয়ঙ্কর হতে পারে, তাই আমরা Google Home-এর সাথে ম্যাটার ডেভেলপার হিসাবে আপনার জীবনকে আরও সহজ করার জন্য একাধিক সরঞ্জাম এবং কৌশল তৈরি করেছি৷

ম্যাটারের জন্য তিনটি প্রধান উপাদান রয়েছে যা এই কোডল্যাবে কভার করা হয়েছে। এই প্রতিটি সিস্টেমের জন্য, Google ফোন এবং হাব থেকে সংগৃহীত ডেভেলপারদের জন্য সমস্যা সমাধানের বিশ্লেষণের একটি সেট প্রদান করে:

কমিশনিং, এক্সিকিউশন, ওটিএ আপডেট

একজন ডেভেলপার হিসেবে ডিভাইস ডেভেলপমেন্ট সাইকেল জুড়ে আপনি যে সমস্যাগুলি অনুভব করেন তা প্রশমিত করতে সক্ষম হওয়া আপনার জন্য অত্যন্ত গুরুত্বপূর্ণ। একবার আপনি আপনার প্রকল্পটি চালু করলে, আপনাকে একটি সামগ্রিক পদ্ধতিতে ক্ষেত্রের ডিভাইসগুলির জন্য সমস্যার প্রবণতা নিরীক্ষণ করতে হবে এবং সফ্টওয়্যার আপডেটের মাধ্যমে সেগুলি ঠিক করতে হবে। এই কোডল্যাব কৌশলগুলিকে কভার করে যা আপনি এই উভয় উদ্দেশ্যে ব্যবহার করতে পারেন।

পূর্বশর্ত

  • একটি ওয়ার্কিং ম্যাটার প্রোজেক্ট এবং ডিভাইস সেটআপ সহ ম্যাটার গাইডের সাথে শুরু করুন সম্পূর্ণ করুন
  • আপনার একটি Android ফোন আছে যা আপনি আপনার ওয়ার্কস্টেশনের সাথে সংযোগ করতে পারেন (ADB লগের জন্য)

আপনি কি শিখবেন

  • স্কেলে ম্যাটার সমস্যাগুলি নিরীক্ষণ করতে স্মার্ট হোমের জন্য বিশ্লেষণ সরঞ্জামগুলি কীভাবে ব্যবহার করবেন।
  • ত্রুটির লগগুলি অ্যাক্সেস করে এবং তথ্য সংগ্রহ করে কীভাবে ত্রুটিগুলি ট্রাইজ করবেন।
  • সাহায্য চাইতে ম্যাটার ডকুমেন্টেশন এবং সহায়তা সংস্থান কীভাবে অ্যাক্সেস করবেন।

2. Google Home Analytics দেখুন

গুগল হোম ইকোসিস্টেমের সাথে সফল একীকরণের জন্য পারফরম্যান্স পর্যবেক্ষণ করা গুরুত্বপূর্ণ। আমরা Google ক্লাউড প্ল্যাটফর্মে স্মার্ট হোম ডেভেলপারদের মনিটরিং টুলের একটি সেট প্রদান করি। আপনি আপনার প্রকল্পের কর্মক্ষমতা একটি পরিমাপ পেতে এই সরঞ্জাম ব্যবহার করতে পারেন.

প্রকল্পের মেট্রিক্স অ্যাক্সেস করুন

  • আপনার ডেটা অ্যাক্সেস করার প্রথম ধাপ হল Google ক্লাউড কনসোলে লগ ইন করে এবং অপারেশন > মনিটরিং > ড্যাশবোর্ডে নেভিগেট করে Google Home ড্যাশবোর্ড চেক করা।

আপনার প্রকল্পে (অন্যান্য GCP পণ্য সহ) অনেকগুলি ড্যাশবোর্ড উপলব্ধ রয়েছে। স্মার্ট হোমের জন্য প্রদত্ত ড্যাশবোর্ডগুলি Google Home Analytics-এর একটি উপসর্গ সহ আসে।

Google Home Analytics ড্যাশবোর্ড

আমাদের বর্তমানে একটি সাধারণ ড্যাশবোর্ড রয়েছে যা আপনার পুরো প্রকল্পকে কভার করে, সেইসাথে নির্দিষ্ট ইন্টিগ্রেশন (ক্লাউড, লোকাল, ম্যাটার) বা ডিভাইসের ধরন (ক্যামেরা) এর জন্য ড্যাশবোর্ড। এই ড্যাশবোর্ডগুলিতে শুধুমাত্র ডেটা থাকে যদি আপনার কাছে সংশ্লিষ্ট ধরনের একটি ইন্টিগ্রেশন থাকে, সাথে একটি কার্যকরী প্রকল্পের অনুরোধ পূরণ করে।

আপনি যখন এই ড্যাশবোর্ডগুলির মধ্যে একটি খুলবেন, তখন আপনি নিম্নলিখিতগুলির মতো চার্টের একটি সিরিজ দেখতে পাবেন:

সাফল্যের হার, লেটেন্সি এবং ডিভাইসের প্রকার ব্রেকডাউন

Google Home ড্যাশবোর্ডে বিভিন্ন চার্ট রয়েছে যা আপনার প্রকল্পের সাথে যুক্ত ইভেন্টের বিবরণ দেখায়। প্রতিটি ইন্টিগ্রেশন ড্যাশবোর্ডের সাথে, আপনি একটি চার্ট দেখতে পাচ্ছেন যা আপনার প্রকল্পের দ্বারা পরিচালিত মোট অনুরোধের সংখ্যা দেখায়, সেই ইন্টিগ্রেশন প্রকারের সাফল্যের হার দেখানো একটি চার্ট এবং ডিভাইসের ধরন এবং এর সাথে জড়িত বৈশিষ্ট্যগুলি দেখায়। উপরন্তু, ম্যাটারের সাথে আপনার কাছে চার্টের একটি সেট রয়েছে যা কমিশনিং সাফল্যের পাশাপাশি আপনার ডিভাইসে আপডেটের রোলআউটগুলি ট্র্যাক করে৷

মনে রাখবেন যে Google হোম অ্যানালিটিক্স ড্যাশবোর্ডে আপনি যে চার্টগুলি দেখেন তার সাথে ডিফল্ট ভিউটি শুধুমাত্র একটি ভিউ যা আমরা স্মার্ট হোম মেট্রিক্স ডেটা ব্যবহার করে আপনার প্রকল্পের জন্য তৈরি করেছি। আপনি একই অন্তর্নিহিত মেট্রিক্স থেকে আপনার নিজস্ব চার্ট তৈরি করতে এবং আপনার কাস্টম ড্যাশবোর্ডে সেভ করতে মেট্রিক্স এক্সপ্লোরার ব্যবহার করতে পারেন।

অ্যাক্সেস ত্রুটি লগ

লগ এক্সপ্লোরার হল একটি প্রকল্পে তৈরি ইভেন্ট লগগুলির সাথে কাজ করার জন্য সরঞ্জামগুলির একটি সংগ্রহ৷ এটি Google ক্লাউড কনসোলে অপারেশনস > লগিং > লগ এক্সপ্লোরার- এ নেভিগেট করে অ্যাক্সেসযোগ্য।

একবার আপনি লগ এক্সপ্লোরার খুললে আপনি একটি ভিউ পাবেন যা নিচের মত দেখায়:

লগ এক্সপ্লোরার

এক্সপ্লোরার উইন্ডোতে লগগুলি দেখতে, ফিল্টার, ক্যোয়ারী এবং বিশ্লেষণ করার জন্য বিভিন্ন সরঞ্জাম রয়েছে। ডিফল্টরূপে, এই ভিউ আপনার প্রোজেক্টের জন্য উপলব্ধ সমস্ত সিস্টেম থেকে তৈরি করা লগগুলি দেখায়, সেই লগগুলি সহ যা স্মার্ট হোমের বাইরে তৈরি করা হয়৷ এই কারণেই আপনি যে ইভেন্টগুলি ডিবাগ করতে চান তার জন্য ফিল্টার করে এই লগগুলি ব্যবহার করা গুরুত্বপূর্ণ৷ আমরা ডিবাগিং বিভাগে এটি সম্পর্কে আরও কথা বলব।

3. ডিবাগ কমিশনিং সমস্যা

প্রথম ধরনের মেট্রিক যা আমরা দেখব তা হল ম্যাটার কমিশনিং ইভেন্টগুলি। কমিশনিং বলতে ব্যবহারকারীর জন্য প্রথমবার একটি ম্যাটার ডিভাইস সেট আপ করার জন্য প্রয়োজনীয় ধাপগুলির সেট বোঝায়।

ডিভাইস কমিশনিংয়ের সময়, ম্যাটার ডিভাইস, গুগল হোম অ্যাপ এবং ম্যাটার ফ্যাব্রিকের মধ্যে মিথস্ক্রিয়াগুলির একটি সেট সঞ্চালিত হয়। নিম্নলিখিত চিত্রটি এই ঘটনাগুলির কিছু প্রদর্শন করে:

বিষয় কমিশনিং ঘটনা

আপনি এই প্রতিটি ধাপ সম্পর্কে আরও জানতে ম্যাটার প্রাইমার থেকে কমিশনিং পৃষ্ঠাটি পরীক্ষা করতে পারেন। এই বিভাগে আমরা কমিশনিং সমস্যাগুলি ডিবাগ করার সরঞ্জাম এবং কৌশলগুলি কভার করব৷

Google Home Analytics ব্যবহার করুন

ইভেন্টগুলি ট্র্যাক করে এবং কোন পর্যায়ে ত্রুটিগুলি ঘটতে পারে তা বোঝার মাধ্যমে কমিশনিং সমস্যাগুলি তদন্ত করার জন্য আমরা আপনার জন্য মেট্রিক্সের একটি সেট তৈরি করেছি৷ আপনি এটি ম্যাটার ইন্টিগ্রেশন ড্যাশবোর্ডে খুঁজে পেতে পারেন, যেমনটি আমরা পূর্ববর্তী বিভাগে কভার করেছি।

এই ড্যাশবোর্ডের চার্টগুলি ডিভাইস কমিশনিং সম্পর্কিত ডেটা প্রদান করে:

ডিভাইস কমিশনিং মেট্রিক্স

ডিভাইস গণনা চার্ট একটি নির্দিষ্ট তারিখে ব্যবহারকারীদের দ্বারা কমিশনিং প্রচেষ্টার সংখ্যা দেখায়। সাফল্যের হার Google-এর প্রান্তে এই ইভেন্টগুলির জন্য অনুভূত সাফল্যের হার দেখায়। প্রতিটি কমিশনিং প্রচেষ্টা সংশ্লিষ্ট রাজ্যের সাথে ইভেন্টের একটি সেট তৈরি করে। যখন এই রাজ্যগুলির যে কোনও একটিতে একটি ত্রুটি ঘটে, তখন এটি ত্রুটি ব্রেকডাউন চার্টেও ক্যাপচার করা হয়।

কমিশনিং রাজ্য:

  • COMMISSIONING_STARTED
  • ONBOARDING_PAYLOAD_GENERATED
  • LOCAL_DISCOVERY_SUCCESSFUL
  • PASE_CONNECTION_SUCCESSFUL
  • NOC_ADDED_SUCCESSFULLY
  • COMMISSIONING_COMPLETE

এই ইভেন্টগুলির একটি বিশদ সংস্করণ দেখতে, অপারেশন > লগিং > লগ এক্সপ্লোরার- এ যান। কমিশন ত্রুটির জন্য ফিল্টার করতে, আপনি ক্যোয়ারী ফিল্ডে " severity>=ERROR " এর সাথে মিলিত " clientUpdateLog " অনুসন্ধান করতে পারেন৷

ম্যাটারের জন্য একটি কমিশনিং ত্রুটি লগ এইরকম দেখায়:

{
  "insertId": "1a32ry0f6xpzzn",
  "jsonPayload": {
    "clientUpdateLog": {
      "MatterUpdate": {
        "reportedProductId": 55,
        "sessionId": "1584879052892229997",
        "reportedVendorId": 4800,
        "commissioningState": "GENERIC_COMMISSIONING_ERROR",
        "status": "GENERIC_ERROR"
      }
    }
  },
  "resource": {
    "type": "assistant_action_project",
    "labels": {
      "project_id": "<project-id>"
    }
  },
  "timestamp": "2023-03-01T07:09:55.216425297Z",
  "severity": "ERROR",
  "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs",
  "receiveTimestamp": "2023-03-01T07:09:55.216425297Z"
}

কমিশনিং স্টেট এবং একটি স্ট্যাটাস কোড ছাড়াও, একটি ত্রুটি লগে ক্যাপচার করা ত্রুটির জন্য টাইমস্ট্যাম্প রয়েছে, সেইসাথে ম্যাটার প্রোডাক্ট আইডি যা আপনাকে সনাক্ত করতে দেয় যে আপনার কোন পণ্যটি ত্রুটির কারণ হয়েছে৷ একই কমিশনিং প্রচেষ্টা থেকে উত্পন্ন লগের সেট একটি sessionId ভাগ করে।

গুগল হোম অ্যানালিটিক্স থেকে মেট্রিক্স ব্যবহার করলে আপনি একটি প্রাথমিক ধারণা দেয় যে কোন পর্যায়ে সমস্যাটি ঘটতে পারে। ডিভাইস কমিশনিং ত্রুটির মূল কারণ খুঁজে বের করতে, কখনও কখনও কমিশনিং প্রক্রিয়ায় ব্যবহৃত মোবাইল ডিভাইস দ্বারা তৈরি লগগুলি ব্যবহার করে আপনাকে অতিরিক্ত ডিবাগিং করতে হতে পারে৷ এগুলোর জন্য আপনার অ্যান্ড্রয়েড ডিবাগ ব্রিজ দরকার।

অ্যান্ড্রয়েড ডিবাগ ব্রিজ (ADB) ব্যবহার করুন

কমিশনিং সমস্যা সমাধানের আরেকটি উপায় হল Android Debug Bridge (ADB) কমান্ড লাইন টুল ব্যবহার করা। যেহেতু কমিশনিং প্রধানত মোবাইল ডিভাইস এবং ম্যাটার ডিভাইসের মধ্যে পরিচালনা করা হয়, তাই কমিশনিং চলাকালীন Google Home অ্যাপের দ্বারা তৈরি লগ অ্যাক্সেস করতে ADB টুল ব্যবহার করা সম্ভব।

প্ল্যাটফর্ম টুল ইনস্টল করুন

ADB অ্যান্ড্রয়েড SDK প্ল্যাটফর্ম টুলের অংশ হিসাবে আসে, যা Android স্টুডিওর সাথে বা sdkmanager কমান্ড লাইন টুলের মাধ্যমে ইনস্টল করা যেতে পারে।

একবার আপনি আপনার সিস্টেমে সফলভাবে প্ল্যাটফর্ম টুল ইনস্টল করার পরে, নিম্নলিখিত কমান্ডের মাধ্যমে টার্মিনাল থেকে সংস্করণ নম্বর চেক করে ADB যাচাই করুন:

$ adb -- version

এটি কোনো ত্রুটি ছাড়াই ইনস্টল করা ADB ইউটিলিটির সংস্করণ নম্বর প্রদর্শন করবে।

USB ডিবাগিং সক্ষম করুন

এরপরে আপনার অ্যান্ড্রয়েড ডিভাইসে USB ডিবাগিং সক্ষম করা।

প্রথমে আপনার ডিভাইসে বিকাশকারী বিকল্পগুলি সক্ষম করতে পদক্ষেপগুলি অনুসরণ করুন এবং তারপরে USB ডিবাগিং সক্ষম করুন

এটি ADB কে ডিভাইসে বর্তমানে চলমান অ্যাপগুলির দ্বারা তৈরি লগগুলি অ্যাক্সেস করার অনুমতি দেয়৷

ডিভাইস আইডি পুনরুদ্ধার করুন

  1. নিম্নলিখিত কমান্ড দিয়ে ADB সার্ভার চালান:
$ adb start-server
  1. ADB সার্ভারে চলমান কম্পিউটারের সাথে আপনার ফোন সংযোগ করুন৷

আপনি USB ডিবাগিং সম্পর্কে আপনার ফোনে একটি সতর্কতা বার্তা পেতে পারেন, যা জিজ্ঞাসা করে আপনি আপনার কম্পিউটারকে আপনার ফোন থেকে তথ্য অ্যাক্সেস করার অনুমতি দিতে চান কিনা:

USB ডিবাগিং প্রম্পট

  1. আপনি যদি এই সতর্কতা বার্তাটি পান তবে অনুমতি দিন ক্লিক করুন।
  2. নিম্নলিখিত কমান্ড ব্যবহার করে আপনার কম্পিউটার ADB-এর মাধ্যমে ফোন অ্যাক্সেস করতে পারে কিনা তা দেখতে টার্মিনাল থেকে একটি তালিকা ডিভাইস কমান্ড ইস্যু করুন:
$ adb devices

এটির অনুরূপ একটি প্রতিক্রিয়া দেওয়া উচিত:

List of devices attached
<phone-id>    device

আপনার <phone-id> একটি আলফানিউমেরিক স্ট্রিং যা আপনার ডিভাইসটিকে অনন্যভাবে সনাক্ত করে।

  1. পরবর্তী ধাপে ব্যবহারের জন্য <phone-id> মানটি মনে রাখবেন।

সিস্টেম তথ্য সংগ্রহ করুন

এরপরে আপনার ডিভাইসে অ্যাপ এবং সিস্টেমের সংস্করণ তথ্য পরীক্ষা করা হয়।

  • অ্যান্ড্রয়েড ওএস সংস্করণ পরীক্ষা করতে:
$ adb -s <phone-id> shell getprop ro.build.version.release
  • গুগল হোম অ্যাপ সংস্করণ পরীক্ষা করতে:
$ adb -s <phone-id> shell dumpsys package com.google.android.apps.chromecast.app | grep versionName
  • গুগল প্লে সার্ভিস সংস্করণ চেক করতে:
$ adb -s <phone-id> shell dumpsys package com.google.android.gms | grep "versionName"
  • প্লে সার্ভিসের মাধ্যমে আপনার হোম / ম্যাটার কন্ট্রোল মডিউল আছে কিনা তা পরীক্ষা করতে:
$ adb -s <phone-id> shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep "com.google.android.gms.home"

নিশ্চিত করুন যে এই রিটার্ন মানগুলি আমাদের ইকোসিস্টেম দ্বারা সমর্থিত । কমিশনিং ব্যর্থতার বিষয়ে সহায়তার জন্য যোগাযোগ করার সময়, অনুগ্রহ করে সর্বদা আপনার সমর্থন টিকিটে সিস্টেমের তথ্য অন্তর্ভুক্ত করুন।

ত্রুটি লগ সংগ্রহ করুন

এরপরে, লগ সংগ্রহের প্রক্রিয়াটি শুরু করুন, তারপরে আপনি ডিবাগ করতে চান এমন ত্রুটি ইভেন্টগুলি তৈরি করতে কমিশনিং পদক্ষেপগুলি দিয়ে যান৷

  1. আপনার <phone-id> , সেইসাথে একটি <file-name> প্রদান করে নিম্নলিখিত কমান্ডটি চালান যেখানে লগগুলি আপনার কম্পিউটারে সংরক্ষিত হবে (যেমন। debug_file.txt )।
$ adb -s <phone-id> logcat > <file-name>

এটি অবিলম্বে লগিং প্রক্রিয়া শুরু করে। প্রদত্ত নামের একটি ফাইল তৈরি করা হয় যদি এটি ইতিমধ্যেই বিদ্যমান না থাকে, এবং ফোন থেকে লগগুলি প্রতিটি ইভেন্টের পরে ফাইলে যোগ করা হয়।

আপনার ম্যাটার ডিভাইসের সাথে কমিশনিং ধাপে এগিয়ে যান।

  1. আপনি ডিবাগ করতে চান এমন ত্রুটিটি পেয়ে গেলে, চলমান টার্মিনাল উইন্ডোতে Control+C টিপে লগিং বন্ধ করুন।

আপনার লগগুলি এখন <file-name> লগিং ফাইলে সংরক্ষণ করা উচিত। যেহেতু এই প্রক্রিয়াটি ডিভাইসে ট্র্যাক করা প্রতিটি চলমান প্রক্রিয়া থেকে লগ রেকর্ড করে, তাই এই ফাইলটিতে প্রচুর লগ থাকবে। এই কারণেই আপনার প্রয়োজনীয় এন্ট্রিগুলি অনুসন্ধান করে সর্বদা এই লগগুলি ব্যবহার করা উচিত।

ত্রুটি লগ বিশ্লেষণ

কমিশনিং প্রক্রিয়াগুলি GHA-এর মধ্যে ম্যাটারকমিশনার নামে একটি সাবসিস্টেমের মাধ্যমে পরিচালিত হয়।

  1. কমিশনিং ত্রুটি বিশ্লেষণ করার সময় ব্যবহৃত প্রধান কৌশল অনুসরণ করে, নিম্নলিখিত কমান্ডের সাহায্যে MatterCommissioner সাবসিস্টেম দ্বারা উত্পন্ন ত্রুটিগুলি সন্ধান করুন:
$ grep "MatterCommissioner" <file-name>

এটি কমিশনিং প্রক্রিয়া থেকে ইভেন্টগুলি ধারণকারী একটি আউটপুট তৈরি করে।

  1. যদি আপনার ম্যাটার ডিভাইস থ্রেড ব্যবহার করে, আপনি নিম্নলিখিত কমান্ডের মাধ্যমে থ্রেড সাবসিস্টেম দ্বারা উত্পন্ন ত্রুটিগুলিও দেখতে পারেন:
$ grep -E "(ThreadNetworkManager|BorderAgentScannerImpl|ThreadBrSynchronizer)" <file-name>

আপনি ADB ডিবাগিং প্রক্রিয়া দ্বারা উত্পন্ন লগ ফাইল বিশ্লেষণ করার সাথে সাথে নির্দিষ্ট নিদর্শনগুলিও সন্ধান করুন৷ অনেক কমিশনিং ত্রুটির মধ্যে এর ত্রুটি বার্তায় " commissioning failure " স্ট্রিং অন্তর্ভুক্ত রয়েছে।

  1. নিম্নলিখিত কমান্ড সহ একটি কমিশনিং ব্যর্থতার বার্তা অনুসন্ধান করুন:
$ grep "SetupDevice" $phonelog | grep -A 20 "Commissioning failed"

4. ডিবাগ ডিভাইস নিয়ন্ত্রণ সমস্যা

ব্যবহারকারীরা একবার Google Home ইকোসিস্টেমে ম্যাটার ডিভাইস সেট আপ এবং কমিশন করলে, তারা Google Assistant ব্যবহার করে ভয়েসের মাধ্যমে কমান্ড জারি করতে পারে (উদাহরণস্বরূপ, "ওকে গুগল, আমার বসার ঘরে লাইট জ্বালিয়ে দাও") অথবা হোম অ্যাপে UI ব্যবহার করে অথবা Google Nest ডিসপ্লে ডিভাইস।

যেহেতু শেষ ডিভাইস এবং Google হাবগুলির মধ্যে নিয়ন্ত্রণের স্পেসিফিকেশন ম্যাটার দ্বারা মধ্যস্থতা করা হয়, তাই ডিভাইস নিয়ন্ত্রণের দিকে কম ত্রুটি থাকবে বলে আশা করা হচ্ছে। যাই হোক না কেন, আমরা এই ধরনের সমস্যাগুলি ডিবাগ করার জন্য আপনাকে মেট্রিক্স এবং লগ প্রদান করি।

মেট্রিক্স ব্যবহার করুন

ম্যাটার ইন্টিগ্রেশন ড্যাশবোর্ডে আপনি ডিভাইস নিয়ন্ত্রণ সংক্রান্ত বিভিন্ন মেট্রিক দেখতে পাবেন। ক্ষেত্রে আপনার ডিভাইসের কর্মক্ষমতা মূল্যায়ন করার জন্য তিনটি চার্ট গুরুত্বপূর্ণ:

সাফল্য, বিলম্বতা এবং ত্রুটি ব্রেকডাউন চার্ট

নিয়ন্ত্রণ সংক্রান্ত সমস্যাগুলির সময় আপনি সাধারণত সাফল্যের শতাংশে নিম্নমুখী এবং ত্রুটি ব্রেকডাউন চার্টে একটি আপট্রেন্ড দেখতে পান। ত্রুটির ব্রেকডাউন চার্ট আপনাকে Google Nest Hubs দ্বারা ক্যাপচার করা ত্রুটিগুলি দেখায় কেন ডিভাইস নিয়ন্ত্রণের প্রচেষ্টা ব্যর্থ হয়েছে।

লগ ব্যবহার করুন

প্রতিটি ম্যাটার ডিভাইস নিয়ন্ত্রণ সমস্যা সিস্টেমে একটি ত্রুটি লগ তৈরি করে। এই ত্রুটিগুলি " executionLog " অনুসন্ধান করে লগ এক্সপ্লোরার থেকে ফিল্টার করা যেতে পারে৷

ম্যাটার ডিভাইস নিয়ন্ত্রণ ত্রুটি লগ নিম্নলিখিত মত দেখায়:

{
  "insertId": "1a32ry0f6xpzzn",
  "jsonPayload": {
    "executionLog": {
      "executionResults": [
        {
          "executionType": "MATTER",
          "latencyMsec": "6000",
          "actionResults": [
            {
              "action": {
                "actionType": "ONOFF_OFF",
                "trait": "TRAIT_ON_OFF"
              },
              "status": {
                "externalDebugString": "No message was received before the deadline.",
                "statusType": "RESPONSE_TIMEOUT",
                "fallbackToCloud": false,
                "isSuccess": false
              },
              "device": {
                "deviceType": "OUTLET"
              }
            }
          ],
          "requestId": "1487232799486580805"
        }
      ]
    },
    "locale": "en-US"
  },
  "resource": {
    "type": "assistant_action_project",
    "labels": {
      "project_id": "<project-id>"
    }
  },
  "timestamp": "2023-03-01T15:47:27.311673018Z",
  "severity": "ERROR",
  "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs",
  "receiveTimestamp": "2023-03-01T15:47:27.311673018Z"
}

প্রতিটি ত্রুটির লগে একটি টাইমস্ট্যাম্প, ডিভাইসের ধরন এবং বৈশিষ্ট্যের পাশাপাশি statusType এ নিয়ন্ত্রণ অনুরোধের সাথে সম্পর্কিত ত্রুটি রয়েছে। অনেক নিয়ন্ত্রণ ত্রুটির মধ্যে একটি externalDebugString অন্তর্ভুক্ত থাকে, একটি ছোট ত্রুটি বার্তা যা ব্যাখ্যা করে যে ত্রুটিটি কী।

5. ডিবাগ অন্যান্য বৈশিষ্ট্য

এখন পর্যন্ত আপনি ম্যাটারের জন্য ডিভাইস কমিশনিং এবং নিয়ন্ত্রণ সংক্রান্ত সমস্যাগুলি কীভাবে পরিচালনা করবেন তা শিখেছেন। ইকোসিস্টেমের মধ্যে অন্যান্য বৈশিষ্ট্যও রয়েছে যা আপনি একটি ভাল মানের একীকরণ নিশ্চিত করতে আমাদের প্রস্তাবিত কৌশলগুলি ব্যবহার করতে পারেন।

OTA আপডেট ট্র্যাক করুন

Google Home দ্বারা জারি করা ম্যাটার ডিভাইসগুলিতে ওভার-দ্য-এয়ার (OTA) আপডেটগুলির জন্য রিলিজগুলি ট্র্যাক করতে, আমরা মেট্রিক্সের একটি সেট সরবরাহ করি যা ক্ষেত্রের মধ্যে থাকা ডিভাইসগুলির জন্য হার্ডওয়্যার এবং সফ্টওয়্যার সংস্করণগুলি দেখায়৷

একবার আপনি কনসোল থেকে একটি আপডেট ইস্যু করলে, নিম্নলিখিত মেট্রিকগুলিতে নজর রাখুন:

সফ্টওয়্যার এবং হার্ডওয়্যার ভাঙ্গন

আপনি দেখতে পাবেন যে রিলিজের পরের দিনগুলিতে, ক্ষেত্রের আরও বেশি ডিভাইস আপনার OTA সফ্টওয়্যার রিলিজের সাথে যুক্ত নতুন সফ্টওয়্যার সংস্করণ পাবে।

6. সমর্থন খোঁজা

আপনার ম্যাটার সমস্যাগুলি ডিবাগ করার জন্য Google আপনার জন্য সরঞ্জাম এবং ডকুমেন্টেশন সরবরাহ করে, কিন্তু ম্যাটার ইকোসিস্টেমটি নতুন হওয়ায় এই সংস্থানগুলি কভার করে না এমন সমস্যাগুলি থাকবে৷ এই ক্ষেত্রে, আপনি সর্বদা আমাদের বা সম্প্রদায়ের কাছে সাহায্য চাইতে পারেন।

বিকাশকারী চ্যানেলগুলিতে যান

Google-এর মধ্যে তিনটি বিকাশকারী চ্যানেল সক্রিয়ভাবে পর্যবেক্ষণ করা হয়েছে:

স্ট্যাক ওভারফ্লো, ইস্যু ট্র্যাকার, ডেভেলপার ফোরাম

যদিও এই চ্যানেলগুলির প্রতিটি একই টিম দ্বারা পর্যায়ক্রমে পর্যবেক্ষণ করা হয়, কোনটি কখন ব্যবহার করতে হবে সে সম্পর্কে কিছু মূল পার্থক্য রয়েছে।

  • স্ট্যাক ওভারফ্লো: আপনি আমাদের এবং স্মার্ট হোম ডেভেলপার সম্প্রদায়ের সাথে বাস্তবায়ন প্রশ্ন বা নির্দেশিকা খোঁজার জন্য যোগাযোগ করতে পারেন। এই চ্যানেলটি কীভাবে সমস্যাগুলি সমাধান করতে হয় বা একটি নির্দিষ্ট বৈশিষ্ট্য বাস্তবায়ন করতে হয় তা জিজ্ঞাসা করার জন্য সেরা৷
  • ইস্যু ট্র্যাকার: এটি হল অফিসিয়াল Google-চালিত ইস্যু ট্র্যাকার সিস্টেম, যেখানে বহিরাগত দর্শকরা ইকোসিস্টেমের ত্রুটিগুলি রিপোর্ট করতে পারে। এটি ফাইল সংযুক্ত করতে এবং প্রয়োজনে সংবেদনশীল তথ্য শেয়ার করার জন্য ওয়েব টুল সরবরাহ করে। ইস্যু ট্র্যাকার ব্যবহার করা ইকোসিস্টেমের সমস্যাগুলি রিপোর্ট করার জন্য বা বৈশিষ্ট্যের অনুরোধগুলি ভাগ করার জন্য সর্বোত্তম৷
  • বিকাশকারী ফোরাম: অফিসিয়াল Google সহায়তা এবং সম্প্রদায় বিশেষজ্ঞদের কাছ থেকে নির্দেশিকা পেতে, আপনি নেস্ট ডেভেলপার ফোরামের মাধ্যমে যোগাযোগ করতে পারেন। এই ফোরামটি উন্নয়নের জন্য অফিসিয়াল নির্দেশনা পাওয়ার জন্য সর্বোত্তম।

বিকাশকারী নিউজলেটারে সাইন আপ করুন

প্রশ্নগুলির জন্য বিকাশকারী চ্যানেলগুলি দেখার পাশাপাশি, আমরা একটি ত্রৈমাসিক নিউজলেটারও প্রকাশ করি যা নতুন বৈশিষ্ট্যগুলিকে হাইলাইট করে এবং Google স্মার্ট হোম ইকোসিস্টেমের অবস্থার খবর সরবরাহ করে৷

আপনি বিকাশকারী নিউজলেটার পেতে সাইন আপ ফর্ম ব্যবহার করতে পারেন.

7. অভিনন্দন

গুগল হোম

অভিনন্দন! আপনি সফলভাবে শিখেছেন কিভাবে আমরা সুপারিশকৃত টুল এবং কৌশল ব্যবহার করে ম্যাটার ইন্টিগ্রেশন ডিবাগ করতে হয়। আমরা আপনাকে Google হোমের সাথে ম্যাটার ইন্টিগ্রেশন তৈরি করার জন্য একটি ভাল সময় কামনা করি।

পরবর্তী পদক্ষেপ

নিম্নলিখিত অনুশীলনগুলি চেষ্টা করুন এবং অতিরিক্ত সংস্থানগুলি অন্বেষণ করুন:

  • সমস্যা সমাধানের জন্য বিশ্লেষণ ব্যবহার করার পাশাপাশি, আপনি যেকোনো সম্ভাব্য সমস্যার বিরুদ্ধে আপনার ইন্টিগ্রেশন পরীক্ষা করতে টেস্ট স্যুট ব্যবহার করতে পারেন।
  • একবার আপনার ইন্টিগ্রেশন বিশ্বের সাথে শেয়ার করার জন্য প্রস্তুত হয়ে গেলে, পরবর্তী ধাপ হল আপনার প্রকল্প WWGH সার্টিফাইড করা। এর জন্য আপনি সার্টিফিকেশন পৃষ্ঠায় ধাপগুলি অনুসরণ করতে পারেন।
,

1. আপনি শুরু করার আগে

ম্যাটার শেষ ব্যবহারকারীদের জন্য একটি বিজোড়, ক্রস-প্ল্যাটফর্ম ডিভাইস সেটআপ এবং নিয়ন্ত্রণ অভিজ্ঞতা প্রদান করে। এটি মূলত একাধিক ইকোসিস্টেমের উপাদানগুলির কারণে সম্ভব যা পর্দার আড়ালে একে অপরের সাথে একত্রে কাজ করে। এই ধরনের সমস্যা সমাধানের সিস্টেমগুলি প্রায়শই নতুন বিকাশকারীদের জন্য ভয়ঙ্কর হতে পারে, তাই আমরা Google Home-এর সাথে ম্যাটার ডেভেলপার হিসাবে আপনার জীবনকে আরও সহজ করার জন্য একাধিক সরঞ্জাম এবং কৌশল তৈরি করেছি৷

ম্যাটারের জন্য তিনটি প্রধান উপাদান রয়েছে যা এই কোডল্যাবে কভার করা হয়েছে। এই প্রতিটি সিস্টেমের জন্য, Google ফোন এবং হাব থেকে সংগৃহীত ডেভেলপারদের জন্য সমস্যা সমাধানের বিশ্লেষণের একটি সেট প্রদান করে:

কমিশনিং, এক্সিকিউশন, ওটিএ আপডেট

একজন ডেভেলপার হিসেবে ডিভাইস ডেভেলপমেন্ট সাইকেল জুড়ে আপনি যে সমস্যাগুলি অনুভব করেন তা প্রশমিত করতে সক্ষম হওয়া আপনার জন্য অত্যন্ত গুরুত্বপূর্ণ। একবার আপনি আপনার প্রকল্পটি চালু করলে, আপনাকে একটি সামগ্রিক পদ্ধতিতে ক্ষেত্রের ডিভাইসগুলির জন্য সমস্যার প্রবণতা নিরীক্ষণ করতে হবে এবং সফ্টওয়্যার আপডেটের মাধ্যমে সেগুলি ঠিক করতে হবে। এই কোডল্যাব কৌশলগুলিকে কভার করে যা আপনি এই উভয় উদ্দেশ্যে ব্যবহার করতে পারেন।

পূর্বশর্ত

  • একটি ওয়ার্কিং ম্যাটার প্রোজেক্ট এবং ডিভাইস সেটআপ সহ ম্যাটার গাইডের সাথে শুরু করুন সম্পূর্ণ করুন
  • আপনার একটি Android ফোন আছে যা আপনি আপনার ওয়ার্কস্টেশনের সাথে সংযোগ করতে পারেন (ADB লগের জন্য)

আপনি কি শিখবেন

  • স্কেলে ম্যাটার সমস্যাগুলি নিরীক্ষণ করতে স্মার্ট হোমের জন্য বিশ্লেষণ সরঞ্জামগুলি কীভাবে ব্যবহার করবেন।
  • ত্রুটির লগগুলি অ্যাক্সেস করে এবং তথ্য সংগ্রহ করে কীভাবে ত্রুটিগুলি ট্রাইজ করবেন।
  • সাহায্য চাইতে ম্যাটার ডকুমেন্টেশন এবং সহায়তা সংস্থান কীভাবে অ্যাক্সেস করবেন।

2. Google Home Analytics দেখুন

গুগল হোম ইকোসিস্টেমের সাথে সফল একীকরণের জন্য পারফরম্যান্স পর্যবেক্ষণ করা গুরুত্বপূর্ণ। আমরা Google ক্লাউড প্ল্যাটফর্মে স্মার্ট হোম ডেভেলপারদের মনিটরিং টুলের একটি সেট প্রদান করি। আপনি আপনার প্রকল্পের কর্মক্ষমতা একটি পরিমাপ পেতে এই সরঞ্জাম ব্যবহার করতে পারেন.

প্রকল্পের মেট্রিক্স অ্যাক্সেস করুন

  • আপনার ডেটা অ্যাক্সেস করার প্রথম ধাপ হল Google ক্লাউড কনসোলে লগ ইন করে এবং অপারেশন > মনিটরিং > ড্যাশবোর্ডে নেভিগেট করে Google Home ড্যাশবোর্ড চেক করা।

আপনার প্রকল্পে (অন্যান্য GCP পণ্য সহ) অনেকগুলি ড্যাশবোর্ড উপলব্ধ রয়েছে। স্মার্ট হোমের জন্য প্রদত্ত ড্যাশবোর্ডগুলি Google Home Analytics-এর একটি উপসর্গ সহ আসে।

Google Home Analytics ড্যাশবোর্ড

আমাদের বর্তমানে একটি সাধারণ ড্যাশবোর্ড রয়েছে যা আপনার পুরো প্রকল্পকে কভার করে, সেইসাথে নির্দিষ্ট ইন্টিগ্রেশন (ক্লাউড, লোকাল, ম্যাটার) বা ডিভাইসের ধরন (ক্যামেরা) এর জন্য ড্যাশবোর্ড। এই ড্যাশবোর্ডগুলিতে শুধুমাত্র ডেটা থাকে যদি আপনার কাছে সংশ্লিষ্ট ধরনের একটি ইন্টিগ্রেশন থাকে, সাথে একটি কার্যকরী প্রকল্পের অনুরোধ পূরণ করে।

আপনি যখন এই ড্যাশবোর্ডগুলির মধ্যে একটি খুলবেন, তখন আপনি নিম্নলিখিতগুলির মতো চার্টের একটি সিরিজ দেখতে পাবেন:

সাফল্যের হার, লেটেন্সি এবং ডিভাইসের প্রকার ব্রেকডাউন

Google Home ড্যাশবোর্ডে বিভিন্ন চার্ট রয়েছে যা আপনার প্রকল্পের সাথে যুক্ত ইভেন্টের বিবরণ দেখায়। প্রতিটি ইন্টিগ্রেশন ড্যাশবোর্ডের সাথে, আপনি একটি চার্ট দেখতে পাচ্ছেন যা আপনার প্রকল্পের দ্বারা পরিচালিত মোট অনুরোধের সংখ্যা দেখায়, সেই ইন্টিগ্রেশন প্রকারের সাফল্যের হার দেখানো একটি চার্ট এবং ডিভাইসের ধরন এবং এর সাথে জড়িত বৈশিষ্ট্যগুলি দেখায়। উপরন্তু, ম্যাটারের সাথে আপনার কাছে চার্টের একটি সেট রয়েছে যা কমিশনিং সাফল্যের পাশাপাশি আপনার ডিভাইসে আপডেটের রোলআউটগুলি ট্র্যাক করে৷

মনে রাখবেন যে Google হোম অ্যানালিটিক্স ড্যাশবোর্ডে আপনি যে চার্টগুলি দেখেন তার সাথে ডিফল্ট ভিউটি শুধুমাত্র একটি ভিউ যা আমরা স্মার্ট হোম মেট্রিক্স ডেটা ব্যবহার করে আপনার প্রকল্পের জন্য তৈরি করেছি। আপনি একই অন্তর্নিহিত মেট্রিক্স থেকে আপনার নিজস্ব চার্ট তৈরি করতে এবং আপনার কাস্টম ড্যাশবোর্ডে সেভ করতে মেট্রিক্স এক্সপ্লোরার ব্যবহার করতে পারেন।

অ্যাক্সেস ত্রুটি লগ

লগ এক্সপ্লোরার হল একটি প্রকল্পে তৈরি ইভেন্ট লগগুলির সাথে কাজ করার জন্য সরঞ্জামগুলির একটি সংগ্রহ৷ এটি Google ক্লাউড কনসোলে অপারেশনস > লগিং > লগ এক্সপ্লোরার- এ নেভিগেট করে অ্যাক্সেসযোগ্য।

একবার আপনি লগ এক্সপ্লোরার খুললে আপনি একটি ভিউ পাবেন যা নিচের মত দেখায়:

লগ এক্সপ্লোরার

এক্সপ্লোরার উইন্ডোতে লগগুলি দেখতে, ফিল্টার, ক্যোয়ারী এবং বিশ্লেষণ করার জন্য বিভিন্ন সরঞ্জাম রয়েছে। ডিফল্টরূপে, এই ভিউ আপনার প্রোজেক্টের জন্য উপলব্ধ সমস্ত সিস্টেম থেকে তৈরি করা লগগুলি দেখায়, সেই লগগুলি সহ যা স্মার্ট হোমের বাইরে তৈরি করা হয়৷ এই কারণেই আপনি যে ইভেন্টগুলি ডিবাগ করতে চান তার জন্য ফিল্টার করে এই লগগুলি ব্যবহার করা গুরুত্বপূর্ণ৷ আমরা ডিবাগিং বিভাগে এটি সম্পর্কে আরও কথা বলব।

3. ডিবাগ কমিশনিং সমস্যা

প্রথম ধরনের মেট্রিক যা আমরা দেখব তা হল ম্যাটার কমিশনিং ইভেন্টগুলি। কমিশনিং বলতে ব্যবহারকারীর জন্য প্রথমবার একটি ম্যাটার ডিভাইস সেট আপ করার জন্য প্রয়োজনীয় ধাপগুলির সেট বোঝায়।

ডিভাইস কমিশনিংয়ের সময়, ম্যাটার ডিভাইস, গুগল হোম অ্যাপ এবং ম্যাটার ফ্যাব্রিকের মধ্যে মিথস্ক্রিয়াগুলির একটি সেট সঞ্চালিত হয়। নিম্নলিখিত চিত্রটি এই ঘটনাগুলির কিছু প্রদর্শন করে:

বিষয় কমিশনিং ঘটনা

আপনি এই প্রতিটি ধাপ সম্পর্কে আরও জানতে ম্যাটার প্রাইমার থেকে কমিশনিং পৃষ্ঠাটি পরীক্ষা করতে পারেন। এই বিভাগে আমরা কমিশনিং সমস্যাগুলি ডিবাগ করার সরঞ্জাম এবং কৌশলগুলি কভার করব৷

Google Home Analytics ব্যবহার করুন

ইভেন্টগুলি ট্র্যাক করে এবং কোন পর্যায়ে ত্রুটিগুলি ঘটতে পারে তা বোঝার মাধ্যমে কমিশনিং সমস্যাগুলি তদন্ত করার জন্য আমরা আপনার জন্য মেট্রিক্সের একটি সেট তৈরি করেছি৷ আপনি এটি ম্যাটার ইন্টিগ্রেশন ড্যাশবোর্ডে খুঁজে পেতে পারেন, যেমনটি আমরা পূর্ববর্তী বিভাগে কভার করেছি।

এই ড্যাশবোর্ডের চার্টগুলি ডিভাইস কমিশনিং সম্পর্কিত ডেটা প্রদান করে:

ডিভাইস কমিশনিং মেট্রিক্স

ডিভাইস গণনা চার্ট একটি নির্দিষ্ট তারিখে ব্যবহারকারীদের দ্বারা কমিশনিং প্রচেষ্টার সংখ্যা দেখায়। সাফল্যের হার Google-এর প্রান্তে এই ইভেন্টগুলির জন্য অনুভূত সাফল্যের হার দেখায়। প্রতিটি কমিশনিং প্রচেষ্টা সংশ্লিষ্ট রাজ্যের সাথে ইভেন্টের একটি সেট তৈরি করে। যখন এই রাজ্যগুলির যে কোনও একটিতে একটি ত্রুটি ঘটে, তখন এটি ত্রুটি ব্রেকডাউন চার্টেও ক্যাপচার করা হয়।

কমিশনিং রাজ্য:

  • COMMISSIONING_STARTED
  • ONBOARDING_PAYLOAD_GENERATED
  • LOCAL_DISCOVERY_SUCCESSFUL
  • PASE_CONNECTION_SUCCESSFUL
  • NOC_ADDED_SUCCESSFULLY
  • COMMISSIONING_COMPLETE

এই ইভেন্টগুলির একটি বিশদ সংস্করণ দেখতে, অপারেশন > লগিং > লগ এক্সপ্লোরার- এ যান। কমিশন ত্রুটির জন্য ফিল্টার করতে, আপনি ক্যোয়ারী ফিল্ডে " severity>=ERROR " এর সাথে মিলিত " clientUpdateLog " অনুসন্ধান করতে পারেন৷

ম্যাটারের জন্য একটি কমিশনিং ত্রুটি লগ এইরকম দেখায়:

{
  "insertId": "1a32ry0f6xpzzn",
  "jsonPayload": {
    "clientUpdateLog": {
      "MatterUpdate": {
        "reportedProductId": 55,
        "sessionId": "1584879052892229997",
        "reportedVendorId": 4800,
        "commissioningState": "GENERIC_COMMISSIONING_ERROR",
        "status": "GENERIC_ERROR"
      }
    }
  },
  "resource": {
    "type": "assistant_action_project",
    "labels": {
      "project_id": "<project-id>"
    }
  },
  "timestamp": "2023-03-01T07:09:55.216425297Z",
  "severity": "ERROR",
  "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs",
  "receiveTimestamp": "2023-03-01T07:09:55.216425297Z"
}

কমিশনিং স্টেট এবং একটি স্ট্যাটাস কোড ছাড়াও, একটি ত্রুটি লগে ক্যাপচার করা ত্রুটির জন্য টাইমস্ট্যাম্প রয়েছে, সেইসাথে ম্যাটার প্রোডাক্ট আইডি যা আপনাকে সনাক্ত করতে দেয় যে আপনার কোন পণ্যটি ত্রুটির কারণ হয়েছে৷ একই কমিশনিং প্রচেষ্টা থেকে উত্পন্ন লগের সেট একটি sessionId ভাগ করে।

গুগল হোম অ্যানালিটিক্স থেকে মেট্রিক্স ব্যবহার করলে আপনি একটি প্রাথমিক ধারণা দেয় যে কোন পর্যায়ে সমস্যাটি ঘটতে পারে। ডিভাইস কমিশনিং ত্রুটির মূল কারণ খুঁজে বের করতে, কখনও কখনও কমিশনিং প্রক্রিয়ায় ব্যবহৃত মোবাইল ডিভাইস দ্বারা তৈরি লগগুলি ব্যবহার করে আপনাকে অতিরিক্ত ডিবাগিং করতে হতে পারে৷ এগুলোর জন্য আপনার অ্যান্ড্রয়েড ডিবাগ ব্রিজ দরকার।

অ্যান্ড্রয়েড ডিবাগ ব্রিজ (ADB) ব্যবহার করুন

কমিশনিং সমস্যা সমাধানের আরেকটি উপায় হল Android Debug Bridge (ADB) কমান্ড লাইন টুল ব্যবহার করা। যেহেতু কমিশনিং প্রধানত মোবাইল ডিভাইস এবং ম্যাটার ডিভাইসের মধ্যে পরিচালনা করা হয়, তাই কমিশনিং চলাকালীন Google Home অ্যাপের দ্বারা তৈরি লগ অ্যাক্সেস করতে ADB টুল ব্যবহার করা সম্ভব।

প্ল্যাটফর্ম টুল ইনস্টল করুন

ADB অ্যান্ড্রয়েড SDK প্ল্যাটফর্ম টুলের অংশ হিসাবে আসে, যা Android স্টুডিওর সাথে বা sdkmanager কমান্ড লাইন টুলের মাধ্যমে ইনস্টল করা যেতে পারে।

একবার আপনি আপনার সিস্টেমে সফলভাবে প্ল্যাটফর্ম টুল ইনস্টল করার পরে, নিম্নলিখিত কমান্ডের মাধ্যমে টার্মিনাল থেকে সংস্করণ নম্বর চেক করে ADB যাচাই করুন:

$ adb -- version

এটি কোনো ত্রুটি ছাড়াই ইনস্টল করা ADB ইউটিলিটির সংস্করণ নম্বর প্রদর্শন করবে।

USB ডিবাগিং সক্ষম করুন

এরপরে আপনার অ্যান্ড্রয়েড ডিভাইসে USB ডিবাগিং সক্ষম করা।

প্রথমে আপনার ডিভাইসে বিকাশকারী বিকল্পগুলি সক্ষম করতে পদক্ষেপগুলি অনুসরণ করুন এবং তারপরে USB ডিবাগিং সক্ষম করুন

এটি ADB কে ডিভাইসে বর্তমানে চলমান অ্যাপগুলির দ্বারা তৈরি লগগুলি অ্যাক্সেস করার অনুমতি দেয়৷

ডিভাইস আইডি পুনরুদ্ধার করুন

  1. নিম্নলিখিত কমান্ড দিয়ে ADB সার্ভার চালান:
$ adb start-server
  1. ADB সার্ভারে চলমান কম্পিউটারের সাথে আপনার ফোন সংযোগ করুন৷

আপনি USB ডিবাগিং সম্পর্কে আপনার ফোনে একটি সতর্কতা বার্তা পেতে পারেন, যা জিজ্ঞাসা করে আপনি আপনার কম্পিউটারকে আপনার ফোন থেকে তথ্য অ্যাক্সেস করার অনুমতি দিতে চান কিনা:

USB ডিবাগিং প্রম্পট

  1. আপনি যদি এই সতর্কতা বার্তাটি পান তবে অনুমতি দিন ক্লিক করুন।
  2. নিম্নলিখিত কমান্ড ব্যবহার করে আপনার কম্পিউটার ADB-এর মাধ্যমে ফোন অ্যাক্সেস করতে পারে কিনা তা দেখতে টার্মিনাল থেকে একটি তালিকা ডিভাইস কমান্ড ইস্যু করুন:
$ adb devices

এটির অনুরূপ একটি প্রতিক্রিয়া দেওয়া উচিত:

List of devices attached
<phone-id>    device

আপনার <phone-id> একটি আলফানিউমেরিক স্ট্রিং যা আপনার ডিভাইসটিকে অনন্যভাবে সনাক্ত করে।

  1. পরবর্তী ধাপে ব্যবহারের জন্য <phone-id> মানটি মনে রাখবেন।

সিস্টেম তথ্য সংগ্রহ করুন

এরপরে আপনার ডিভাইসে অ্যাপ এবং সিস্টেমের সংস্করণ তথ্য পরীক্ষা করা হয়।

  • অ্যান্ড্রয়েড ওএস সংস্করণ পরীক্ষা করতে:
$ adb -s <phone-id> shell getprop ro.build.version.release
  • গুগল হোম অ্যাপ সংস্করণ পরীক্ষা করতে:
$ adb -s <phone-id> shell dumpsys package com.google.android.apps.chromecast.app | grep versionName
  • গুগল প্লে সার্ভিস সংস্করণ চেক করতে:
$ adb -s <phone-id> shell dumpsys package com.google.android.gms | grep "versionName"
  • প্লে সার্ভিসের মাধ্যমে আপনার হোম / ম্যাটার কন্ট্রোল মডিউল আছে কিনা তা পরীক্ষা করতে:
$ adb -s <phone-id> shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep "com.google.android.gms.home"

নিশ্চিত করুন যে এই রিটার্ন মানগুলি আমাদের ইকোসিস্টেম দ্বারা সমর্থিত । কমিশনিং ব্যর্থতার বিষয়ে সহায়তার জন্য যোগাযোগ করার সময়, অনুগ্রহ করে সর্বদা আপনার সমর্থন টিকিটে সিস্টেমের তথ্য অন্তর্ভুক্ত করুন।

ত্রুটি লগ সংগ্রহ করুন

এরপরে, লগ সংগ্রহের প্রক্রিয়াটি শুরু করুন, তারপরে আপনি ডিবাগ করতে চান এমন ত্রুটি ইভেন্টগুলি তৈরি করতে কমিশনিং পদক্ষেপগুলি দিয়ে যান৷

  1. আপনার <phone-id> , সেইসাথে একটি <file-name> প্রদান করে নিম্নলিখিত কমান্ডটি চালান যেখানে লগগুলি আপনার কম্পিউটারে সংরক্ষিত হবে (যেমন। debug_file.txt )।
$ adb -s <phone-id> logcat > <file-name>

এটি অবিলম্বে লগিং প্রক্রিয়া শুরু করে। প্রদত্ত নামের একটি ফাইল তৈরি করা হয় যদি এটি ইতিমধ্যেই বিদ্যমান না থাকে, এবং ফোন থেকে লগগুলি প্রতিটি ইভেন্টের পরে ফাইলে যোগ করা হয়।

আপনার ম্যাটার ডিভাইসের সাথে কমিশনিং ধাপে এগিয়ে যান।

  1. আপনি ডিবাগ করতে চান এমন ত্রুটিটি পেয়ে গেলে, চলমান টার্মিনাল উইন্ডোতে Control+C টিপে লগিং বন্ধ করুন।

আপনার লগগুলি এখন <file-name> লগিং ফাইলে সংরক্ষণ করা উচিত। যেহেতু এই প্রক্রিয়াটি ডিভাইসে ট্র্যাক করা প্রতিটি চলমান প্রক্রিয়া থেকে লগ রেকর্ড করে, তাই এই ফাইলটিতে প্রচুর লগ থাকবে। এই কারণেই আপনার প্রয়োজনীয় এন্ট্রিগুলি অনুসন্ধান করে সর্বদা এই লগগুলি ব্যবহার করা উচিত।

ত্রুটি লগ বিশ্লেষণ

কমিশনিং প্রক্রিয়াগুলি GHA-এর মধ্যে ম্যাটারকমিশনার নামে একটি সাবসিস্টেমের মাধ্যমে পরিচালিত হয়।

  1. কমিশনিং ত্রুটি বিশ্লেষণ করার সময় ব্যবহৃত প্রধান কৌশল অনুসরণ করে, নিম্নলিখিত কমান্ডের সাহায্যে MatterCommissioner সাবসিস্টেম দ্বারা উত্পন্ন ত্রুটিগুলি সন্ধান করুন:
$ grep "MatterCommissioner" <file-name>

এটি কমিশনিং প্রক্রিয়া থেকে ইভেন্টগুলি ধারণকারী একটি আউটপুট তৈরি করে।

  1. যদি আপনার ম্যাটার ডিভাইস থ্রেড ব্যবহার করে, আপনি নিম্নলিখিত কমান্ডের মাধ্যমে থ্রেড সাবসিস্টেম দ্বারা উত্পন্ন ত্রুটিগুলিও দেখতে পারেন:
$ grep -E "(ThreadNetworkManager|BorderAgentScannerImpl|ThreadBrSynchronizer)" <file-name>

আপনি ADB ডিবাগিং প্রক্রিয়া দ্বারা উত্পন্ন লগ ফাইল বিশ্লেষণ করার সাথে সাথে নির্দিষ্ট নিদর্শনগুলিও সন্ধান করুন৷ অনেক কমিশনিং ত্রুটির মধ্যে এর ত্রুটি বার্তায় " commissioning failure " স্ট্রিং অন্তর্ভুক্ত রয়েছে।

  1. নিম্নলিখিত কমান্ড সহ একটি কমিশনিং ব্যর্থতার বার্তা অনুসন্ধান করুন:
$ grep "SetupDevice" $phonelog | grep -A 20 "Commissioning failed"

4. ডিবাগ ডিভাইস নিয়ন্ত্রণ সমস্যা

ব্যবহারকারীরা একবার Google Home ইকোসিস্টেমে ম্যাটার ডিভাইস সেট আপ এবং কমিশন করলে, তারা Google Assistant ব্যবহার করে ভয়েসের মাধ্যমে কমান্ড জারি করতে পারে (উদাহরণস্বরূপ, "ওকে গুগল, আমার বসার ঘরে লাইট জ্বালিয়ে দাও") অথবা হোম অ্যাপে UI ব্যবহার করে অথবা Google Nest ডিসপ্লে ডিভাইস।

যেহেতু শেষ ডিভাইস এবং Google হাবগুলির মধ্যে নিয়ন্ত্রণের স্পেসিফিকেশন ম্যাটার দ্বারা মধ্যস্থতা করা হয়, তাই ডিভাইস নিয়ন্ত্রণের দিকে কম ত্রুটি থাকবে বলে আশা করা হচ্ছে। যাই হোক না কেন, আমরা এই ধরনের সমস্যাগুলি ডিবাগ করার জন্য আপনাকে মেট্রিক্স এবং লগ প্রদান করি।

মেট্রিক্স ব্যবহার করুন

ম্যাটার ইন্টিগ্রেশন ড্যাশবোর্ডে আপনি ডিভাইস নিয়ন্ত্রণ সংক্রান্ত বিভিন্ন মেট্রিক দেখতে পাবেন। ক্ষেত্রে আপনার ডিভাইসের কর্মক্ষমতা মূল্যায়ন করার জন্য তিনটি চার্ট গুরুত্বপূর্ণ:

সাফল্য, বিলম্বতা এবং ত্রুটি ব্রেকডাউন চার্ট

নিয়ন্ত্রণ সংক্রান্ত সমস্যাগুলির সময় আপনি সাধারণত সাফল্যের শতাংশে নিম্নমুখী এবং ত্রুটি ব্রেকডাউন চার্টে একটি আপট্রেন্ড দেখতে পান। ত্রুটির ব্রেকডাউন চার্ট আপনাকে Google Nest Hubs দ্বারা ক্যাপচার করা ত্রুটিগুলি দেখায় কেন ডিভাইস নিয়ন্ত্রণের প্রচেষ্টা ব্যর্থ হয়েছে।

লগ ব্যবহার করুন

প্রতিটি ম্যাটার ডিভাইস নিয়ন্ত্রণ সমস্যা সিস্টেমে একটি ত্রুটি লগ তৈরি করে। এই ত্রুটিগুলি " executionLog " অনুসন্ধান করে লগ এক্সপ্লোরার থেকে ফিল্টার করা যেতে পারে৷

ম্যাটার ডিভাইস নিয়ন্ত্রণ ত্রুটি লগ নিম্নলিখিত মত দেখায়:

{
  "insertId": "1a32ry0f6xpzzn",
  "jsonPayload": {
    "executionLog": {
      "executionResults": [
        {
          "executionType": "MATTER",
          "latencyMsec": "6000",
          "actionResults": [
            {
              "action": {
                "actionType": "ONOFF_OFF",
                "trait": "TRAIT_ON_OFF"
              },
              "status": {
                "externalDebugString": "No message was received before the deadline.",
                "statusType": "RESPONSE_TIMEOUT",
                "fallbackToCloud": false,
                "isSuccess": false
              },
              "device": {
                "deviceType": "OUTLET"
              }
            }
          ],
          "requestId": "1487232799486580805"
        }
      ]
    },
    "locale": "en-US"
  },
  "resource": {
    "type": "assistant_action_project",
    "labels": {
      "project_id": "<project-id>"
    }
  },
  "timestamp": "2023-03-01T15:47:27.311673018Z",
  "severity": "ERROR",
  "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs",
  "receiveTimestamp": "2023-03-01T15:47:27.311673018Z"
}

প্রতিটি ত্রুটির লগে একটি টাইমস্ট্যাম্প, ডিভাইসের ধরন এবং বৈশিষ্ট্যের পাশাপাশি statusType এ নিয়ন্ত্রণ অনুরোধের সাথে সম্পর্কিত ত্রুটি রয়েছে। অনেক নিয়ন্ত্রণ ত্রুটির মধ্যে একটি externalDebugString অন্তর্ভুক্ত থাকে, একটি ছোট ত্রুটি বার্তা যা ব্যাখ্যা করে যে ত্রুটিটি কী।

5. ডিবাগ অন্যান্য বৈশিষ্ট্য

এখন পর্যন্ত আপনি ম্যাটারের জন্য ডিভাইস কমিশনিং এবং নিয়ন্ত্রণ সংক্রান্ত সমস্যাগুলি কীভাবে পরিচালনা করবেন তা শিখেছেন। ইকোসিস্টেমের মধ্যে অন্যান্য বৈশিষ্ট্যও রয়েছে যা আপনি একটি ভাল মানের একীকরণ নিশ্চিত করতে আমাদের প্রস্তাবিত কৌশলগুলি ব্যবহার করতে পারেন।

OTA আপডেট ট্র্যাক করুন

Google Home দ্বারা জারি করা ম্যাটার ডিভাইসগুলিতে ওভার-দ্য-এয়ার (OTA) আপডেটগুলির জন্য রিলিজগুলি ট্র্যাক করতে, আমরা মেট্রিক্সের একটি সেট সরবরাহ করি যা ক্ষেত্রের মধ্যে থাকা ডিভাইসগুলির জন্য হার্ডওয়্যার এবং সফ্টওয়্যার সংস্করণগুলি দেখায়৷

একবার আপনি কনসোল থেকে একটি আপডেট ইস্যু করলে, নিম্নলিখিত মেট্রিকগুলিতে নজর রাখুন:

সফ্টওয়্যার এবং হার্ডওয়্যার ভাঙ্গন

আপনি দেখতে পাবেন যে রিলিজের পরের দিনগুলিতে, ক্ষেত্রের আরও বেশি ডিভাইস আপনার OTA সফ্টওয়্যার রিলিজের সাথে যুক্ত নতুন সফ্টওয়্যার সংস্করণ পাবে।

6. সমর্থন খোঁজা

আপনার ম্যাটার সমস্যাগুলি ডিবাগ করার জন্য Google আপনার জন্য সরঞ্জাম এবং ডকুমেন্টেশন সরবরাহ করে, কিন্তু ম্যাটার ইকোসিস্টেমটি নতুন হওয়ায় এই সংস্থানগুলি কভার করে না এমন সমস্যাগুলি থাকবে৷ এই ক্ষেত্রে, আপনি সর্বদা আমাদের বা সম্প্রদায়ের কাছে সাহায্য চাইতে পারেন।

বিকাশকারী চ্যানেলগুলিতে যান

Google-এর মধ্যে তিনটি বিকাশকারী চ্যানেল সক্রিয়ভাবে পর্যবেক্ষণ করা হয়েছে:

স্ট্যাক ওভারফ্লো, ইস্যু ট্র্যাকার, ডেভেলপার ফোরাম

যদিও এই চ্যানেলগুলির প্রতিটি একই টিম দ্বারা পর্যায়ক্রমে পর্যবেক্ষণ করা হয়, কোনটি কখন ব্যবহার করতে হবে সে সম্পর্কে কিছু মূল পার্থক্য রয়েছে।

  • স্ট্যাক ওভারফ্লো: আপনি আমাদের এবং স্মার্ট হোম ডেভেলপার সম্প্রদায়ের সাথে বাস্তবায়ন প্রশ্ন বা নির্দেশিকা খোঁজার জন্য যোগাযোগ করতে পারেন। এই চ্যানেলটি কীভাবে সমস্যাগুলি সমাধান করতে হয় বা একটি নির্দিষ্ট বৈশিষ্ট্য বাস্তবায়ন করতে হয় তা জিজ্ঞাসা করার জন্য সেরা৷
  • ইস্যু ট্র্যাকার: এটি হল অফিসিয়াল Google-চালিত ইস্যু ট্র্যাকার সিস্টেম, যেখানে বহিরাগত দর্শকরা ইকোসিস্টেমের ত্রুটিগুলি রিপোর্ট করতে পারে। এটি ফাইল সংযুক্ত করতে এবং প্রয়োজনে সংবেদনশীল তথ্য শেয়ার করার জন্য ওয়েব টুল সরবরাহ করে। ইস্যু ট্র্যাকার ব্যবহার করা ইকোসিস্টেমের সমস্যাগুলি রিপোর্ট করার জন্য বা বৈশিষ্ট্যের অনুরোধগুলি ভাগ করার জন্য সর্বোত্তম৷
  • বিকাশকারী ফোরাম: অফিসিয়াল Google সহায়তা এবং সম্প্রদায় বিশেষজ্ঞদের কাছ থেকে নির্দেশিকা পেতে, আপনি নেস্ট ডেভেলপার ফোরামের মাধ্যমে যোগাযোগ করতে পারেন। এই ফোরামটি উন্নয়নের জন্য অফিসিয়াল নির্দেশনা পাওয়ার জন্য সর্বোত্তম।

বিকাশকারী নিউজলেটারে সাইন আপ করুন

প্রশ্নগুলির জন্য বিকাশকারী চ্যানেলগুলি দেখার পাশাপাশি, আমরা একটি ত্রৈমাসিক নিউজলেটারও প্রকাশ করি যা নতুন বৈশিষ্ট্যগুলিকে হাইলাইট করে এবং Google স্মার্ট হোম ইকোসিস্টেমের অবস্থার খবর সরবরাহ করে৷

আপনি বিকাশকারী নিউজলেটার পেতে সাইন আপ ফর্ম ব্যবহার করতে পারেন.

7. অভিনন্দন

গুগল হোম

অভিনন্দন! আপনি সফলভাবে শিখেছেন কিভাবে আমরা সুপারিশকৃত টুল এবং কৌশল ব্যবহার করে ম্যাটার ইন্টিগ্রেশন ডিবাগ করতে হয়। আমরা আপনাকে Google হোমের সাথে ম্যাটার ইন্টিগ্রেশন তৈরি করার জন্য একটি ভাল সময় কামনা করি।

পরবর্তী পদক্ষেপ

নিম্নলিখিত অনুশীলনগুলি চেষ্টা করুন এবং অতিরিক্ত সংস্থানগুলি অন্বেষণ করুন:

  • সমস্যা সমাধানের জন্য বিশ্লেষণ ব্যবহার করার পাশাপাশি, আপনি যেকোনো সম্ভাব্য সমস্যার বিরুদ্ধে আপনার ইন্টিগ্রেশন পরীক্ষা করতে টেস্ট স্যুট ব্যবহার করতে পারেন।
  • একবার আপনার ইন্টিগ্রেশন বিশ্বের সাথে শেয়ার করার জন্য প্রস্তুত হয়ে গেলে, পরবর্তী ধাপ হল আপনার প্রকল্প WWGH সার্টিফাইড করা। এর জন্য আপনি সার্টিফিকেশন পৃষ্ঠায় ধাপগুলি অনুসরণ করতে পারেন।