Sifat yang disederhanakan

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:

Tabel: Sifat yang disederhanakan
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) }