Untuk mempermudah penggunaan, versi sederhana dari beberapa karakteristik tersedia untuk digunakan dengan Automation API di Android.
Trait yang disederhanakan menggantikan trait Home API standar, mirip dengan cara kerja pola fasad. Trait yang disederhanakan menyediakan perintah yang mempermudah tugas umum untuk jenis perangkat tertentu. Trait yang disederhanakan adalah trait Home API, dan, seperti trait Home API lainnya, trait ini berfungsi untuk perangkat Matter dan Cloud-to-cloud.
Trait sederhana menawarkan subset alternatif atribut dan perintah yang
lebih spesifik per perangkat daripada atribut dan perintah trait standar yang sesuai.
Misalnya, sifat
LevelControl
standar adalah sifat generik yang dapat digunakan untuk perangkat apa pun yang memiliki
setelan yang bervariasi secara berkelanjutan di seluruh rentang nilai numerik.
Brightness
adalah
trait sederhana yang menggantikan LevelControl
dan hanya menyediakan
perintah dan atribut yang diperlukan
perangkat DimmableLight
. Brightness
memiliki perintah
moveToBrightness
yang mengambil satu argumen
brightnessPercent
, sedangkan LevelControl
memiliki beberapa perintah move
, yang sebagian besar memiliki minimal empat parameter untuk mengakomodasi berbagai kasus penggunaan.
Tabel berikut menunjukkan setiap sifat yang disederhanakan dan sifat standar yang mendasarinya. Setiap nama karakteristik ditautkan ke dokumentasi API yang sesuai:
Trait yang disederhanakan | Ciri standar |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
Trait yang disederhanakan dan Discovery API
Discovery API melaporkan sifat yang disederhanakan serta sifat standar yang mendasarinya, selama kedua sifat tersebut terdaftar di FactoryRegistry
. Misalnya, jika perangkat DimmableLight
ada dalam struktur, dan developer mendaftarkan trait LevelControl
dan Brightness
di FactoryRegistry
, Discovery API akan menunjukkan keberadaan kedua trait tersebut. Developer dapat memilih untuk menggunakan salah satu karakteristik dalam otomatisasinya.
Lihat Discovery API di Android untuk mengetahui informasi selengkapnya.
Mengambil perangkat yang mendukung trait sederhana
Saat menggunakan Device API untuk mendapatkan perangkat dalam struktur yang mendukung
trait sederhana 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) }