iOS এ ডেটা মডেল

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

ডিভাইসের ধরন

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

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

যেমন, হোম এপিআই-এ ডিভাইসের ধরন এবং বৈশিষ্ট্যগুলিকে প্রথমে Matter করার উদ্দেশ্যে করা হয়েছে। একটি Cloud-to-cloud এনালগ থেকে একটি Matter ডিভাইসের ধরন বা বৈশিষ্ট্য প্রাধান্য পায়।

ডিভাইসের ধরন এবং তাদের বৈশিষ্ট্যের তালিকার জন্য iOS-এ সমর্থিত ডিভাইসের ধরন দেখুন।

বৈশিষ্ট্য

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

বৈশিষ্ট্য এবং ডিভাইসের প্রকারগুলি আমদানি করতে, আপনার অ্যাপ্লিকেশনে GoogleHomeTypes মডিউল আমদানি করুন:

import GoogleHomeTypes

এছাড়াও, আপনি কোড সংক্ষিপ্ত করতে এবং নামস্থানের পুনরাবৃত্তি এড়াতে বৈশিষ্ট্য এবং ডিভাইসের প্রকারের নামের জন্য typealias ব্যবহার করতে পারেন:

import GoogleHomeTypes

typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType

বৈশিষ্ট্যগুলি অটোমেশনগুলির সাথে ব্যবহারের জন্যও সমর্থিত, তবে সীমিত হতে পারে এবং কিছু বৈশিষ্ট্য শুধুমাত্র অটোমেশনের জন্য উপলব্ধ। একটি তালিকার জন্য, iOS-এ অটোমেশন API বৈশিষ্ট্য সমর্থন দেখুন।

ডিভাইসের প্রকার রচনা

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

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

ডিভাইসের ধরনগুলি এক বা উভয় উত্স, Matter বা Cloud-to-cloud বৈশিষ্ট্যগুলির সমন্বয়ে গঠিত।

উদাহরণস্বরূপ, FanDeviceType উভয়ের সমন্বয়ে গঠিত এবং তিনটি বৈশিষ্ট্য রয়েছে:

  • IdentifyTrait Matter বৈশিষ্ট্য Matter IdentifyTrait থেকে সমস্ত কার্যকারিতা প্রদান করে।
  • FanControlTrait Matter বৈশিষ্ট্য Matter FanControlTrait থেকে সমস্ত কার্যকারিতা প্রদান করে।
  • ExtendedFanControlTrait Google বৈশিষ্ট্য Google smart home FanSpeedTrait থেকে সমস্ত কার্যকারিতা প্রদান করে যা FanControlTrait Matter বৈশিষ্ট্য দ্বারা আচ্ছাদিত নয়৷

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