Sifat yang disederhanakan di Android

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:

Tabel: Karakteristik yang disederhanakan
Karakteristik yang disederhanakan Karakteristik standar
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

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) }