Model data di iOS

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 smart home dan aplikasi seluler.

Jenis perangkat

Jenis perangkat yang ditampilkan di Home API adalah gabungan model data Matter dan Cloud-to-cloud. Beberapa jenis perangkat berasal langsung dari Matter, beberapa merupakan ekstensi dari Matter jenis perangkat, dan beberapa berasal dari Cloud-to-cloud.

Jenis perangkat berisi sifat yang digunakan untuk mengontrol dan mengelola perangkat. Seperti jenis perangkat, sifat berasal dari Matter cluster dan Cloud-to-cloud sifat serta ditampilkan dalam format umum yang mirip dengan cluster Matter. Di Home API, Matter-derived traits disebut traits, bukan clusters.

Dengan demikian, jenis perangkat dan sifat di Home API dimaksudkan untuk menjadi Matter-first. Jenis atau sifat perangkat Matterlebih diutamakan daripada analog Cloud-to-cloud.

Lihat Jenis perangkat yang didukung di iOS untuk mengetahui daftar jenis perangkat dan sifatnya.

Sifat

Versi Swift dari sifat dibuat untuk digunakan di Home API, dan berisi fitur tambahan khusus untuk Home API (tidak ditemukan di Matter atau Cloud-to-cloud). Misalnya, setiap sifat memiliki metode untuk memeriksa apakah sifat 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 sifat dan jenis perangkat, impor modul GoogleHomeTypes ke dalam aplikasi Anda:

import GoogleHomeTypes

Selain itu, Anda dapat menggunakan typealias untuk nama sifat dan jenis perangkat guna mempersingkat kode dan menghindari pengulangan namespace:

import GoogleHomeTypes

typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType

Sebagian besar sifat didukung untuk digunakan dengan Otomatisasi, dan beberapa sifat hanya tersedia untuk Otomatisasi. Untuk mengetahui detail selengkapnya, lihat Dukungan sifat Automation API di Android.

Komposisi jenis perangkat

Home API mendukung sebagian besar Matter cluster aplikasi sebagai sifat dalam model data. Sifat yang tidak sesuai dengan kontrol atau status perangkat dan tidak menawarkan utilitas apa pun untuk pengguna akhir, seperti Binding dan Groups, tidak diekspos melalui Home API.

Sifat yang berasal dari Cloud-to-cloud sifat smart home biasanya memiliki nama yang sama antara Cloud-to-cloud dan Home API, seperti dalam contoh OpenCloseTrait. Sifat lainnya direpresentasikan sebagai ekstensi sifat Matter, yang dibuat menggunakan Matter ekstensi khusus produsen. Sifat ini menjembatani kesenjangan untuk a smart home sifat yang fungsinya dibagi antara the Matter SDK dan ekosistem Google Home. Contoh spesifik nya adalah jenis perangkat Google* yang berasal dari Cloud-to-cloud tetapi belum memiliki analog Matter.

Jenis perangkat terdiri dari sifat dari satu atau kedua sumber, Matter atau Cloud-to-cloud.

Misalnya, FanDeviceType terdiri dari dan memiliki tiga sifat:

  • Sifat IdentifyTrait Matter menyediakan semua fungsi dari Matter IdentifyTrait.
  • Sifat FanControlTrait Matter menyediakan semua fungsi dari Matter FanControlTrait.
  • Sifat Google ExtendedFanControlTrait menyediakan semua fungsi dari smart home FanSpeedTrait Google yang tidak tercakup oleh sifat FanControlTrait Matter.

Jenis komposisi sifat ini menyediakan model fleksibel untuk fungsi jenis perangkat lengkap, yang mengabstraksi model data yang mendasarinya smart home.