Untuk memudahkan penggunaan, versi sederhana dari beberapa karakteristik tersedia untuk digunakan dengan Automation API.
Atribut yang disederhanakan menggantikan atribut Home API standar, mirip dengan cara kerja pola fasad. Atribut yang disederhanakan memberikan perintah yang mempermudah tugas umum untuk jenis perangkat tertentu. Atribut sederhana adalah atribut Home API, dan, seperti atribut Home API lainnya, atribut ini berfungsi untuk perangkat Matter dan Cloud-to-cloud.
Sifat yang disederhanakan menawarkan subset alternatif atribut dan perintah yang
lebih spesifik per perangkat daripada sifat 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
sifat sederhana 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 minimal empat parameter untuk mengakomodasi
kisaran kasus penggunaan yang lebih luas.
Tabel berikut menunjukkan setiap karakteristik sederhana dan karakteristik standar yang mendasarinya. Setiap nama sifat ditautkan ke dokumentasi API terkait:
Sifat yang disederhanakan | Sifat standar |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
Sifat yang disederhanakan dan Discovery API
Discovery API melaporkan karakteristik sederhana 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 otomatisasi mereka.
Lihat Discovery API untuk mengetahui informasi selengkapnya.
Mengambil perangkat yang mendukung karakteristik yang disederhanakan
Saat menggunakan Device API untuk mendapatkan perangkat dalam struktur yang mendukung
sifat 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) }