Untuk kemudahan penggunaan, versi sederhana dari beberapa karakteristik tersedia untuk digunakan dengan Automation API di Android.
Karakteristik yang disederhanakan menggantikan karakteristik Home API standar, mirip dengan cara kerja pola fasad. Karakteristik yang disederhanakan menyediakan perintah yang memudahkan tugas umum untuk jenis perangkat tertentu. Karakteristik yang disederhanakan adalah karakteristik Home API, dan, seperti karakteristik Home API lainnya, karakteristik ini berfungsi untuk perangkat Matter dan Cloud-to-cloud.
Karakteristik yang disederhanakan menawarkan subset alternatif dari atribut dan perintah yang lebih spesifik untuk perangkat daripada karakteristik standar yang sesuai.
Misalnya, karakteristik standar
LevelControl
adalah karakteristik generik yang dapat digunakan untuk perangkat apa pun yang memiliki
setelan yang terus berubah di berbagai nilai numerik.
Brightness adalah karakteristik yang disederhanakan yang menggantikan LevelControl dan hanya menyediakan perintah dan atribut yang diperlukan perangkat DimmableLight. Brightness memiliki perintah
moveToBrightness yang menggunakan satu argumen
brightnessPercent, sedangkan LevelControl memiliki beberapa move
perintah, yang sebagian besar memiliki setidaknya empat parameter untuk mengakomodasi berbagai kasus penggunaan.
Tabel berikut menunjukkan setiap karakteristik yang disederhanakan dan karakteristik standar yang mendasarinya. Setiap nama karakteristik ditautkan ke dokumentasi API yang sesuai:
| Karakteristik yang disederhanakan | Karakteristik standar |
|---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControlOnOff
|
Karakteristik yang disederhanakan dan Discovery API
Discovery API melaporkan karakteristik yang disederhanakan serta karakteristik standar yang mendasarinya, selama kedua karakteristik tersebut terdaftar di
FactoryRegistry. Misalnya, jika perangkat DimmableLight ada dalam struktur, dan developer mendaftarkan karakteristik LevelControl dan Brightness di FactoryRegistry, Discovery API akan menunjukkan keberadaan kedua karakteristik tersebut. Developer dapat memilih untuk menggunakan salah satu karakteristik dalam otomatisasinya.
Lihat Discovery API di Android untuk mengetahui informasi selengkapnya.
Mengambil perangkat yang mendukung karakteristik yang disederhanakan
Saat menggunakan Device API untuk mendapatkan perangkat dalam struktur yang mendukung karakteristik yang disederhanakan seperti SimplifiedThermostat, Anda tidak dapat menggunakan metode has(trait). Sebagai gantinya, gunakan metode has(deviceType):
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }