لتسهيل الاستخدام، تتوفّر إصدارات مبسّطة من بعض السمات لاستخدامها مع Automation API على Android.
تمثّل السمة المبسّطة سمة عادية في Home API، على غرار طريقة عمل نمط الواجهة . توفّر السمات المبسّطة أوامر تسهّل تنفيذ المهام الشائعة لأنواع معيّنة من الأجهزة. السمات المبسّطة هي سمات Home API، وعلى غرار سمات Home API الأخرى، تعمل مع أجهزة Matter وأجهزة Cloud-to-cloud.
توفّر السمة المبسّطة مجموعة فرعية بديلة من السمات والأوامر التي تكون أكثر ملاءمة لنوع الجهاز من تلك الخاصة بالسمة العادية المقابلة.
على سبيل المثال، السمة العادية
LevelControl
هي سمة عامة يمكن استخدامها لأي جهاز يتضمّن
إعدادًا يتغيّر باستمرار ضمن نطاق من القيم الرقمية.
Brightness هي سمة
مبسّطة تمثّل LevelControl وتوفّر الأوامر والسمات التي يتطلّبها جهاز
DimmableLight
فقط. Brightness تتضمّن
moveToBrightness الأمر الذي يأخذ وسيطة واحدة هي
brightnessPercent، بينما تتضمّن LevelControl أوامر move
متعدّدة، معظمها يتضمّن أربع مَعلمات على الأقل لاستيعاب نطاق أوسع من حالات الاستخدام.
يعرض الجدول التالي كل سمة مبسّطة والسمات العادية الأساسية. يرتبط كل اسم سمة بمستندات واجهة برمجة التطبيقات المقابلة:
| السمة المبسّطة | السمة العادية |
|---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControlOnOff
|
السمات المبسّطة وDiscovery API
تعرض Discovery API السمات المبسّطة وسماتها العادية الأساسية
، طالما تم تسجيل كلتا السمتَين في
FactoryRegistry. على
سبيل المثال، إذا كان جهاز DimmableLight موجودًا في البنية، وسجّل
المطوّر سمتَي
LevelControl
و
Brightness في
الـ FactoryRegistry، ستشير Discovery API إلى توفّر كلتا السمتَين. يمكن للمطوّر اختيار استخدام أيّ من السمتَين في التشغيل الآلي.
لمزيد من المعلومات، يمكنك الاطّلاع على مقالة Discovery API على Android.
استرداد جهاز يتيح استخدام سمة مبسّطة
عند استخدام Device API للحصول على الأجهزة في بنية تتيح استخدام سمة مبسّطة مثل SimplifiedThermostat، لا يمكنك استخدام طريقة has(trait). بدلاً من ذلك، استخدِم طريقة has(deviceType):
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }