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 facade. 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 atribut dan perintah alternatif yang
lebih spesifik untuk perangkat daripada karakteristik standar yang sesuai.
Misalnya, karakteristik
LevelControl
standar adalah karakteristik umum yang dapat digunakan untuk perangkat apa pun yang memiliki
setelan yang bervariasi secara terus-menerus 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 perintah move, yang sebagian besar memiliki setidaknya empat parameter untuk mengakomodasi berbagai kasus penggunaan yang lebih luas.
Tabel berikut menunjukkan setiap karakteristik yang disederhanakan dan karakteristik standar yang mendasarinya. Setiap nama karakteristik tertaut ke dokumentasi API yang sesuai:
| Karakteristik yang disederhanakan | Karakteristik standar |
|---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControlOnOff
|
Ciri yang disederhanakan dan Discovery API
Discovery API melaporkan karakteristik yang disederhanakan serta karakteristik standar yang mendasarinya, asalkan 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 ciri 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) }