Sifat yang disederhanakan di Android

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:

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