Ringkasan Home API

Google Home API untuk Android menyediakan platform API terpadu untuk memungkinkan developer berinteraksi dengan status entitas di rumah pengguna. Entitas ini dapat mendeskripsikan perangkat dan informasi non-perangkat yang terkait dengan struktur dan ruangan pengguna.

Home API menentukan entitas berikut yang dapat berinteraksi dengan pengguna:

  • Struktur mewakili rumah yang berisi ruangan dan perangkat.
  • Ruang adalah bagian dari struktur dan berisi perangkat.
  • Perangkat menerapkan fitur yang berisi atribut, sesuai dengan jenis, memunculkan peristiwa, dan merespons perintah.
  • Otomatisasi adalah bagian dari struktur dan menggunakan metadata serta perangkat rumah untuk mengotomatiskan tugas di rumah.

Gambar 1 mengilustrasikan arsitektur ini:

Diagram yang menggambarkan arsitektur Home API
Gambar 1: Arsitektur Home API

Jenis perangkat Home API dapat didukung oleh Matter, standar terbuka untuk rumah pintar, atau berupa perangkat Cloud-to-cloud di ekosistem Google Home. Beberapa jenis perangkat mungkin menggabungkan fungsi dari keduanya. Lihat Jenis perangkat yang didukung untuk mengetahui informasi selengkapnya.

Di Matter, fungsi perangkat dikelompokkan menurut cluster, yang direpresentasikan di Home API sebagai karakteristik standar Matter. Home API mendukung kumpulan standar cluster Matter seperti yang ditentukan dalam spesifikasi Matter saat ini.

Dalam ekosistem Google Home, fungsi perangkat dikelompokkan menurut karakteristik smart home, yang direpresentasikan di Home API sebagai karakteristik smart home Google. Home API mendukung kumpulan karakteristik smart home seperti yang ditentukan dalam program Cloud-to-cloud.

Sifat lain, seperti cluster khusus Produsen dan sifat Platform, juga tersedia. Untuk mempelajari lebih lanjut, lihat Model data.

Language

Home API ditulis dalam Kotlin dan menyediakan antarmuka Kotlin idiomatis yang menggunakan Flow untuk mengelola status dan langganan. Hal ini memberikan sejumlah keunggulan dibandingkan API langganan standar.

Sebaiknya pahami dokumentasi Kotlin tentang coroutine, flow, dan Jetpack Compose, jika Anda belum melakukannya:

ID entity

Setiap entity di Home API memiliki ID yang mewakili ID utamanya. ID ini adalah ID unik dan stabil yang tidak akan pernah berubah selama masa aktif entitas. ID ini dapat digunakan untuk meng-cache objek atau memeriksa kesetaraan karena metadata entitas dapat berubah.

Lihat antarmuka HasId untuk mempelajari entity yang memiliki ID.

Pemetaan terminologi

Entitas di Home API dipetakan ke konsep Matter dan Cloud-to-cloud sebagai berikut:

Home API Matter Cloud-to-cloud
Sifat Cluster Sifat
Atribut Atribut Atribut, Status
Perintah Perintah Perintah
Acara Acara Respons tindak lanjut, Notifikasi