১. শুরু করার আগে
ম্যাটার ব্যবহারকারীদের জন্য একটি নির্বিঘ্ন, ক্রস-প্ল্যাটফর্ম ডিভাইস সেটআপ এবং নিয়ন্ত্রণের অভিজ্ঞতা প্রদান করে। এটি মূলত সম্ভব হয়েছে এর একাধিক ইকোসিস্টেম উপাদানের কারণে, যা নেপথ্যে একে অপরের সাথে সমন্বয় করে কাজ করে। এই ধরনের সিস্টেমের সমস্যা সমাধান করা প্রায়শই নতুন ডেভেলপারদের জন্য কঠিন হতে পারে, তাই গুগল হোমের সাথে একজন ম্যাটার ডেভেলপার হিসেবে আপনার কাজকে সহজ করার জন্য আমরা বেশ কিছু টুল এবং কৌশল তৈরি করেছি।
ম্যাটারের তিনটি প্রধান উপাদান রয়েছে যা এই কোডল্যাবে আলোচনা করা হয়েছে। এই প্রতিটি সিস্টেমের জন্য, গুগল ডেভেলপারদের উদ্দেশ্যে ফোন এবং হাব থেকে সংগৃহীত এক সেট ট্রাবলশুটিং অ্যানালিটিক্স সরবরাহ করে থাকে:

একজন ডেভেলপার হিসেবে, ডিভাইস ডেভেলপমেন্ট চক্র জুড়ে আপনি যে সমস্যাগুলোর সম্মুখীন হন, সেগুলো সমাধান করতে পারা আপনার জন্য অত্যন্ত গুরুত্বপূর্ণ। আপনার প্রজেক্ট চালু করার পর, আপনাকে সামগ্রিকভাবে ফিল্ডে থাকা ডিভাইসগুলোর সমস্যার প্রবণতা পর্যবেক্ষণ করতে হবে এবং সফটওয়্যার আপডেটের মাধ্যমে সেগুলো সমাধান করতে হবে। এই কোডল্যাবটিতে এমন কিছু কৌশল আলোচনা করা হয়েছে যা আপনি এই উভয় উদ্দেশ্যেই ব্যবহার করতে পারেন।
পূর্বশর্ত
- একটি কার্যকরী ম্যাটার প্রজেক্ট এবং ডিভাইস সেটআপ সহ ম্যাটার দিয়ে শুরু করার সম্পূর্ণ নির্দেশিকা।
- আপনার এমন একটি অ্যান্ড্রয়েড ফোন থাকতে হবে যা আপনি আপনার ওয়ার্কস্টেশনের সাথে সংযোগ করতে পারেন (ADB লগের জন্য)।
আপনি যা শিখবেন
- স্মার্ট হোমের জন্য অ্যানালিটিক্স টুল ব্যবহার করে কীভাবে বৃহৎ পরিসরে ম্যাটার সংক্রান্ত সমস্যাগুলো পর্যবেক্ষণ করা যায়।
- এরর লগ অ্যাক্সেস করে এবং তথ্য সংগ্রহ করে কীভাবে ত্রুটিগুলো বাছাই ও শ্রেণীবদ্ধ করা যায়।
- সাহায্য চাইতে ম্যাটার ডকুমেন্টেশন এবং সাপোর্ট রিসোর্স কীভাবে অ্যাক্সেস করবেন।
২. গুগল হোম অ্যানালিটিক্স দেখুন
গুগল হোম ইকোসিস্টেমের সাথে সফলভাবে সংযুক্ত হওয়ার জন্য পারফরম্যান্স পর্যবেক্ষণ করা অত্যন্ত গুরুত্বপূর্ণ। আমরা গুগল ক্লাউড প্ল্যাটফর্মে স্মার্ট হোম ডেভেলপারদের জন্য একগুচ্ছ পর্যবেক্ষণ সরঞ্জাম সরবরাহ করি। আপনার প্রকল্পের পারফরম্যান্স পরিমাপ করার জন্য আপনি এই সরঞ্জামগুলি ব্যবহার করতে পারেন।
প্রকল্পের মেট্রিক্সে অ্যাক্সেস করুন
- আপনার ডেটা অ্যাক্সেস করার প্রথম ধাপ হলো Google Cloud Console- এ লগ ইন করে Operations > Monitoring > Dashboards- এ গিয়ে Google Home ড্যাশবোর্ডগুলি চেক করা।
আপনার প্রোজেক্টের জন্য বেশ কিছু ড্যাশবোর্ড উপলব্ধ আছে (অন্যান্য GCP প্রোডাক্ট সহ)। স্মার্ট হোমের জন্য প্রদত্ত ড্যাশবোর্ডগুলোতে ‘Google Home Analytics’ প্রিফিক্সটি থাকে।

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

গুগল হোম ড্যাশবোর্ডগুলিতে বিভিন্ন চার্ট থাকে যা আপনার প্রোজেক্টের সাথে সম্পর্কিত ইভেন্টগুলির বিশদ বিবরণ দেখায়। প্রতিটি ইন্টিগ্রেশন ড্যাশবোর্ডে, আপনি আপনার প্রোজেক্ট দ্বারা পরিচালিত মোট অনুরোধের সংখ্যা দেখানোর জন্য একটি চার্ট, সেই ইন্টিগ্রেশন ধরনের সফলতার হার দেখানোর জন্য একটি চার্ট, এবং সংশ্লিষ্ট ডিভাইসের ধরন ও বৈশিষ্ট্যগুলি দেখানোর জন্য বেশ কয়েকটি চার্ট দেখতে পাবেন। এছাড়াও, ম্যাটার-এর সাথে আপনার কাছে এক সেট চার্ট রয়েছে যা কমিশনিং-এর সাফল্য এবং আপনার ডিভাইসগুলিতে আপডেট রোলআউট ট্র্যাক করে।
উল্লেখ্য যে, গুগল হোম অ্যানালিটিক্স ড্যাশবোর্ডে আপনি চার্টসহ যে ডিফল্ট ভিউটি দেখেন, সেটি স্মার্ট হোম মেট্রিক্স ডেটা ব্যবহার করে আপনার প্রোজেক্টের জন্য আমাদের তৈরি করা একটি ভিউ মাত্র। আপনি মেট্রিক্স এক্সপ্লোরার ব্যবহার করে একই মূল মেট্রিক্সগুলো থেকে নিজের চার্ট তৈরি করতে এবং সেগুলোকে আপনার কাস্টম ড্যাশবোর্ডে সংরক্ষণ করতে পারেন।
অ্যাক্সেস ত্রুটি লগ
লগস এক্সপ্লোরার হলো একটি প্রোজেক্টে তৈরি হওয়া ইভেন্ট লগ নিয়ে কাজ করার জন্য বিভিন্ন টুলের একটি সংগ্রহ। গুগল ক্লাউড কনসোলে Operations > Logging > Logs Explorer- এ গিয়ে এটি অ্যাক্সেস করা যায়।
একবার আপনি লগস এক্সপ্লোরার খুললে নিম্নলিখিতের মতো একটি দৃশ্য দেখতে পাবেন:

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

এই প্রতিটি ধাপ সম্পর্কে আরও জানতে আপনি ম্যাটার প্রাইমার-এর কমিশনিং পৃষ্ঠাটি দেখতে পারেন। এই অংশে আমরা কমিশনিং সংক্রান্ত সমস্যা ডিবাগ করার সরঞ্জাম এবং কৌশল নিয়ে আলোচনা করব।
গুগল হোম অ্যানালিটিক্স ব্যবহার করুন
ইভেন্ট ট্র্যাক করে এবং ত্রুটিগুলো কোন পর্যায়ে ঘটতে পারে তা বোঝার মাধ্যমে কমিশনিং সংক্রান্ত সমস্যাগুলো তদন্ত করার জন্য আমরা আপনার জন্য এক সেট মেট্রিক্স তৈরি করেছি। আপনি এগুলো ম্যাটার ইন্টিগ্রেশন ড্যাশবোর্ডে খুঁজে পাবেন, যেমনটি আমরা পূর্ববর্তী বিভাগে আলোচনা করেছি।
এই ড্যাশবোর্ডের চার্টগুলো ডিভাইস চালুকরণ সংক্রান্ত তথ্য প্রদান করে:

ডিভাইস কাউন্ট চার্টটি একটি নির্দিষ্ট তারিখে ব্যবহারকারীদের দ্বারা করা কমিশনিং প্রচেষ্টার সংখ্যা দেখায়। সাকসেস রেট বা সফলতার হার গুগলের দৃষ্টিকোণ থেকে এই ইভেন্টগুলোর অনুমিত সফলতার হার প্রদর্শন করে। প্রতিটি কমিশনিং প্রচেষ্টা সংশ্লিষ্ট স্টেট বা অবস্থা সহ একগুচ্ছ ইভেন্ট তৈরি করে। যখন এই স্টেটগুলোর কোনোটিতে ত্রুটি ঘটে, তখন তা এরর ব্রেকডাউন চার্টেও নথিভুক্ত হয়।
কমিশন গঠনকারী রাষ্ট্রসমূহ:
- কমিশনিং শুরু হয়েছে
- অনবোর্ডিং_পেলোড_জেনারেটেড
- স্থানীয় আবিষ্কার সফল
- PASE_CONNECTION_SUCCESSFUL
- NOC_ADDED_SUCCESSFULLY
- কমিশনিং সম্পন্ন
এই ইভেন্টগুলির বিস্তারিত সংস্করণ দেখতে, Operations > Logging > Logs Explorer- এ যান। কমিশনিং ত্রুটিগুলি ফিল্টার করতে, আপনি কোয়েরি ফিল্ডে ' clientUpdateLog এর সাথে ' severity>=ERROR ' যুক্ত করে অনুসন্ধান করতে পারেন।
Matter-এর জন্য একটি কমিশনিং ত্রুটি লগ দেখতে এইরকম:
{
"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) ব্যবহার করুন
কমিশনিং সংক্রান্ত সমস্যা সমাধানের আরেকটি উপায় হলো অ্যান্ড্রয়েড ডিবাগ ব্রিজ (ADB) কমান্ড লাইন টুল ব্যবহার করা। যেহেতু কমিশনিং প্রক্রিয়াটি মূলত মোবাইল ডিভাইস এবং ম্যাটার ডিভাইসের মধ্যে সম্পন্ন হয়, তাই কমিশনিং চলাকালীন গুগল হোম অ্যাপ দ্বারা তৈরি লগগুলো অ্যাক্সেস করার জন্য ADB টুলটি ব্যবহার করা সম্ভব।
প্ল্যাটফর্ম টুলস ইনস্টল করুন
ADB অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম টুলস- এর একটি অংশ হিসেবে আসে, যা অ্যান্ড্রয়েড স্টুডিও অথবা sdkmanager কমান্ড লাইন টুলের মাধ্যমে ইনস্টল করা যায়।
আপনার সিস্টেমে প্ল্যাটফর্ম টুলস সফলভাবে ইনস্টল করার পরে, টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি ব্যবহার করে ভার্সন নম্বরটি পরীক্ষা করে ADB যাচাই করুন:
$ adb -- version
এটি ইনস্টল করা এডিবি ইউটিলিটির সংস্করণ নম্বরটি কোনো ত্রুটি ছাড়াই প্রদর্শন করবে।
ইউএসবি ডিবাগিং সক্ষম করুন
এরপরে আপনার অ্যান্ড্রয়েড ডিভাইসে ইউএসবি ডিবাগিং চালু করতে হবে।
প্রথমে আপনার ডিভাইসে ডেভেলপার অপশন চালু করার ধাপগুলো অনুসরণ করুন, এবং তারপর ইউএসবি ডিবাগিং চালু করুন ।
এর ফলে ADB ডিভাইসে বর্তমানে চলমান অ্যাপগুলো দ্বারা তৈরি লগগুলো অ্যাক্সেস করতে পারে।
ডিভাইস আইডি পুনরুদ্ধার করুন
- নিম্নলিখিত কমান্ড ব্যবহার করে ADB সার্ভারটি চালু করুন:
$ adb start-server
- যে কম্পিউটারে এডিবি সার্ভার চলছে, সেটির সাথে আপনার ফোনটি সংযুক্ত করুন।
আপনার ফোনে ইউএসবি ডিবাগিং সম্পর্কে একটি সতর্কীকরণ বার্তা আসতে পারে, যেখানে জিজ্ঞাসা করা হবে যে আপনি আপনার কম্পিউটারকে ফোন থেকে তথ্য অ্যাক্সেস করার অনুমতি দিতে চান কিনা:

- আপনি এই সতর্কীকরণ বার্তাটি পেলে, 'অনুমতি দিন'-এ ক্লিক করুন।
- আপনার কম্পিউটার ADB-এর মাধ্যমে ফোনটি অ্যাক্সেস করতে পারছে কিনা তা দেখতে, টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি ব্যবহার করে 'list devices' কমান্ডটি দিন:
$ adb devices
এর ফলে এইরকম একটি প্রতিক্রিয়া পাওয়া উচিত:
List of devices attached <phone-id> device
আপনার <ফোন-আইডি> হলো একটি আলফানিউমেরিক স্ট্রিং যা আপনার ডিভাইসকে অনন্যভাবে শনাক্ত করে।
- পরবর্তী ধাপগুলোতে ব্যবহারের জন্য
<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"
নিশ্চিত করুন যে এই রিটার্ন ভ্যালুগুলো আমাদের ইকোসিস্টেম দ্বারা সমর্থিত । কমিশনিং ব্যর্থতার জন্য সহায়তার অনুরোধ করার সময়, অনুগ্রহ করে আপনার সাপোর্ট টিকেটে সর্বদা সিস্টেমের তথ্য অন্তর্ভুক্ত করুন।
ত্রুটির লগ সংগ্রহ করুন
এরপরে, লগ সংগ্রহ প্রক্রিয়াটি শুরু করুন, তারপর আপনি যে এরর ইভেন্টগুলো ডিবাগ করতে চান, সেগুলো তৈরি করার জন্য কমিশনিং ধাপগুলো অনুসরণ করুন।
- আপনার
<phone-id>এবং আপনার কম্পিউটারে লগগুলি সংরক্ষণের জন্য একটি<file-name>(যেমন,debug_file.txt) প্রদান করে নিম্নলিখিত কমান্ডটি চালান।
$ adb -s <phone-id> logcat > <file-name>
এর সাথে সাথেই লগিং প্রক্রিয়াটি শুরু হয়ে যায়। প্রদত্ত নামে একটি ফাইল তৈরি করা হয়, যদি সেটি আগে থেকে বিদ্যমান না থাকে, এবং প্রতিটি ঘটনার পর ফোন থেকে প্রাপ্ত লগগুলো সেই ফাইলে যুক্ত করা হয়।
আপনার ম্যাটার ডিভাইসটি চালু করার ধাপগুলো সম্পন্ন করুন।
- আপনি যে ত্রুটিটি ডিবাগ করতে চান, সেখানে পৌঁছানোর পর চলমান টার্মিনাল উইন্ডোতে
Control+Cচেপে লগিং বন্ধ করুন।
আপনার লগগুলো এখন <file-name> লগিং ফাইলে সংরক্ষিত হবে। যেহেতু এই প্রসেসটি ডিভাইসে ট্র্যাক করা প্রতিটি চলমান প্রসেসের লগ রেকর্ড করে, তাই এই ফাইলে প্রচুর লগ থাকবে। এজন্য আপনার প্রয়োজনীয় এন্ট্রিগুলো খুঁজে নিয়ে সবসময় এই লগগুলো ব্যবহার করা উচিত।
ত্রুটির লগ বিশ্লেষণ করুন
GHA-এর অভ্যন্তরে ম্যাটারকমিশনার নামক একটি সাবসিস্টেমের মাধ্যমে কমিশনিং প্রক্রিয়াগুলো পরিচালিত হয়।
- কমিশনিং ত্রুটি বিশ্লেষণ করার সময় ব্যবহৃত প্রধান কৌশল অনুসরণ করে, নিম্নলিখিত কমান্ডের মাধ্যমে ম্যাটারকমিশনার সাবসিস্টেম দ্বারা সৃষ্ট ত্রুটিগুলি সন্ধান করুন:
$ grep "MatterCommissioner" <file-name>
এটি কমিশনিং প্রক্রিয়ার ইভেন্টগুলো সম্বলিত একটি আউটপুট তৈরি করে।
- আপনার ম্যাটার ডিভাইসটি যদি থ্রেড ব্যবহার করে, তাহলে আপনি নিম্নলিখিত কমান্ডের মাধ্যমে থ্রেড সাবসিস্টেম দ্বারা তৈরি ত্রুটিগুলিও খুঁজে দেখতে পারেন:
$ grep -E "(ThreadNetworkManager|BorderAgentScannerImpl|ThreadBrSynchronizer)" <file-name>
এডিবি ডিবাগিং প্রক্রিয়া দ্বারা তৈরি লগ ফাইলটি বিশ্লেষণ করার সময়, কিছু নির্দিষ্ট প্যাটার্নও লক্ষ্য করুন। অনেক কমিশনিং ত্রুটির বার্তায় " commissioning failure " স্ট্রিংটি অন্তর্ভুক্ত থাকে।
- নিম্নলিখিত কমান্ড ব্যবহার করে কমিশনিং ব্যর্থতার বার্তাটি অনুসন্ধান করুন:
$ grep "SetupDevice" $phonelog | grep -A 20 "Commissioning failed"
৪. ডিভাইস নিয়ন্ত্রণ সংক্রান্ত সমস্যা ডিবাগ করুন
একবার ব্যবহারকারীরা গুগল হোম ইকোসিস্টেমে ম্যাটার ডিভাইসগুলো সেট আপ ও চালু করে নিলে, তারা গুগল অ্যাসিস্ট্যান্ট ব্যবহার করে ভয়েস কমান্ড (উদাহরণস্বরূপ, "ওকে গুগল, আমার বসার ঘরের লাইটগুলো জ্বালিয়ে দাও") অথবা হোম অ্যাপ বা গুগল নেস্ট ডিসপ্লে ডিভাইসের ইউআই (UI) ব্যবহার করে কমান্ড দিতে পারেন।
যেহেতু এন্ড ডিভাইস এবং গুগল হাব-এর মধ্যে নিয়ন্ত্রণের বিষয়টি ম্যাটার (Matter) দ্বারা পরিচালিত হয়, তাই ডিভাইস নিয়ন্ত্রণের দিকে ত্রুটি কম হবে বলে আশা করা যায়। তা সত্ত্বেও, এই ধরনের সমস্যা ডিবাগ করার জন্য আমরা মেট্রিক্স এবং লগও সরবরাহ করে থাকি।
মেট্রিক্স ব্যবহার করুন
ম্যাটার ইন্টিগ্রেশন ড্যাশবোর্ডে আপনি ডিভাইস নিয়ন্ত্রণ সংক্রান্ত বেশ কিছু মেট্রিক দেখতে পাবেন। মাঠে থাকা আপনার ডিভাইসগুলোর কর্মক্ষমতা মূল্যায়নের জন্য তিনটি চার্ট অত্যন্ত গুরুত্বপূর্ণ:

নিয়ন্ত্রণ সংক্রান্ত সমস্যার সময় সাধারণত সফলতার শতাংশে নিম্নমুখী প্রবণতা এবং ত্রুটির বিবরণ চার্টে ঊর্ধ্বমুখী প্রবণতা দেখা যায়। ত্রুটির বিবরণ চার্টটি আপনাকে দেখায় যে, ডিভাইস নিয়ন্ত্রণের প্রচেষ্টা কেন ব্যর্থ হয়েছে সে সম্পর্কে গুগল নেস্ট হাব দ্বারা শনাক্তকৃত ত্রুটিগুলো কী কী।
লগ ব্যবহার করুন
প্রতিটি ম্যাটার ডিভাইস নিয়ন্ত্রণ সংক্রান্ত সমস্যা সিস্টেমে একটি ত্রুটি লগও তৈরি করে। লগস এক্সপ্লোরার থেকে ' 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 ও অন্তর্ভুক্ত থাকে, যা একটি সংক্ষিপ্ত এরর মেসেজ এবং এটি এররটি কী সম্পর্কিত তা ব্যাখ্যা করে।
৫. অন্যান্য বৈশিষ্ট্য ডিবাগ করুন
এখন পর্যন্ত আপনি ম্যাটারের জন্য ডিভাইস কমিশনিং এবং নিয়ন্ত্রণ সংক্রান্ত সমস্যাগুলো কীভাবে সমাধান করতে হয় তা শিখেছেন। এছাড়াও ইকোসিস্টেমের মধ্যে অন্যান্য বৈশিষ্ট্য রয়েছে যা আপনি ব্যবহার করতে পারেন, অথবা একটি ভালো মানের ইন্টিগ্রেশন নিশ্চিত করার জন্য কিছু প্রস্তাবিত কৌশলও রয়েছে।
OTA আপডেটগুলি ট্র্যাক করুন
গুগল হোম কর্তৃক ম্যাটার ডিভাইসগুলোর জন্য জারি করা ওভার-দ্য-এয়ার (OTA) আপডেটের রিলিজগুলো ট্র্যাক করার জন্য, আমরা কিছু মেট্রিক্স প্রদান করি যা ফিল্ডে থাকা ডিভাইসগুলোর হার্ডওয়্যার এবং সফ্টওয়্যার সংস্করণগুলো দেখায়।
কনসোল থেকে আপডেট জারি করার পর, নিম্নলিখিত মেট্রিকগুলোর উপর নজর রাখুন:

আপনি দেখবেন যে, রিলিজের পরের দিনগুলোতে ফিল্ডে থাকা আরও বেশি সংখ্যক ডিভাইস আপনার OTA সফ্টওয়্যার রিলিজের সাথে যুক্ত নতুন সফ্টওয়্যার সংস্করণটি পেয়ে যাচ্ছে।
৬. সমর্থন খুঁজুন
আপনার ম্যাটার (Matter) সংক্রান্ত সমস্যা ডিবাগ করার জন্য গুগল বিভিন্ন টুল এবং ডকুমেন্টেশন সরবরাহ করে, কিন্তু ম্যাটার ইকোসিস্টেমটি নতুন হওয়ায় এমন কিছু সমস্যা থাকতে পারে যা এই রিসোর্সগুলোতে অন্তর্ভুক্ত নয়। এই ধরনের ক্ষেত্রে, সহায়তার জন্য আপনি সর্বদা আমাদের বা কমিউনিটির সাথে যোগাযোগ করতে পারেন।
ডেভেলপার চ্যানেলগুলি দেখুন
গুগলের অভ্যন্তরে তিনটি ডেভেলপার চ্যানেল সক্রিয়ভাবে পর্যবেক্ষণ করা হয়:

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

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