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

Jenis perangkat

Jenis perangkat yang ditampilkan di Home API adalah penyatuan model data Matter dan Cloud-to-cloud. Beberapa diturunkan langsung dari Matter, beberapa merupakan perluasan dari tipe perangkat Matter, dan beberapa diturunkan dari Cloud-to-cloud.

Jenis perangkat berisi ciri-ciri yang digunakan untuk mengontrol dan mengelola perangkat. Seperti jenis perangkat, ciri-ciri diturunkan dari kluster Matter dan ciri-ciri Cloud-to-cloud dan disajikan dalam format umum yang mirip dengan kluster Matter. Dalam API Rumah, sifat turunan Matter disebut sifat, bukan kluster.

Oleh karena itu, jenis dan ciri perangkat di Home API dimaksudkan untuk diutamakan Matter. Jenis atau sifat perangkat Matter diutamakan daripada analog Cloud-to-cloud.

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

Sifat

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

Setiap ciri terkandung dalam namespace-nya sendiri dan harus diimpor secara individual agar dapat digunakan.

Misalnya, untuk menggunakan sifat Nyala/Mati Matter dan jenis perangkat Unit Plug-in Nyala/Mati, 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 rumah pintar Google), sertakan campuran Matter dan ciri 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 akan sering menangani nama paket lengkap untuk Anda saat menambahkan baris import ke file sumber dalam proyek Anda. Namun, nama paket tidak konsisten di semua jenis dan sifat perangkat. 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 trait Automation API 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.

Trait yang berasal dari trait smart home Cloud-to-cloud biasanya memiliki nama yang sama antara Cloud-to-cloud dan Home API, seperti dalam contoh OpenClose. 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, Jenis perangkat kipas terdiri dari keduanya dan memiliki tiga karakteristik:

  • Trait Identify Matter menyediakan semua fungsi dari Matter Identify.
  • Trait FanControl Matter menyediakan semua fungsi dari trait Matter FanControl
  • Trait ExtendedFanControl Google menyediakan semua fungsi dari trait smart home FanSpeed Google yang tidak tercakup dalam trait FanControl Matter

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