لتسهيل الاستخدام، تتوفّر إصدارات مبسطة من بعض السمات لاستخدامها مع Automation API على Android.
يحلّ سمة مبسطة محل سمة عادية في Home API، على غرار طريقة عمل نمط الواجهة. توفّر السمات المبسّطة أوامر تسهّل تنفيذ المهام الشائعة لأنواع معيّنة من الأجهزة. السمات المبسّطة هي سمات Home API، وهي تعمل مع أجهزة Matter وCloud-to-cloud، تمامًا مثل سمات Home API الأخرى.
تقدّم السمة المبسّطة مجموعة فرعية بديلة من السمات والأوامر تكون أكثر ملاءمة للجهاز من تلك الخاصة بالسمة العادية المقابلة.
على سبيل المثال، السمة القياسية
LevelControl
هي سمة عامة يمكن استخدامها مع أي جهاز يتضمّن
إعدادًا يتغيّر باستمرار ضمن مجموعة من القيم الرقمية.
Brightness
هي سمة مبسطة تحل محل LevelControl
وتوفّر فقط الأوامر والسمات التي يتطلبها جهاز DimmableLight
. يحتوي Brightness
على الأمر moveToBrightness
الذي يتضمّن وسيطًا واحدًا brightnessPercent
، بينما يحتوي LevelControl
على أوامر متعدّدة move
، ومعظمها يتضمّن أربع مَعلمات على الأقل لاستيعاب مجموعة أوسع من حالات الاستخدام.
يوضّح الجدول التالي كل سمة مبسطة والسمات الأساسية المعيارية. يرتبط كل اسم سمة بمستندات واجهة برمجة التطبيقات ذات الصلة:
السمة المبسّطة | السمة العادية |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
السمات المبسّطة و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) }