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 mana 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 karakteristik mana yang diperlukan untuk otomatisasi, dan apakah didukung oleh Automation API di Android.
- Ciri yang harus mengaktifkan otomatisasi sebagai pemicu. Starter dibahas dalam Komponen otomatisasi di Android.
- Kondisi tambahan yang menentukan apakah otomatisasi harus benar-benar dijalankan, dan tindakan mana yang harus dilakukan.
- Alur eksekusi untuk otomatisasi. Haruskah dijalankan secara berurutan atau paralel? Apakah Anda memerlukan beberapa jalur logika?
Saat mendesain, diagram alur otomatisasi, node demi node, dengan logika yang diperlukan di setiap langkah mungkin akan berguna.
Setelah mendesain otomatisasi, gunakan DSL Otomatisasi untuk membuatnya. 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 digunakan sendiri.
Berikut adalah berbagai jenis otomatisasi yang dapat dibuat aplikasi menggunakan Home API. Lihat halaman Membangun otomatisasi untuk cuplikan kode yang berkaitan dengan contoh ini.
Otomatisasi sederhana
Misalnya, Anda perlu menulis aplikasi yang membuat otomatisasi untuk 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 tempat otomatisasi akan dijalankan. Discovery API dapat membantu Anda menentukan apakah alamat ditetapkan ke struktur atau tidak.
Jadi, alur eksekusi akan terlihat seperti ini:
- Dengan 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
upOrOpen
traitWindowCovering
.
Otomatisasi yang kompleks
Bayangkan sebuah aplikasi yang membuat otomatisasi yang memicu lampu berkedip saat gerakan terdeteksi.
Salah satu tugas pertama dalam mengimplementasikan aplikasi ini adalah mencari tahu lampu apa saja 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 buat berkedip.
Alur eksekusi:
- Dengan menggunakan Discovery API, kumpulkan daftar perangkat lampu yang ada di
struktur, yang merupakan perangkat 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 meninggalkan atau tiba di lokasi, dengan memantau
AreaPresenceState
. - Jika
presenceState
menunjukkan bahwa struktur ditempati, kedipkan lampu yang dipilih.
- Mulai otomatisasi setiap kali seseorang meninggalkan atau tiba di lokasi, dengan memantau
Otomatisasi umum
Untuk contoh otomatisasi yang lebih canggih, pertimbangkan otomatisasi yang memandu pengguna membuat otomatisasi terbuka, berdasarkan salah satu atau semua perangkat yang ada di rumahnya.
Otomatisasi mungkin terlebih dahulu meminta pengguna untuk memilih struktur.
Kemudian, otomatisasi dapat menampilkan semua ruangan dalam struktur dalam tampilan garis luar yang dapat diluaskan, dengan meluaskan ruangan akan menampilkan perangkat di dalamnya. Memperluas perangkat akan mencantumkan pemicu dan perintah yang didukung oleh perangkat tersebut.
Pengguna dapat memilih perangkat, pemicu, dan perintah yang ingin digunakan, dan otomatisasi akan memandu pengguna merakit otomatisasi.
Setelah semua pilihan dan keputusan pengguna bersifat final, otomatisasi akan membuat otomatisasi dan menyimpannya ke struktur yang dipilih pengguna.
Secara umum, otomatisasi tersebut perlu mengumpulkan beberapa set data tentang rumah pengguna menggunakan Structure API for Android, Device API for Android, dan Discovery API.
API | Informasi |
---|---|
Structure API |
|
Device API |
|
Discovery API |
|