السمات المبسّطة على Android

لتسهيل الاستخدام، تتوفّر إصدارات مبسّطة من بعض السمات لاستخدامها مع 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 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) }