لتسهيل الاستخدام، تتوفّر إصدارات مبسطة من بعض السمات لاستخدامها مع Automation API على Android.
تمثّل السمة المبسّطة سمة عادية لواجهة Home API، على غرار طريقة عمل نمط الواجهة. توفّر السمات المبسّطة أوامر تسهّل تنفيذ المهام الشائعة لأنواع معيّنة من الأجهزة. السمات المبسّطة هي سمات واجهة برمجة التطبيقات لمنزل Google، وهي تعمل مع أجهزة Matter وCloud-to-cloud، تمامًا مثل سمات واجهة برمجة التطبيقات لمنزل Google الأخرى.
تقدّم السمة المبسّطة مجموعة فرعية بديلة من السمات والأوامر تكون أكثر تحديدًا للجهاز من تلك الخاصة بالسمة العادية المقابلة.
على سبيل المثال، السمة القياسية
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) }