Home API untuk iOS 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 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 dan ditampilkan dalam format umum yang mirip dengan cluster Matter. Di Home API, trait turunan Matter disebut trait, bukan cluster.
Oleh karena itu, jenis dan karakteristik perangkat di Home API dimaksudkan untuk Matter-first. Jenis atau ciri perangkat Matter lebih diutamakan daripada analog Cloud-to-cloud.
Lihat Jenis perangkat yang didukung di iOS untuk mengetahui daftar jenis perangkat dan karakteristiknya.
Sifat
Versi Swift 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.
Untuk mengimpor karakteristik dan jenis perangkat, impor modul GoogleHomeTypes ke
aplikasi Anda:
import GoogleHomeTypes
Selain itu, Anda dapat menggunakan typealias untuk nama jenis perangkat dan karakteristik guna mempersingkat kode
dan menghindari pengulangan namespace:
import GoogleHomeTypes
typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType
Sebagian besar karakteristik didukung untuk digunakan dengan Otomatisasi, dan beberapa karakteristik hanya tersedia untuk Otomatisasi. Untuk mengetahui detail selengkapnya, lihat Dukungan karakteristik Automation API di Android.
Komposisi jenis perangkat
Home API mendukung sebagian besar cluster aplikasi Matter
sebagai karakteristik dalam model data. Cluster konfigurasi tingkat rendah yang tidak menawarkan
utilitas langsung untuk pengguna akhir, seperti Binding, tidak diekspos secara langsung
melalui Home API. Lihat Structure API
untuk mengetahui informasi selengkapnya tentang Grup Perangkat.
Karakteristik yang berasal dari karakteristik smart home Cloud-to-cloud biasanya memiliki
nama yang sama antara Cloud-to-cloud dan Home API, seperti dalam
contoh OpenCloseTrait. Yang lain direpresentasikan sebagai ekstensi
ciri Matter, yang dibuat menggunakan ekstensi
khusus produsen Matter. Sifat ini menjembatani kesenjangan untuk
sifat smart home yang fungsinya dibagi antara
SDK Matter dan ekosistem Google Home. Contoh spesifiknya
adalah jenis perangkat Google* yang berasal dari
Cloud-to-cloud, tetapi belum memiliki analog Matter.
Jenis perangkat terdiri dari karakteristik dari salah satu atau kedua sumber, Matter atau Cloud-to-cloud.
Misalnya, FanDeviceType
terdiri dari keduanya dan menampilkan tiga ciri:
- Trait
IdentifyTraitMatter menyediakan semua fungsi dari MatterIdentifyTrait. - Trait
FanControlTraitMatter menyediakan semua fungsi dari MatterFanControlTrait. - Karakteristik Google
ExtendedFanControlTraitmenyediakan semua fungsi dariFanSpeedTraitsmart home Google yang tidak dicakup oleh karakteristik MatterFanControlTrait.
Jenis komposisi karakteristik ini memberikan model yang fleksibel untuk fungsionalitas jenis perangkat yang lengkap, yang mengabstraksi model data smart home yang mendasarinya.
Grup perangkat
Grup perangkat mewakili kumpulan perangkat yang ditentukan pengguna dalam satu struktur. Keanggotaan grup dipertahankan di layanan Google dan dapat dilihat oleh anggota lain dari struktur dan aplikasi lain yang memiliki akses ke struktur.
Grup perangkat diwakili oleh entitas DeviceGroup, yang berbeda dengan HomeDevice. Setiap
HomeDevice mencantumkan grup tempatnya berada melalui
GroupMembershipTrait,
sehingga aplikasi Anda dapat memeriksa keanggotaan grup dan melakukan iterasi pada perangkat anggota grup
secara langsung. Selain itu, DeviceGroup sesuai dengan
protokol HasParts untuk
mengekspos jenis perangkat yang didukung oleh perangkat anggotanya saat menargetkan
grup secara keseluruhan.
Lihat Structure API dan Mengontrol grup perangkat untuk mengetahui informasi selengkapnya tentang grup perangkat.