Model data di Android

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 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 mengutamakan Matter. Jenis atau sifat perangkat Matterlebih diutamakan daripada analog Cloud-to-cloud.

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

Sifat

Versi Kotlin 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.

Setiap sifat terdapat di namespace-nya sendiri dan harus diimpor satu per satu untuk digunakan.

Misalnya, untuk menggunakan sifat On/Off Matter dan jenis perangkat Unit Plug-in On/Off, 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 perangkat dan sifat. Lihat referensi untuk memverifikasi nama paket yang benar untuk setiap DeviceType atau Trait.

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 OpenClose. 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, jenis perangkat Kipas type terdiri dari dan memiliki tiga sifat:

  • Sifat Identify Matter menyediakan semua fungsi dari Matter Identify.
  • Sifat FanControl Matter menyediakan semua fungsi dari sifat Matter FanControl
  • Sifat Google ExtendedFanControl menyediakan semua fungsi dari Google smart home FanSpeed yang tidak tercakup oleh FanControl Matter

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