কীভাবে স্মার্ট হোম অ্যাকশন তৈরি করতে হয় তা শেখার নতুন গন্তব্য Google হোম ডেভেলপার সেন্টারে স্বাগতম। দ্রষ্টব্য: আপনি অ্যাকশন কনসোলে নির্মাণ কাজ চালিয়ে যাবেন।

ইন্টিগ্রেশন ত্রুটির সমস্যা সমাধান করুন

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

Google Cloud Platform (GCP) আপনাকে Google Cloud Monitoring এবং Google Cloud Logging ত্রুটি লগগুলির সাথে সমস্যাগুলি ডিবাগ করার মাধ্যমে আপনার প্রকল্পগুলির নির্ভরযোগ্যতা নিরীক্ষণ করার জন্য সরঞ্জামগুলি সরবরাহ করে৷ ব্যবহারকারীর উদ্দেশ্য পূরণ করার সময় যখনই কোনো ব্যর্থতা ঘটে, Google Home Analytics পাইপলাইন আপনার মেট্রিক্সে সেই ব্যর্থতা রেকর্ড করে এবং আপনার প্রোজেক্ট লগে একটি ত্রুটির লগ প্রকাশ করে।

আপনার ত্রুটির সমস্যা সমাধানের জন্য দুটি ধাপ রয়েছে:

  1. স্মার্ট হোম মেট্রিক্স দিয়ে আপনার প্রকল্পের অবস্থা নিরীক্ষণ করুন।
  2. ত্রুটির লগগুলিতে বিশদ ত্রুটির বিবরণ পরীক্ষা করে সমস্যাগুলি তদন্ত করুন৷

প্রক্রিয়া স্থানীয় একীকরণের জন্যও একই রকম। একবার আপনি সমস্যা সমাধানের প্রবাহ আয়ত্ত করলে, আপনি সহজেই আপনার ত্রুটিগুলির অন্তর্দৃষ্টি পেতে মেট্রিক্স এবং লগগুলির মধ্যে পিছনে যেতে পারেন৷

নিরীক্ষণ ত্রুটি

আপনি আপনার প্রকল্পের মেট্রিক্স অ্যাক্সেস করতে Google Cloud Monitoring dashboard ব্যবহার করতে পারেন। কিছু মূল চার্ট আছে যা গুণমান এবং ডিবাগিং নিরীক্ষণের জন্য বিশেষভাবে উপযোগী:

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

প্ল্যাটফর্ম ত্রুটি কোড

এখানে কিছু সাধারণ ত্রুটি কোড রয়েছে যা আপনি Google Home platform দ্বারা ধরা সমস্যাগুলি সনাক্ত করতে আপনার প্রকল্প লগগুলিতে দেখতে পারেন৷ সমস্যা সমাধানের তথ্যের জন্য অনুগ্রহ করে নিম্নলিখিত টেবিলটি পড়ুন।

ভুল সংকেত বর্ণনা
BACKEND_FAILURE_URL_ERROR Google আপনার পরিষেবা থেকে 401 ছাড়া অন্য একটি HTTP 4xx ত্রুটি কোড পেয়েছে।

আপনার স্মার্ট হোম সার্ভিস লগ চেক করতে GCP লগিং-এ requestId ব্যবহার করুন।
BACKEND_FAILURE_URL_UNREACHABLE Google আপনার পরিষেবা থেকে একটি HTTP 5xx ত্রুটি কোড পেয়েছে।

আপনার স্মার্ট হোম সার্ভিস লগ চেক করতে GCP লগিং-এ requestId ব্যবহার করুন।
GAL_BAD_3P_RESPONSE পেলোডে অবৈধ বিন্যাস বা মান থাকার কারণে Google আপনার অ্যাকাউন্ট লিঙ্কিং পরিষেবা থেকে প্রতিক্রিয়া পার্স করতে পারে না।

আপনার অ্যাকাউন্ট লিঙ্কিং পরিষেবাতে ত্রুটি লগগুলি পরীক্ষা করতে GCP লগিং-এ requestId ব্যবহার করুন৷
GAL_INTERNAL Google একটি অ্যাক্সেস টোকেন পুনরুদ্ধার করার চেষ্টা করার সময় একটি Google অভ্যন্তরীণ ত্রুটি ঘটেছে৷

আপনি যদি GCP লগিং-এ এই ত্রুটির বর্ধিত হার দেখতে পান, আরও তথ্যের জন্য আমাদের সাথে যোগাযোগ করুন।
GAL_INVALID_ARGUMENT Google একটি অ্যাক্সেস টোকেন পুনরুদ্ধার করার চেষ্টা করার সময় একটি Google অভ্যন্তরীণ ত্রুটি ঘটেছে৷

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

আপনি যদি GCP লগিং-এ এই ত্রুটির বর্ধিত হার দেখতে পান, আরও তথ্যের জন্য আমাদের সাথে যোগাযোগ করুন।
GAL_PERMISSION_DENIED টোকেন শেয়ারিং অনুমোদিত না হলে একটি Google অভ্যন্তরীণ ত্রুটি ঘটেছে৷

আপনি যদি GCP লগিং-এ এই ত্রুটির বর্ধিত হার দেখতে পান, আরও তথ্যের জন্য আমাদের সাথে যোগাযোগ করুন।
GAL_REFRESH_IN_PROGRESS ব্যবহারকারীর অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে এবং এটিকে রিফ্রেশ করার আরেকটি সমবর্তী প্রচেষ্টা ইতিমধ্যেই চলছে।

এটি একটি সমস্যা নয় এবং কোন পদক্ষেপের প্রয়োজন নেই।
INVALID_AUTH_TOKEN Google আপনার পরিষেবা থেকে একটি HTTP 401 ত্রুটি কোড পেয়েছে৷

অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়নি তবে আপনার পরিষেবা এটিকে অবৈধ করেছে৷ আপনার স্মার্ট হোম সার্ভিস লগ চেক করতে GCP লগিং-এ requestId ব্যবহার করুন।
INVALID_JSON JSON প্রতিক্রিয়া পার্স করা যাবে না, বা বোঝা যাবে না।

অবৈধ সিনট্যাক্সের জন্য আপনার JSON প্রতিক্রিয়ার গঠন পরীক্ষা করুন, যেমন অমিল বন্ধনী, অনুপস্থিত কমা, অবৈধ অক্ষর।
OPEN_AUTH_FAILURE ব্যবহারকারীর অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে এবং Google এটি রিফ্রেশ করতে অক্ষম, অথবা Google আপনার পরিষেবা থেকে একটি HTTP 401 ত্রুটি কোড পেয়েছে৷

আপনি যদি এই কোডের বর্ধিত হার দেখতে পান, তাহলে স্মার্ট হোম ইনটেন্ট বা রিফ্রেশ টোকেন অনুরোধের সাথে সম্পর্কিত ত্রুটির বৃদ্ধির হারও দেখতে পান কিনা তা পরীক্ষা করুন।
PARTNER_RESPONSE_INVALID_ERROR_CODE প্রতিক্রিয়া একটি অচেনা ত্রুটি কোড নির্দেশ করে।

যদি আপনার অনুরোধের প্রতিক্রিয়া একটি ত্রুটি নির্দেশ করে, আমাদের সমর্থিত ত্রুটি কোড থেকে দেওয়া একটি ব্যবহার করতে ভুলবেন না।
PARTNER_RESPONSE_INVALID_PAYLOAD প্রতিক্রিয়া payload ক্ষেত্র একটি JSON অবজেক্ট হিসাবে পার্স করা যাবে না.

আপনার অনুরোধের প্রতিক্রিয়ার পেলোড ফিল্ডে মিলিত বন্ধনী আছে কিনা এবং JSON ফিল্ড হিসাবে সঠিকভাবে গঠন করা হয়েছে কিনা তা পরীক্ষা করুন।
PARTNER_RESPONSE_INVALID_STATUS প্রতিক্রিয়া একটি স্থিতি নির্দেশ করে না, বা একটি ভুল নির্দেশ করে।

অভিপ্রায় পূরণের অনুরোধের প্রতিক্রিয়াগুলি SUCCESS, OFFLINE, ERROR, EXCEPTIONS সহ একটি স্থিতি নির্দেশ করবে৷ আপনি ত্রুটি এবং ব্যতিক্রমগুলি পরিচালনার বিষয়ে আরও তথ্য পেতে পারেন৷
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES অনুরোধে উপস্থিত এক বা একাধিক উদ্দেশ্য প্রতিক্রিয়াতে অনুপস্থিত।

যাচাই করুন যে আপনার এক্সিকিউশন প্রতিক্রিয়া সঠিকভাবে গঠন করা হয়েছে এবং অনুরোধের সমস্ত অভিপ্রায়ের ফলাফল আপনার প্রতিক্রিয়াতে উপস্থিত রয়েছে।
PARTNER_RESPONSE_MISSING_DEVICE অনুরোধে উপস্থিত এক বা একাধিক ডিভাইস প্রতিক্রিয়াতে অনুপস্থিত।

যাচাই করুন যে আপনার কার্যকরী প্রতিক্রিয়া সঠিকভাবে গঠন করা হয়েছে এবং অনুরোধের সমস্ত ডিভাইস আইডি আপনার প্রতিক্রিয়াতে উপস্থিত রয়েছে।
PARTNER_RESPONSE_MISSING_PAYLOAD প্রতিক্রিয়া একটি payload ক্ষেত্র ধারণ করে না.

আপনার অনুরোধ প্রতিক্রিয়া একটি পেলোড ক্ষেত্র অন্তর্ভুক্ত করা নিশ্চিত করুন. কিভাবে সঠিকভাবে একটি এক্সিকিউশন রেসপন্স তৈরি করতে হয় সে সম্পর্কে আপনি আরও জানতে পারবেন।
PARTNER_RESPONSE_NOT_OBJECT প্রতিক্রিয়া একটি JSON অবজেক্ট হিসাবে পার্স করা যাবে না.

অনিচ্ছাকৃত অক্ষর, অমিল বন্ধনী বা বিন্যাস ত্রুটির জন্য আপনার অনুরোধের প্রতিক্রিয়ার সমস্ত ক্ষেত্র পরীক্ষা করুন। কিছু ইউনিকোড অক্ষর অসমর্থিত হতে পারে। এছাড়াও নিশ্চিত করুন যে আপনার প্রতিক্রিয়া সঠিকভাবে একটি JSON অবজেক্ট হিসাবে গঠন করা হয়েছে।
RESPONSE_TIMEOUT প্রতিক্রিয়ার জন্য অপেক্ষা করার সময় অনুরোধের সময় শেষ হয়েছে৷

একটি প্রতিক্রিয়া পাঠানোর সময়সীমা হল অনুরোধ পাঠানো হওয়ার পর থেকে 9 সেকেন্ড। এই সময়ের মধ্যে একটি প্রতিক্রিয়া পাঠাতে ভুলবেন না.
RESPONSE_UNAVAILABLE কোন প্রতিক্রিয়া পাওয়া যায় না, বা প্রতিক্রিয়া স্থিতি নির্দেশ করে না.

উদ্দেশ্য পূরণের অনুরোধের প্রতিক্রিয়াগুলি স্মার্ট হোম ডক্স অনুযায়ী গঠন করা উচিত এবং অবস্থা নির্দেশ করা উচিত।

অনুসন্ধান লগ

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

GCP এর মধ্যে একাধিক সিস্টেম রয়েছে যেগুলি সর্বদা আপনার প্রকল্পে লগ পাঠায়। আপনার লগগুলি ফিল্টার করতে এবং আপনার প্রয়োজনীয়গুলি খুঁজে পেতে আপনাকে প্রশ্নগুলি লিখতে হবে৷ প্রশ্নগুলি একটি সময় পরিসীমা , সংস্থান , লগের তীব্রতা বা কাস্টম এন্ট্রিগুলির উপর ভিত্তি করে করা যেতে পারে।

প্রশ্ন ক্লাউড লগ

আপনি আপনার কাস্টম ফিল্টার তৈরি করতে সাহায্য করার জন্য ক্যোয়ারী বোতাম ব্যবহার করতে পারেন।

ক্লাউড লগ কোয়েরি তৈরি করুন

একটি সময় পরিসীমা নির্দিষ্ট করতে, সময় সীমা নির্বাচন বোতামের ক্লিক করুন এবং প্রদত্ত বিকল্পগুলির মধ্যে একটি বেছে নিন। এটি লগগুলিকে ফিল্টার করবে এবং নির্বাচিত সময় সীমাতে উৎপন্ন হওয়াগুলিকে দেখাবে৷

একটি রিসোর্স নির্দিষ্ট করতে, রিসোর্স ড্রপডাউনে ক্লিক করুন, তারপর Google অ্যাসিস্ট্যান্ট অ্যাকশন প্রজেক্ট বেছে নিন। এটি আপনার প্রোজেক্ট থেকে উদ্ভূত লগগুলি দেখাতে আপনার ক্যোয়ারীতে একটি ফিল্টার যোগ করে।

জরুরী , তথ্য , ডিবাগ , এবং অন্যান্য তীব্রতা লগ স্তর দ্বারা ফিল্টার করতে তীব্রতা বোতামটি ব্যবহার করুন৷

আপনি কাস্টম এন্ট্রি প্রবেশ করতে Logs Explorer ক্যোয়ারী ক্ষেত্রটিও ব্যবহার করতে পারেন। এই ক্ষেত্রের দ্বারা ব্যবহৃত ক্যোয়ারী ইঞ্জিন স্ট্রিং ম্যাচিং এর মত মৌলিক প্রশ্ন এবং তুলনাকারী ( <, >=, != ) এবং বুলিয়ান অপারেটর ( AND, OR, NOT ) সহ আরও উন্নত ধরণের প্রশ্ন সমর্থন করে।

উদাহরণস্বরূপ, নীচের কাস্টম এন্ট্রিটি একটি LIGHT ডিভাইস প্রকার থেকে উদ্ভূত ত্রুটিগুলি ফিরিয়ে দেবে:

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

ক্যোয়ারী লাইব্রেরি দেখুন কার্যকরীভাবে লগ কোয়েরির জন্য আরো উদাহরণ খুঁজে পেতে.

টেস্টিং ফিক্স

একবার আপনি ত্রুটিগুলি সনাক্ত করে এবং সেগুলি ঠিক করার জন্য আপডেটগুলি প্রয়োগ করার পরে, আমরা Google Home Test Suite এর সাথে আপনার সংশোধনগুলি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করার পরামর্শ দিই৷ Test Suite কীভাবে ব্যবহার করবেন সে সম্পর্কে আমরা একটি ব্যবহারকারীর নির্দেশিকা প্রদান করি, যা আপনার পরিবর্তনগুলি কার্যকরভাবে পরীক্ষা করার মাধ্যমে আপনাকে নিয়ে যায়।

শেখার সম্পদ

এই দস্তাবেজটি আপনার স্মার্ট হোম অ্যাকশনে ত্রুটিগুলি সমাধান করার পদক্ষেপগুলি প্রদান করে৷ আপনি ডিবাগিং সম্পর্কে আরও জানতে আমাদের কোডল্যাবগুলি পরীক্ষা করতে পারেন: