Membuat otomatisasi bernaskah

1. Pengantar

Yang akan Anda pelajari

  • Cara merencanakan dan menulis otomatisasi dengan skrip.
  • Cara menguji otomatisasi dengan skrip.

Yang Anda butuhkan

  • Ponsel Android atau iOS yang menjalankan aplikasi Google Home.
  • Lampu smart atau perangkat lain yang disertifikasi untuk Kompatibel dengan Google Home dan dapat dihidupkan atau dimatikan.

2. Siapkan perangkat

Jika perangkat Anda belum disiapkan, lanjutkan dan siapkan perangkat di rumah Anda.

Konfirmasi bahwa perangkat muncul di aplikasi Google Home, dan Anda dapat mengaktifkan serta menonaktifkannya menggunakan aplikasi Home.

3. Merencanakan otomatisasi dengan skrip

Kita akan mulai dengan memikirkan apa yang ingin kita lakukan dengan otomatisasi yang dibuat dengan skrip. Hal ini mencakup pertimbangan seperti:

  • Perangkat mana yang ingin Anda otomatiskan.
  • Pemicu (atau peristiwa) apa yang harus memicu eksekusi otomatisasi yang dibuat dengan skrip.
  • Kondisi tambahan apa saja, jika ada, yang mengontrol apakah otomatisasi yang dibuat dengan skrip berjalan atau tidak setelah dipicu.
  • Tindakan apa yang akan dilakukan.

Untuk tujuan codelab ini, rencana kita adalah membuat otomatisasi dengan skrip melakukan dua hal:

  1. Menyalakan lampu (atau perangkat smart lainnya) pada waktu tertentu.
  2. Menonaktifkan perangkat pada waktu tertentu.

Setelah kita memahami dengan jelas apa yang kita inginkan dari otomatisasi dengan skrip, kita akan membuka editor skrip dan menulis otomatisasi dengan skrip.

4. Menulis otomatisasi dengan skrip

Otomatisasi dengan skrip ditulis secara deklaratif menggunakan bahasa serialisasi data YAML.

Otomatisasi dengan skrip terdiri dari dua bagian utama:

  1. Metadata - Nama otomatisasi dengan skrip dan deskripsi fungsinya.
  2. Aturan otomatisasi — Menentukan logika inisiasi dan perilaku otomatisasi.

Metadata

Metadata otomatisasi kami memberi tahu pengguna nama dan fungsi otomatisasi. Metadata ditentukan dalam blok metadata, yang terlihat seperti ini:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times

Aturan otomatisasi

Aturan otomatisasi adalah tempat pekerjaan sebenarnya dilakukan. Terdiri dari tiga bagian, pemicu, kondisi, dan tindakan, yang dievaluasi secara berurutan:

1 Starters

2 Kondisi

3 Tindakan

Pemicu adalah hal yang memulai otomatisasi. Setidaknya satu pemicu harus dievaluasi sebagai true agar kondisi berikutnya dapat dievaluasi.

Opsi ini bersifat opsional, dan terdiri dari satu atau beberapa batasan tambahan yang dievaluasi setelah pemula diaktifkan. Jika kondisi diselesaikan ke true, tindakan akan berjalan. Jika diselesaikan ke false, tindakan tidak akan berjalan.

Saat menyertakan beberapa batasan, pisahkan dengan kata kunci and dan or untuk membentuk satu ekspresi logis. Ekspresi ini harus diselesaikan menjadi true agar tindakan otomatisasi dapat dilanjutkan.

Kondisi tidak sama dengan notifikasi perubahan status:

  • Kondisi mewakili fakta yang harus benar pada saat pemicu "diaktifkan" agar tindakan dapat dijalankan.
  • Pemberitahuan perubahan status adalah peristiwa seperti perangkat lain yang diaktifkan.

Tindakan adalah operasi yang dilakukan saat pemicu dan kondisi batasan telah terpenuhi.

Blok automations otomatisasi kita berisi dua aturan:

automations:
  - starters:
      - type: time.schedule
        at: 1:00 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: true
  - starters:
      - type: time.schedule
        at: 1:05 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: false

Perhatikan hal berikut:

  1. Ada dua aturan automations. Yang pertama menyalakan lampu, dan yang kedua mematikan lampu.
  2. Setiap aturan memiliki satu tindakan.
  3. on: true berarti nyalakan lampu. Demikian pula, on: false berarti matikan lampu.
  4. Setiap aturan memiliki satu pemicu time.schedule yang memberi tahu otomatisasi waktu untuk memulai otomatisasi.
  5. Tidak ada kondisi dalam otomatisasi ini.

5. Otomatisasi berbasis skrip penuh

Dengan menggabungkan semua bagian ini, berikut tampilan otomatisasi yang di-script secara lengkap:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times
automations:
  - starters:
      - type: time.schedule
        at: 1:00 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: true
  - starters:
      - type: time.schedule
        at: 1:05 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: false
  1. Salin otomatisasi (di atas).
  2. Buka Google Home untuk web.
  3. Pilih tab otomatisasi, yang diwakili oleh ikon dengan tiga bintang:
    Tab Automations
  4. Klik + Tambahkan perbandingan baru.
  5. Di editor skrip, hapus template otomatisasi.
  6. Tempelkan otomatisasi Anda.
  7. Ganti Desk light - Office dengan nama dan lokasi perangkat Anda.
  8. Klik Validasi. Editor skrip menggarisbawahi bagian otomatisasi dengan skrip yang berisi error. Atasi error yang muncul dan terus lakukan validasi serta perbaikan hingga tidak ada lagi error. Misalnya, nama perangkat Anda mungkin berbeda. Jika demikian, Anda dapat menggunakan fitur pelengkapan otomatis untuk memilih nama perangkat yang valid.
  9. Klik Simpan.
  10. Pastikan tombol Aktifkan, di bawah teks skrip Anda, berada pada posisi aktif: Editor skrip dengan otomatisasi berbasis skrip yang divalidasi dan diaktifkan sepenuhnya

6. Menguji otomatisasi

  1. Pastikan perangkat Anda dicolokkan dan terlihat di aplikasi Google Home.
  2. Jika perangkat sedang aktif, nonaktifkan.
  3. Di halaman Otomatisasi di Google Home untuk web, klik tombol 'jalankan' di samping otomatisasi Anda.
    Tombol jalankan skrip
  4. Perangkat akan menyala.

Sekarang, mari kita uji otomatisasi.

  1. Nonaktifkan perangkat.
  2. Edit otomatisasi, dan ubah waktu 'perangkat aktif' di baris 7 menjadi lima menit ke depan.
  3. Ubah waktu 'device off' di baris ke-14 menjadi waktu sesaat setelah 'on time'.
  4. Klik Validasi. Atasi error yang mungkin muncul.
  5. Klik Simpan.
  6. Pastikan tombol Aktifkan berada pada posisi aktif.
  7. Tunggu hingga kedua waktu mulai berlalu. Perangkat akan menyala, lalu mati pada waktu yang Anda tentukan.

7. Selamat!

Anda telah berhasil membuat otomatisasi dengan skrip - luar biasa!

Dalam codelab ini, Anda telah mempelajari cara:

  • Cara merancang dan menulis otomatisasi.
  • Cara menguji otomatisasi.

Langkah berikutnya

Dalam codelab ini, kita telah membuat otomatisasi yang sangat sederhana. Otomatisasi dapat melakukan lebih dari sekadar menjadwalkan pengalihan tombol daya. Setelah memahami dasar-dasar pembuatan otomatisasi, Anda dapat menjelajahi berbagai jenis pemicu, kondisi, dan tindakan yang tersedia di ekosistem Google Home.

Coba latihan berikut:

  • Tambahkan lebih banyak pemicu time.schedule ke otomatisasi.
  • Ubah otomatisasi untuk mengaktifkan dan menonaktifkan perangkat lain pada jadwal yang sama.
  • Tanpa menghapus pemicu time.schedule, ubah otomatisasi agar hanya mengaktifkan perangkat saat perangkat lain diaktifkan. Lihat skrip contoh yang menggunakan klausa condition.
  • Ubah otomatisasi agar hanya menyalakan perangkat saat ada orang di rumah.

Bacaan lebih lanjut

Untuk mempelajari lebih lanjut otomatisasi Google Home, pelajari dokumentasi referensi Otomatisasi: