Model data di iOS

API Home untuk iOS menyajikan 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 rumah pintar yang mendasarinya (seperti Matter atau Cloud-to-cloud), dan menyediakan permukaan API umum untuk membangun pengalaman pengguna bagi pengembang smart home dan aplikasi seluler.

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 iOS untuk daftar jenis perangkat dan karakteristiknya.

Sifat

Versi Swift 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 pada perangkat pengguna, karena tidak semua perangkat dalam jenis perangkat diharapkan memiliki semua fitur yang sama.

Untuk mengimpor trait dan jenis perangkat, impor modul GoogleHomeTypes ke dalam aplikasi Anda:

import GoogleHomeTypes

Selain itu, Anda dapat menggunakan typealias untuk nama jenis perangkat dan trait guna memperpendek 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 detail selengkapnya, lihat Dukungan sifat API Otomasi 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.

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 OpenCloseTrait. 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 spesifiknya 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, FanDeviceType terdiri dari keduanya dan memiliki tiga sifat:

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

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