অ্যান্ড্রয়েডের জন্য হোম এপিআই (Home APIs) গুগল হোম ইকোসিস্টেমের সমস্ত ডিভাইসকে একটি সমন্বিত ডেটা মডেলে উপস্থাপন করে। এই ডেটা মডেলটি অন্তর্নিহিত স্মার্ট হোম প্রযুক্তি (যেমন Matter বা Cloud-to-cloud ) নির্বিশেষে, গুগল নেস্ট বা তৃতীয় পক্ষের নির্মাতাদের সব ধরনের ডিভাইসকে অন্তর্ভুক্ত করে এবং smart home ও মোবাইল অ্যাপ ডেভেলপার উভয়ের জন্য ইউজার এক্সপেরিয়েন্স তৈরির উদ্দেশ্যে একটি সাধারণ এপিআই প্ল্যাটফর্ম প্রদান করে।
ডিভাইসের প্রকারভেদ
হোম এপিআই-তে উপস্থাপিত ডিভাইসের প্রকারগুলি হলো Matter এবং Cloud-to-cloud ডেটা মডেলের একীকরণ। এর মধ্যে কিছু সরাসরি Matter থেকে উদ্ভূত, কিছু Matter ডিভাইসের প্রকারের সম্প্রসারণ, এবং কিছু Cloud-to-cloud থেকে উদ্ভূত।
ডিভাইস টাইপগুলিতে এমন বৈশিষ্ট্য থাকে যা ডিভাইস নিয়ন্ত্রণ ও পরিচালনা করতে ব্যবহৃত হয়। ডিভাইস টাইপের মতোই, বৈশিষ্ট্যগুলি Matter ক্লাস্টার এবং Cloud-to-cloud বৈশিষ্ট্য থেকে উদ্ভূত হয় এবং Matter ক্লাস্টারের অনুরূপ একটি সাধারণ বিন্যাসে উপস্থাপন করা হয়। হোম এপিআই-গুলিতে, Matter -উদ্ভূত বৈশিষ্ট্যগুলিকে বৈশিষ্ট্য (traits) বলা হয়, ক্লাস্টার (clusters ) নয়।
সেই অনুযায়ী, হোম এপিআই-এর ডিভাইস টাইপ এবং ট্রেইটগুলো Matter -ফার্স্ট হওয়ার জন্য ডিজাইন করা হয়েছে। একটি Matter ডিভাইস টাইপ বা ট্রেইট তার Cloud-to-cloud অ্যানালগের চেয়ে অগ্রাধিকার পায়।
ডিভাইসের প্রকারভেদ এবং তাদের বৈশিষ্ট্যগুলির তালিকার জন্য অ্যান্ড্রয়েডে সমর্থিত ডিভাইসের প্রকারভেদ দেখুন।
বৈশিষ্ট্য
হোম এপিআই-তে ব্যবহারের জন্য ট্রেইট-এর কোটলিন সংস্করণ তৈরি করা হয় এবং এতে হোম এপিআই-এর জন্য নির্দিষ্ট কিছু অতিরিক্ত বৈশিষ্ট্য থাকে ( Matter বা Cloud-to-cloud -এ পাওয়া যায় না)। উদাহরণস্বরূপ, প্রতিটি ট্রেইট-এর নিজস্ব মেথড রয়েছে যা দিয়ে পরীক্ষা করা যায় যে ট্রেইটটি কোনো নির্দিষ্ট অ্যাট্রিবিউট বা কমান্ড সমর্থন করে কি না। ব্যবহারকারীর ডিভাইসে স্টেট পড়া বা নির্দিষ্ট কোনো কাজ করা যাবে কি না, তা নির্ধারণ করার ক্ষেত্রে এটি বেশ কার্যকর, কারণ একটি ডিভাইস টাইপের সব ডিভাইসে একই রকম সব বৈশিষ্ট্য থাকবে বলে আশা করা যায় না।
প্রতিটি বৈশিষ্ট্য তার নিজস্ব নেমস্পেসে থাকে এবং ব্যবহারের জন্য সেটিকে আলাদাভাবে ইম্পোর্ট করতে হয়।
উদাহরণস্বরূপ, Matter On/Off ট্রেইট এবং On/Off প্লাগ-ইন ইউনিট ডিভাইস টাইপ ব্যবহার করতে, আপনার অ্যাপ্লিকেশনে নিম্নলিখিত প্যাকেজগুলি ইম্পোর্ট করুন:
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice
গুগল স্মার্ট হোমের গ্যারেজ ডিভাইস টাইপের জন্য, Matter এবং গুগল ট্রেইটের একটি মিশ্রণ অন্তর্ভুক্ত করুন:
import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice
Android Studio অটো-কমপ্লিট সুবিধা রয়েছে এবং আপনার প্রোজেক্টের সোর্স ফাইলে import লাইন যোগ করার সময় এটি প্রায়শই আপনার জন্য সম্পূর্ণ প্যাকেজ নামটি লিখে দেয়। তবে, সব ধরনের ডিভাইস টাইপ এবং ট্রেইটের ক্ষেত্রে প্যাকেজ নাম একই রকম হয় না। প্রতিটি DeviceType বা Trait জন্য সঠিক প্যাকেজ নামটি যাচাই করতে রেফারেন্সটি দেখুন।
বেশিরভাগ ট্রেইট অটোমেশনের সাথে ব্যবহারের জন্য সমর্থিত, এবং কিছু ট্রেইট শুধুমাত্র অটোমেশনের জন্যই উপলব্ধ। আরও বিস্তারিত জানতে, অ্যান্ড্রয়েডে অটোমেশন এপিআই ট্রেইট সাপোর্ট দেখুন।
ডিভাইসের প্রকারের গঠন
হোম এপিআইগুলো ডেটা মডেলে ট্রেইট হিসেবে বেশিরভাগ Matter অ্যাপ্লিকেশন ক্লাস্টারকে সমর্থন করে। যেসব ট্রেইট ডিভাইস নিয়ন্ত্রণ বা অবস্থার সাথে সম্পর্কিত নয় এবং শেষ ব্যবহারকারীদের জন্য কোনো উপযোগিতা প্রদান করে না, যেমন বাইন্ডিং এবং গ্রুপ, সেগুলো হোম এপিআইগুলোর মাধ্যমে উন্মুক্ত করা হয় না।
Cloud-to-cloud স্মার্ট হোম ট্রেইট থেকে উদ্ভূত ট্রেইটগুলোর নাম সাধারণত Cloud-to-cloud এবং হোম এপিআই-এর মধ্যে একই থাকে, যেমন ওপেনক্লোজ-এর উদাহরণে দেখা যায়। অন্যগুলো Matter ট্রেইটের এক্সটেনশন হিসেবে উপস্থাপিত হয়, যা Matter প্রস্তুতকারক-নির্দিষ্ট এক্সটেনশন ব্যবহার করে তৈরি করা হয়। এই ট্রেইটগুলো একটি smart home ট্রেইটের সেই শূন্যস্থান পূরণ করে, যেখানে কার্যকারিতা Matter এসডিকে এবং গুগল হোম ইকোসিস্টেমের মধ্যে বিভক্ত থাকে। এর একটি নির্দিষ্ট উদাহরণ হলো Google* ডিভাইস টাইপগুলো, যা Cloud-to-cloud থেকে এসেছে কিন্তু এখনও পর্যন্ত এগুলোর কোনো ম্যাটার অ্যানালগ নেই।
ডিভাইসের প্রকারভেদগুলো Matter বা Cloud-to-cloud —এই দুই উৎসের এক বা উভয়টির বৈশিষ্ট্য দ্বারা গঠিত।
উদাহরণস্বরূপ, ফ্যান ডিভাইস টাইপটি উভয় দ্বারাই গঠিত এবং এর তিনটি বৈশিষ্ট্য রয়েছে:
-
IdentifyMatter ট্রেইটটি MatterIdentifyএর সমস্ত কার্যকারিতা প্রদান করে। -
FanControlMatter ট্রেইটটি MatterFanControlট্রেইটের সমস্ত কার্যকারিতা প্রদান করে। -
ExtendedFanControlGoogle ট্রেইটটি Google smart homeFanSpeedট্রেইটের সেই সমস্ত কার্যকারিতা প্রদান করে, যাFanControlMatter ট্রেইটের আওতাভুক্ত নয়।
এই ধরনের বৈশিষ্ট্য বিন্যাস অন্তর্নিহিত smart home ডেটা মডেলগুলোকে বিমূর্ত করে সম্পূর্ণ ডিভাইস টাইপের কার্যকারিতার জন্য একটি নমনীয় মডেল প্রদান করে।