Sebelum mulai menggunakan Automation API, Anda harus mendesain otomatisasi.
Tentukan parameter berikut untuk setiap otomatisasi:
- Kondisi saat otomatisasi harus disarankan kepada pengguna. Misalnya, jika pengguna baru saja menambahkan tiga lampu baru ke rumahnya, dia mungkin tertarik dengan otomatisasi tertentu yang disesuaikan untuk mengontrol lampu.
- Jenis perangkat yang diperlukan untuk otomatisasi. Misalnya, jika pengguna baru saja menambahkan tiga lampu baru ke rumahnya, dia mungkin tertarik dengan otomatisasi tertentu yang disesuaikan untuk mengontrol lampu. Contoh jenis perangkat lampu mencakup
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDevice, atauExtendedColorLightDevice. - Atribut dan perintah trait yang diperlukan untuk otomatisasi, dan apakah atribut serta perintah tersebut didukung oleh Automation API di Android.
- Trait yang harus mengaktifkan otomatisasi sebagai pemicu. Pemicu dibahas dalam Komponen otomatisasi di Android.
- Kondisi tambahan yang menentukan apakah otomatisasi harus benar-benar berjalan, dan tindakan mana yang akan dilakukan.
- Alur eksekusi untuk otomatisasi. Apakah harus dieksekusi secara berurutan atau paralel? Apakah Anda memerlukan beberapa jalur logika?
Saat mendesain, mungkin berguna untuk membuat diagram alur otomatisasi, node demi node, dengan logika yang diperlukan di setiap langkah.
Setelah mendesain otomatisasi, gunakan Automation DSL untuk mem-build-nya. Otomatisasi yang Anda buat pada dasarnya adalah "template" — semua struktur dan perangkat di dalamnya adalah placeholder dan diisi dengan struktur dan perangkat spesifik setiap pengguna saat mereka "mengadopsi" otomatisasi untuk penggunaan mereka sendiri.
Berikut adalah berbagai jenis otomatisasi yang dapat dibuat aplikasi menggunakan Home API. Lihat halaman Membangun otomatisasi untuk mengetahui cuplikan kode yang berkaitan dengan contoh ini.
Otomatisasi sederhana
Misalnya, Anda perlu menulis aplikasi yang membuat otomatisasi yang menaikkan tirai pada pukul 08.00. Untuk melakukannya, aplikasi memerlukan daftar tirai (perangkat dengan jenis perangkat WindowCoveringDevice) yang ada dalam struktur yang mendukung otomatisasi, yang dapat disediakan oleh Discovery API.
Untuk otomatisasi yang perlu dijalankan pada waktu tertentu, Anda juga harus memastikan bahwa pengguna telah menetapkan alamat jalan untuk struktur yang dipilih di Google Home app (GHA). Jika tidak, otomatisasi tidak akan mengetahui zona waktu tempatnya akan berjalan. Discovery API dapat membantu Anda menentukan apakah alamat ditetapkan ke struktur atau tidak.
Jadi, alur eksekusi akan terlihat seperti ini:
- Menggunakan Discovery API, kumpulkan daftar perangkat
WindowCoveringDevice. - Jika alamat jalan tidak diisi, beri tahu pengguna bahwa mereka harus memberikan alamat jalan, dan hentikan eksekusi.
- Jika tidak, tentukan otomatisasi:
- Mulai otomatisasi pada pukul 08.00.
- Untuk setiap tirai, panggil perintah
upOrOpentraitWindowCovering.
Otomatisasi kompleks
Bayangkan aplikasi yang membuat otomatisasi yang memicu lampu berkedip saat gerakan terdeteksi.
Salah satu tugas pertama dalam menerapkan aplikasi ini adalah mencari tahu lampu apa yang tersedia di rumah pengguna menggunakan Discovery API. Dengan informasi ini, aplikasi Anda kini dapat menampilkan lampu yang tersedia dan mungkin memungkinkan pengguna memilih lampu mana yang ingin mereka kedipkan.
Alur eksekusi:
- Menggunakan Discovery API, kumpulkan daftar perangkat lampu yang ada dalam struktur, yang akan menjadi perangkat apa pun dengan jenis perangkat
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDevice, atauExtendedColorLightDevice. - Sediakan cara untuk memilih lampu yang berkedip, mungkin melalui panel Setelan kustom.
- Tentukan otomatisasi:
- Mulai otomatisasi setiap kali seseorang pergi atau tiba di lokasi, dengan memantau
AreaPresenceState. - Jika
presenceStatemenunjukkan bahwa struktur sedang digunakan, kedipkan lampu yang dipilih.
- Mulai otomatisasi setiap kali seseorang pergi atau tiba di lokasi, dengan memantau
Otomatisasi generik
Untuk contoh otomatisasi yang lebih canggih, pertimbangkan otomatisasi yang memandu pengguna membuat otomatisasi terbuka, berdasarkan perangkat apa pun atau semua perangkat yang mereka miliki di rumah.
Otomatisasi mungkin akan meminta pengguna untuk memilih struktur terlebih dahulu.
Kemudian, otomatisasi dapat menampilkan semua ruangan dalam struktur dalam tampilan garis besar yang dapat diperluas, yang memperluas ruangan akan menampilkan perangkat di dalamnya. Memperluas perangkat lebih lanjut akan mencantumkan pemicu dan perintah yang didukung oleh perangkat tersebut.
Pengguna dapat memilih perangkat, pemicu, dan perintah yang ingin mereka gunakan, dan otomatisasi akan memandu pengguna dalam merakit otomatisasi.
Setelah semua pilihan dan keputusan pengguna selesai, otomatisasi akan membuat otomatisasi dan menyimpannya ke struktur yang dipilih.
Pada tingkat tinggi, otomatisasi tersebut perlu mengumpulkan beberapa kumpulan data tentang rumah pengguna menggunakan Structure API untuk Android, Device API untuk Android, dan Discovery API.
| API | Informasi |
|---|---|
| Structure API |
|
| Device API |
|
| Discovery API |
|