ویژگی های ساده شده در اندروید

برای سهولت استفاده، نسخه‌های ساده‌شده‌ای از برخی ویژگی‌ها برای استفاده با API اتوماسیون در اندروید در دسترس هستند.

یک ویژگی ساده‌شده، مشابه نحوه‌ی عملکرد الگوی نما ، جایگزین یک ویژگی استاندارد Home API می‌شود. ویژگی‌های ساده‌شده، دستوراتی را ارائه می‌دهند که وظایف رایج را برای انواع خاصی از دستگاه‌ها آسان‌تر می‌کنند. ویژگی‌های ساده‌شده، ویژگی‌های Home API هستند و مانند سایر ویژگی‌های Home API، هم برای دستگاه‌های Matter و هم Cloud-to-cloud کار می‌کنند.

یک ویژگی ساده‌شده، زیرمجموعه‌ای جایگزین از ویژگی‌ها و دستورات را ارائه می‌دهد که نسبت به ویژگی استاندارد مربوطه، مختص دستگاه بیشتری است. به عنوان مثال، ویژگی استاندارد LevelControl یک ویژگی عمومی است که می‌تواند برای هر دستگاهی که تنظیماتی دارد که به طور مداوم در طیف وسیعی از مقادیر عددی تغییر می‌کند، استفاده شود. Brightness یک ویژگی ساده‌شده است که جایگزین LevelControl می‌شود و فقط دستورات و ویژگی‌هایی را که یک دستگاه DimmableLight نیاز دارد، ارائه می‌دهد. Brightness دارای یک دستور moveToBrightness است که یک آرگومان واحد brightnessPercent دریافت می‌کند، در حالی که LevelControl دارای چندین دستور move است که اکثر آنها حداقل چهار پارامتر دارند تا طیف وسیع‌تری از موارد استفاده را در بر بگیرند.

جدول زیر هر ویژگی ساده‌شده و ویژگی(های) استاندارد زیربنایی آن را نشان می‌دهد. نام هر ویژگی به مستندات API مربوطه پیوند دارد:

جدول: صفات ساده شده
صفت ساده‌شده ویژگی استاندارد
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

ویژگی‌های ساده‌شده و رابط برنامه‌نویسی کاربردی اکتشاف

API دیسکاوری، ویژگی‌های ساده‌شده و همچنین ویژگی‌های استاندارد زیربنایی آنها را گزارش می‌دهد، البته تا زمانی که هر دو ویژگی در FactoryRegistry ثبت شده باشند. برای مثال، اگر یک دستگاه DimmableLight در ساختار وجود داشته باشد و توسعه‌دهنده هر دو ویژگی LevelControl و Brightness را در FactoryRegistry ثبت کرده باشد، API دیسکاوری وجود هر دو ویژگی را نشان می‌دهد. توسعه‌دهنده می‌تواند از هر یک از این ویژگی‌ها در اتوماسیون خود استفاده کند.

برای اطلاعات بیشتر به Discovery API در اندروید مراجعه کنید.

دستگاهی را بازیابی کنید که از یک ویژگی ساده پشتیبانی می‌کند

هنگام استفاده از API دستگاه برای دریافت دستگاه‌هایی در ساختاری که از یک ویژگی ساده‌شده مانند SimplifiedThermostat پشتیبانی می‌کنند، نمی‌توانید از متد has(trait) استفاده کنید. در عوض، از متد has(deviceType) استفاده کنید:

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