Intent smart home adalah objek pesan sederhana yang menjelaskan Tindakan smart home yang akan dilakukan seperti menyalakan lampu atau mentransmisikan audio ke speaker.
Semua intent smart home dimuat dalam
namespace action.devices
dan Anda harus menyediakan fulfillment untuknya. Setiap kali
Google Assistant mengirim intent ke fulfillment, token akses
OAuth 2 pihak ketiga pengguna diteruskan di header Otorisasi.
Berikut adalah intent smart home yang didukung:
SINKRONKAN
Intent action.devices.SYNC
digunakan untuk meminta daftar
perangkat smart home yang telah terhubung oleh pengguna dan
tersedia untuk digunakan.
Saat pengguna menyiapkan perangkatnya dengan Google Home app (GHA), mereka juga akan diautentikasi ke infrastruktur cloud Anda. Kemudian, Assistant akan menerima token OAuth2. Pada tahap ini,
Assistant akan mengirim intent action.devices.SYNC
ke
fulfillment Anda untuk mengambil daftar awal perangkat dan kemampuan pengguna dari
infrastruktur cloud Anda.
![Gambar ini menunjukkan interaksi antara infrastruktur Google
dan infrastruktur partner. Dari infrastruktur Google, terdapat
daftar partner yang tersedia untuk aplikasi klien Asisten, yang kemudian
mengalir ke infrastruktur partner untuk menyelesaikan autentikasi OAuth. Autentikasi OAuth di sisi partner adalah webview penyiapan partner, webview OAuth, persyaratan dan setelan opsional, serta layanan cloud partner. Infrastruktur partner lalu menampilkan kredensial OAuth ke aplikasi klien Asisten. Layanan cloud partner mengirimkan perangkat dan kemampuan yang tersedia ke layanan Asisten, yang kemudian menyimpan informasi dalam Home Graph.](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome001.png?authuser=5&hl=id)
Untuk menghindari pembatalan tautan dan penautan ulang akun pengguna, Anda dapat mengirim sinkronisasi permintaan
ke Assistant. Tindakan ini akan mengirimkan intent action.devices.SYNC
ke fulfillment Anda untuk menyinkronkan daftar perangkat dan kemampuan. Lihat
Menerapkan Sinkronisasi Permintaan untuk mengetahui
informasi selengkapnya.
![Diagram alir intent SYNC](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome002.png?authuser=5&hl=id)
Selama penyiapan fulfillment lokal, platform Local Home memeriksa respons SYNC
dari
fulfillment cloud Action smart home Anda. Untuk mempelajari lebih lanjut cara
mengubah respons SYNC
guna mendukung fulfillment lokal, lihat
Memperbarui respons SYNC di fulfillment cloud.
QUERY
Intent action.devices.QUERY
digunakan untuk mengkueri status perangkat smart home saat ini.
Saat pengguna membuat kueri status perangkat, untuk menjawab pertanyaan seperti
Ok Google, lampu apa yang menyala di dapur?,
Assistant mengirimkan intent action.devices.QUERY
ke
fulfillment Anda.
![Diagram alur intent QUERY](https://developers.home.google.com/static/cloud-to-cloud/primer/images/query-diagram.png?authuser=5&hl=id)
Untuk pengalaman pengguna terbaik, Anda harus menerapkan Status Laporan untuk secara proaktif melaporkan status perangkat pengguna saat ini langsung ke Google Home Graph. Misalnya, hal ini memberi tahu Assistant apakah pengguna menyalakan lampu smart dengan sakelar lampu fisik.
![Melaporkan status perangkat menggunakan Status Laporan](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome004.png?authuser=5&hl=id)
JALANKAN
Intent action.devices.EXECUTE
digunakan untuk memberikan perintah
agar dapat dieksekusi pada perangkat smart home.
Saat pengguna mengirimkan perintah ke perangkat dengan Assistant, fulfillment Anda
menerima intent action.devices.EXECUTE
untuk pemenuhan pesanan Anda yang
menjelaskan tindakan dan perangkat untuk ditindaklanjuti. Pengguna dapat menjalankan tindakan
di perangkat dengan perintah seperti Ok Google, nyalakan lampu ruang keluarga.
![Diagram alir intent EXECUTE](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome003.png?authuser=5&hl=id)
PUTUSKAN KONEKSI
Intent action.devices.DISCONNECT
dipicu untuk memberi tahu Anda
saat pengguna telah membatalkan tautan akun aplikasi dari Assistant.
Setelah menerima intent action.devices.DISCONNECT
, Anda tidak boleh melaporkan
status untuk perangkat pengguna ini.