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 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:

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

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