Home API menampilkan semua perangkat di 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 membuat pengalaman pengguna bagi developer smart home dan aplikasi seluler.
Jenis perangkat
Jenis perangkat yang ditampilkan di Home API adalah penyatuan model data Matter dan Cloud-to-cloud. Beberapa berasal langsung dari Matter, beberapa merupakan ekstensi 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, sifat turunan Matter disebut sifat, bukan cluster.
Dengan demikian, jenis dan fitur perangkat di Home API dimaksudkan untuk Matter-first. Jenis atau sifat perangkat Matter lebih diutamakan daripada analog Cloud-to-cloud.
Lihat Jenis perangkat yang didukung untuk daftar jenis perangkat dan karakteristiknya.
Sifat
Versi Kotlin dari karakteristik dibuat untuk digunakan di Home API, dan berisi fitur tambahan khusus untuk Home API (tidak ditemukan di Matter atau Cloud-to-cloud). Misalnya, setiap karakteristik memiliki metode untuk memeriksa apakah karakteristik 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 sifat terdapat dalam namespace-nya sendiri dan harus diimpor satu per satu untuk digunakan.
Misalnya, untuk menggunakan jenis perangkat Unit Plugin Aktif/Nonaktif dan karakteristik Aktif/Nonaktif Matter, 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 sifat 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
.
Ciri juga didukung untuk digunakan dengan Otomatisasi, tetapi mungkin terbatas, dan beberapa ciri hanya tersedia untuk Otomatisasi. Untuk mengetahui daftarnya, lihat Dukungan karakteristik Automation API.
Komposisi jenis perangkat
Home API mendukung sebagian besar cluster aplikasi Matter 1.3 sebagai karakteristik dalam model data. Atribut yang tidak sesuai dengan kontrol atau status perangkat dan tidak menawarkan utilitas apa pun untuk pengguna akhir, seperti Binding dan Grup, tidak ditampilkan melalui Home API.
Ciri yang berasal dari ciri smart home Cloud-to-cloud biasanya memiliki
nama yang sama antara Cloud-to-cloud dan Home API, seperti dalam
contoh OpenClose. Yang lainnya direpresentasikan sebagai ekstensi
sifat Matter, yang dibuat menggunakan ekstensi khusus
produsen Matter. Ciri-ciri ini menjembatani kesenjangan untuk
ciri smart home dengan fungsi yang dibagi antara
Matter SDK 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 karakteristik dari satu atau kedua sumber, Matter atau Cloud-to-cloud.
Misalnya, Jenis perangkat kipas terdiri dari keduanya dan menampilkan dua karakteristik FanControl:
- Atribut Matter FanControl menyediakan semua fungsi dari atribut FanControl Matter
- Atribut Google ExtendedFanControl menyediakan semua fungsi dari atribut FanSpeed smart home Google yang tidak tercakup dalam atribut FanControl Matter
Jenis komposisi sifat ini memberikan model yang fleksibel untuk fungsi jenis perangkat yang lengkap, yang memisahkan model data smart home yang mendasarinya.