Ringkasan Home API untuk Android

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

Home API menentukan entity berikut yang dapat digunakan pengguna untuk berinteraksi:

  • Struktur mewakili rumah yang berisi ruangan dan perangkat.
  • Ruangan adalah bagian dari struktur dan berisi perangkat.
  • Perangkat menerapkan ciri yang berisi atribut, sesuai dengan jenis, memunculkan peristiwa, dan merespons perintah.
  • Grup perangkat adalah kumpulan perangkat yang ditentukan pengguna dalam struktur.
  • 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 untuk aplikasi Android
Gambar 1: Arsitektur Home API untuk aplikasi Android

Jenis perangkat Home API dapat didukung oleh Matter, standar terbuka untuk smart home, atau menjadi perangkat Cloud-to-cloud di ekosistem Google Home. Beberapa jenis perangkat mungkin menggabungkan fungsi dari keduanya. Lihat Jenis perangkat yang didukung di Android 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 dalam Home API sebagai karakteristik smart home Google. Home API mendukung kumpulan karakteristik smart home seperti yang ditentukan dalam program Cloud-to-cloud.

Karakteristik lain, seperti cluster Khusus produsen dan Karakteristik platform, juga tersedia. Untuk mempelajari lebih lanjut, lihat Model data di Android.

Ekosistem

Ekosistem Google Home menyediakan fondasi yang efisien untuk membangun, mengelola, mengamankan, dan mengintegrasikan pengalaman smart home. Gambar 2 menunjukkan cara semua komponen bekerja sama.

Diagram yang menggambarkan ekosistem Home API untuk aplikasi Android
Gambar 2: Ekosistem Home API untuk aplikasi Android

Ekosistem ini mencakup Google Automation Engine yang menyimpan dan menjalankan otomatisasi yang menyediakan cara untuk mengotomatiskan tugas dan setelan perangkat di rumah.

Home API menggunakan OAuth 2.0 untuk memberikan akses ke perangkat dalam struktur. OAuth memungkinkan pengguna memberikan izin ke aplikasi atau layanan tanpa harus mengungkapkan kredensial login mereka.

Google Home Developer Console digunakan untuk mengelola semua tahap project Home API, mulai dari verifikasi merek, pengembangan, pengujian, dan sertifikasi hingga peluncuran. Matter menyederhanakan proses pengembangan sekaligus menyediakan alat dan distribusi yang andal melalui ekosistem Google Home.

Language

Home API untuk Android 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 entitas

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 kesamaan karena metadata entity dapat berubah.

Lihat antarmuka HasId untuk mempelajari entity apa yang memiliki ID.

Pemetaan terminologi

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

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