Home API untuk Android menampilkan semua perangkat dalam ekosistem Google Home dalam model data terpadu. Model data ini mencakup semua jenis perangkat (dari Google Nest atau produsen pihak ketiga), terlepas dari teknologi smart home yang mendasarinya (seperti Matter atau Cloud-to-cloud), dan menyediakan platform API umum untuk membangun pengalaman pengguna bagi developer aplikasi seluler dan smart home.
Jenis perangkat
Jenis perangkat yang ditampilkan di Home API adalah penyatuan model data Matter dan Cloud-to-cloud. Beberapa jenis perangkat berasal langsung dari Matter, beberapa merupakan ekstensi dari jenis perangkat Matter, dan beberapa berasal dari Cloud-to-cloud.
Jenis perangkat berisi karakteristik yang digunakan untuk mengontrol dan mengelola perangkat. Seperti jenis perangkat, karakteristik berasal dari cluster Matter dan karakteristik Cloud-to-cloud serta ditampilkan dalam format umum yang mirip dengan cluster Matter. Di Home API, trait yang berasal dari Matter disebut trait, bukan cluster.
Oleh karena itu, jenis dan fitur perangkat di Home API dimaksudkan untuk menjadi Matter-first. Jenis atau karakteristik perangkat Matter lebih diutamakan daripada analog Cloud-to-cloud.
Lihat Jenis perangkat yang didukung di Android untuk mengetahui daftar jenis perangkat dan karakteristiknya.
Sifat
Versi Kotlin dari trait dibuat untuk digunakan di Home API, dan berisi fitur tambahan khusus untuk Home API (tidak ditemukan di Matter atau Cloud-to-cloud). Misalnya, setiap trait memiliki metode untuk memeriksa apakah trait mendukung atribut atau perintah tertentu. Hal ini berguna saat menentukan apakah pembacaan status atau tindakan tertentu dapat dilakukan di perangkat pengguna, karena tidak semua perangkat dalam jenis perangkat diharapkan memiliki semua fitur yang sama.
Setiap karakteristik terdapat di namespace-nya sendiri dan harus diimpor satu per satu untuk digunakan.
Misalnya, untuk menggunakan trait Aktif/Nonaktif Matter dan jenis perangkat Unit Plug-in Aktif/Nonaktif, impor paket berikut ke dalam aplikasi Anda:
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice
Untuk jenis perangkat Garasi (dari smart home Google), sertakan campuran Matter dan trait Google:
import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice
Android Studio memiliki fungsi pelengkapan otomatis dan sering kali
menangani nama paket lengkap untuk Anda saat menambahkan baris import ke file sumber
dalam project Anda. Namun, nama paket tidak konsisten di semua jenis dan karakteristik perangkat. Lihat referensi untuk memverifikasi nama paket yang benar untuk setiap
DeviceType atau
Trait.
Sebagian besar karakteristik didukung untuk digunakan dengan Otomatisasi, dan beberapa karakteristik hanya tersedia untuk Otomatisasi. Untuk mengetahui detail selengkapnya, lihat Dukungan trait Automation API di Android.
Komposisi jenis perangkat
Home API mendukung sebagian besar cluster aplikasi Matter sebagai trait dalam model data. Trait yang tidak sesuai dengan kontrol atau status perangkat dan tidak menawarkan utilitas apa pun bagi pengguna akhir, seperti Pengikatan dan Grup, tidak diekspos melalui Home API.
Trait yang berasal dari trait smart home Cloud-to-cloud biasanya memiliki
nama yang sama antara Cloud-to-cloud dan Home API, seperti dalam
contoh OpenClose. Yang lainnya ditampilkan sebagai ekstensi dari
karakteristik Matter, yang dibuat menggunakan ekstensi khusus produsen Matter. Ciri ini menjembatani kesenjangan untuk ciri
smart home yang fungsinya dibagi antara
SDK Matter dan ekosistem Google Home. Contoh
khususnya adalah jenis perangkat Google* yang berasal dari
Cloud-to-cloud, tetapi belum memiliki analog Matter.
Jenis perangkat terdiri dari trait dari satu atau kedua sumber, Matter atau Cloud-to-cloud.
Misalnya, Jenis perangkat kipas terdiri dari keduanya dan memiliki tiga karakteristik:
- Trait
IdentifyMatter menyediakan semua fungsi dari MatterIdentify. - Trait
FanControlMatter menyediakan semua fungsi dari trait MatterFanControl - Trait
ExtendedFanControlGoogle menyediakan semua fungsi dari trait smart homeFanSpeedGoogle yang tidak tercakup dalam traitFanControlMatter
Komposisi karakteristik jenis ini menyediakan model fleksibel untuk fungsi jenis perangkat lengkap, yang mengabstraksi model data smart home yang mendasarinya.