iOS এ ডেটা মডেল

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

ডিভাইসের ধরণ

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

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

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

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

বৈশিষ্ট্য

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

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

import GoogleHomeTypes

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

import GoogleHomeTypes

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

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

ডিভাইসের ধরণ রচনা

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

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

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

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

  • IdentifyTrait Matter বৈশিষ্ট্যটি Matter IdentifyTrait এর সমস্ত কার্যকারিতা প্রদান করে।
  • FanControlTrait Matter বৈশিষ্ট্যটি Matter FanControlTrait এর সমস্ত কার্যকারিতা প্রদান করে।
  • ExtendedFanControlTrait গুগল বৈশিষ্ট্যটি গুগল smart home FanSpeedTrait সমস্ত কার্যকারিতা প্রদান করে যা FanControlTrait Matter বৈশিষ্ট্যের আওতায় আসে না।

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