Android এ সরলীকৃত বৈশিষ্ট্য

ব্যবহারের সুবিধার জন্য, অ্যান্ড্রয়েডের অটোমেশন এপিআই-এর সাথে ব্যবহারের জন্য কিছু বৈশিষ্ট্যের সরলীকৃত সংস্করণ উপলব্ধ রয়েছে।

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

একটি সরলীকৃত ট্রেইট অ্যাট্রিবিউট এবং কমান্ডের একটি বিকল্প উপসেট প্রদান করে, যা সংশ্লিষ্ট স্ট্যান্ডার্ড ট্রেইটের তুলনায় ডিভাইস-নির্দিষ্ট হয়ে থাকে। উদাহরণস্বরূপ, স্ট্যান্ডার্ড LevelControl ট্রেইটটি একটি জেনেরিক ট্রেইট যা এমন যেকোনো ডিভাইসের জন্য ব্যবহার করা যেতে পারে, যার সেটিং একটি নির্দিষ্ট সাংখ্যিক মানের পরিসর জুড়ে ক্রমাগত পরিবর্তিত হয়। Brightness হলো একটি সরলীকৃত ট্রেইট যা LevelControl বিকল্প হিসেবে কাজ করে এবং শুধুমাত্র সেই কমান্ড ও অ্যাট্রিবিউটগুলো সরবরাহ করে যা একটি DimmableLight ডিভাইসের প্রয়োজন হয়। Brightness এর একটি moveToBrightness কমান্ড রয়েছে যা একটিমাত্র brightnessPercent আর্গুমেন্ট গ্রহণ করে, যেখানে LevelControl একাধিক move কমান্ড রয়েছে, যার বেশিরভাগেরই অন্তত চারটি প্যারামিটার থাকে, যাতে এটি বিভিন্ন ধরনের ব্যবহারের ক্ষেত্রে উপযোগী হতে পারে।

নিম্নলিখিত সারণীতে প্রতিটি সরলীকৃত বৈশিষ্ট্য এবং তার অন্তর্নিহিত প্রমিত বৈশিষ্ট্য(গুলি) দেখানো হয়েছে। প্রতিটি বৈশিষ্ট্যের নামের সাথে সংশ্লিষ্ট API ডকুমেন্টেশনের লিঙ্ক দেওয়া আছে:

সারণি: সরলীকৃত বৈশিষ্ট্য
সরলীকৃত বৈশিষ্ট্য সাধারণ বৈশিষ্ট্য
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

সরলীকৃত বৈশিষ্ট্য এবং ডিসকভারি এপিআই

ডিসকভারি এপিআই সরলীকৃত ট্রেইটগুলোর পাশাপাশি তাদের অন্তর্নিহিত স্ট্যান্ডার্ড ট্রেইটগুলোও রিপোর্ট করে, যদি উভয় ট্রেইটই FactoryRegistry রেজিস্টার করা থাকে। উদাহরণস্বরূপ, যদি স্ট্রাকচারে একটি DimmableLight ডিভাইস থাকে এবং ডেভেলপার FactoryRegistry LevelControlBrightness উভয় ট্রেইটই রেজিস্টার করে থাকেন, তাহলে ডিসকভারি এপিআই উভয় ট্রেইটের উপস্থিতি নির্দেশ করবে। ডেভেলপার তার অটোমেশনে যেকোনো একটি ট্রেইট ব্যবহার করতে পারেন।

আরও তথ্যের জন্য অ্যান্ড্রয়েডে ডিসকভারি এপিআই দেখুন।

এমন একটি ডিভাইস পুনরুদ্ধার করুন যা একটি সরলীকৃত বৈশিষ্ট্য সমর্থন করে।

ডিভাইস এপিআই ব্যবহার করে যখন SimplifiedThermostat মতো কোনো সরলীকৃত ট্রেইট সমর্থন করে এমন কোনো স্ট্রাকচারের ডিভাইসগুলো পাওয়া যায়, তখন আপনি has(trait) মেথডটি ব্যবহার করতে পারবেন না। এর পরিবর্তে, has(deviceType) মেথডটি ব্যবহার করুন:

val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }