Android-এ ডেটা মডেল

Android-এর জন্য Home API, Google Home ইকোসিস্টেমের সমস্ত ডিভাইসকে একটি ইউনিফায়েড ডেটা মডেলে উপস্থাপন করে। এই ডেটা মডেল সব ধরনের ডিভাইস (Google Nest বা থার্ড-পার্টি প্রস্তুতকারকদের থেকে) কভার করে, এর মধ্যে অন্তর্নিহিত স্মার্ট হোম টেকনোলজি (যেমন Matter বা Cloud-to-cloud) নির্বিশেষে, এবং smart home ও মোবাইল অ্যাপ ডেভেলপার, উভয় পক্ষের জন্য ইউজার অভিজ্ঞতা তৈরি করতে একটি সাধারণ API সারফেস প্রদান করে।

ডিভাইসের ধরন

Home API-তে দেখানো ডিভাইসের ধরন হল Matter এবং Cloud-to-cloud ডেটা মডেলের একটি সম্মিলিত রূপ। কিছু সরাসরি Matter থেকে প্রাপ্ত, কিছু Matter ডিভাইস টাইপের এক্সটেনশন এবং কিছু Cloud-to-cloud থেকে প্রাপ্ত।

ডিভাইসের ধরনের মধ্যে এমনসব বৈশিষ্ট্য থাকে যা ডিভাইস কন্ট্রোল ও ম্যানেজ করার জন্য ব্যবহার করা হয়। ডিভাইসের ধরন, বৈশিষ্ট্যের মতো বিষয় Matter ক্লাস্টার ও Cloud-to-cloud বৈশিষ্ট্য থেকে পাওয়া যায় এবং Matter ক্লাস্টারের মতো একই ধরনের ফর্ম্যাটে উপস্থাপন করা হয়। Home API-তে, Matter-থেকে প্রাপ্ত বৈশিষ্ট্যকে বৈশিষ্ট্য বলা হয়, ক্লাস্টার নয়।

এই কারণে, Home API-তে ডিভাইসের ধরন ও বৈশিষ্ট্যগুলি Matter-ফার্স্ট হিসেবে ডিজাইন করা হয়েছে। Matter ডিভাইসের ধরন বা বৈশিষ্ট্য Cloud-to-cloud অ্যানালগের চেয়ে বেশি অগ্রাধিকার পায়।

ডিভাইসের ধরন ও সেগুলির ট্রেটের তালিকা পেতে, Android-এ কাজ করে এমন ডিভাইসের ধরন দেখুন।

বৈশিষ্ট্য

Home API-তে ব্যবহারের জন্য ট্রেটের Kotlin ভার্সন তৈরি করা হয় এবং এতে Home API-এর জন্য নির্দিষ্ট অতিরিক্ত ফিচার থাকে (যা Matter বা Cloud-to-cloud-এ পাওয়া যায় না)। যেমন, প্রতিটি ট্রেটে এমন পদ্ধতি আছে যা চেক করে যে কোনও ট্রেট নির্দিষ্ট অ্যাট্রিবিউট বা কমান্ড সাপোর্ট করে কিনা। ব্যবহারকারীর ডিভাইসে স্টেট বা নির্দিষ্ট অ্যাকশন রিড করা যাবে কিনা তা নির্ধারণ করার সময় এটি কাজে লাগে, কারণ ডিভাইস টাইপের সব ডিভাইসে একই ফিচার থাকে না।

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

যেমন, Matter চালু/বন্ধ করার ট্রেট এবং চালু/বন্ধ করার প্লাগ-ইন ইউনিট ডিভাইসের ধরন ব্যবহার করতে, আপনার অ্যাপ্লিকেশনে নিম্নলিখিত প্যাকেজ ইমপোর্ট করুন:

import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice

গ্যারেজ ডিভাইসের ধরনের (Google স্মার্ট হোম থেকে) জন্য, Matter ও Google ট্রেটের মিশ্রণ যোগ করুন:

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-এর জন্য সঠিক প্যাকেজ নাম যাচাই করতে রেফারেন্স দেখুন।

বেশিরভাগ ট্রেট অটোমেশনের সাথে ব্যবহার করা যায় এবং কিছু ট্রেট শুধুমাত্র অটোমেশনের জন্য উপলভ্য। আরও বিবরণের জন্য, Android-এ অটোমেশন API ট্রেট সহায়তা দেখুন।

ডিভাইসের ধরনের কম্পোজিশন

ডেটা মডেলে ট্রেইট হিসেবে Home API বেশিরভাগ Matter অ্যাপ্লিকেশন ক্লাস্টার সাপোর্ট করে। নিম্ন-স্তরের কনফিগারেশন ক্লাস্টার যা সরাসরি ব্যবহারকারীদের জন্য উপযোগী নয়, যেমন Binding, সেগুলি Home API-এর মাধ্যমে প্রকাশ করা হয় না।

Cloud-to-cloud স্মার্ট হোম ট্রেট থেকে প্রাপ্ত ট্রেট সাধারণত Cloud-to-cloud এবং Home API-এর মধ্যে একই নাম থাকে, যেমন OpenClose-এর উদাহরণে। অন্যান্য বৈশিষ্ট্যকে Matter ট্রেটের এক্সটেনশন হিসেবে দেখানো হয়, যা Matter প্রস্তুতকারক-নির্দিষ্ট এক্সটেনশন ব্যবহার করে তৈরি করা হয়। এইসব ট্রেট, a smart home ট্রেটের জন্য সেই ফাঁক পূরণ করে যেখানে Matter SDK এবং Google Home ইকোসিস্টেমের মধ্যে কার্যকারিতা ভাগ করা হয়। এর একটি নির্দিষ্ট উদাহরণ হল Google* ডিভাইসের ধরন যা Cloud-to-cloud থেকে আসে কিন্তু এখনও Matter অ্যানালগ নেই।

ডিভাইসের ধরন, এক বা একাধিক সোর্স থেকে পাওয়া trait দিয়ে তৈরি হয়, Matter অথবা Cloud-to-cloud।

যেমন, ফ্যান ডিভাইসের ধরন দু'টি নিয়ে গঠিত এবং এতে তিনটি বৈশিষ্ট্য আছে:

  • Identify Matter ট্রেট Matter Identify-এর সমস্ত কার্যকারিতা প্রদান করে।
  • FanControl Matter ট্রেটটি Matter FanControl ট্রেটের সমস্ত কার্যকারিতা প্রদান করে
  • ExtendedFanControl Google ট্রেট, Google smart home FanSpeed ট্রেটের সেইসব ফাংশনালিটি প্রদান করে যা FanControl Matter ট্রেটের মধ্যে অন্তর্ভুক্ত নয়

এই ধরনের ট্রেট কম্পোজিশন সম্পূর্ণ ডিভাইস টাইপ ফাংশনালিটির জন্য একটি নমনীয় মডেল প্রদান করে, যা অন্তর্নিহিত smart home ডেটা মডেলকে অ্যাবস্ট্রাক্ট করে।

ডিভাইস গ্রুপ

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

ডিভাইস গ্রুপ সম্পর্কে আরও তথ্য পেতে স্ট্রাকচার API দেখুন।