Membuat otomatisasi bernaskah

1. Pengantar

Yang akan Anda pelajari

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

Yang akan Anda butuhkan

  • Ponsel Android atau iOS yang menjalankan aplikasi Google Home.
  • Lampu smart atau perangkat lain yang memiliki sertifikasi untuk kompatibel dengan Google Home dan dapat diaktifkan atau dinonaktifkan.

2. Siapkan perangkat

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

Pastikan 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 hal yang perlu dilakukan otomatisasi dengan skrip. Hal ini mencakup pertimbangan seperti:

  • Perangkat mana yang ingin Anda otomatisasi.
  • Pemicu (atau peristiwa) apa yang harus memicu eksekusi otomatisasi dengan skrip.
  • Kondisi tambahan apa, jika ada, yang mengontrol apakah otomatisasi 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. Nonaktifkan perangkat pada waktu tertentu.

Setelah memahami apa yang kita inginkan untuk dilakukan 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 tentang apa yang dilakukannya.
  2. Aturan otomatisasi — Menentukan logika dan perilaku inisiasi otomatisasi.

Metadata

Metadata otomatisasi kita memberi tahu pengguna apa yang disebut dengan otomatisasi dan apa fungsinya. 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 nyata terjadi. Ini terdiri dari tiga bagian, yaitu pemicu, kondisi, dan tindakan, yang dievaluasi secara berurutan:

1 Pemicu

2 Kondisi

3 Tindakan

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

Batas ini bersifat opsional, dan terdiri dari satu atau beberapa batasan tambahan yang dievaluasi setelah pemicu diaktifkan. Jika kondisinya ditetapkan menjadi true, tindakan akan dijalankan. Jika penyelesaian ke false, tindakan tidak akan berjalan.

Saat menyertakan beberapa batasan, pisahkan dengan kata kunci and dan or untuk membentuk satu ekspresi logika. Ekspresi ini harus di-resolve ke true agar tindakan otomatisasi dapat dilanjutkan.

Kondisi tidak sama dengan notifikasi perubahan status:

  • Kondisi mewakili fakta yang harus bernilai benar saat pemicu "dinyalakan" agar tindakan dapat berjalan.
  • Notifikasi perubahan status adalah peristiwa seperti perangkat lain diaktifkan.

Tindakan adalah operasi yang dijalankan saat kondisi pemicu dan batasan apa pun 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 menyalakan lampu. Demikian pula, on: false berarti matikan lampu.
  4. Setiap aturan memiliki satu pemicu time.schedule yang memberi tahu otomatisasi jam berapa untuk memulai otomatisasi.
  5. Tidak ada kondisi dalam otomatisasi ini.

5. Otomatisasi dengan skrip lengkap

Dengan menggabungkan semua bagian ini, berikut adalah tampilan otomatisasi dengan skrip yang 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 ditunjukkan oleh ikon dengan tiga bintang:
    Tab Otomatisasi
  4. Klik + Tambahkan perbandingan baru.
  5. Di editor skrip, hapus template otomatisasi.
  6. Tempelkan otomatisasi.
  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 validasi serta perbaiki 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, berada pada posisi aktif: Editor skrip dengan otomatisasi dengan skrip yang diaktifkan sepenuhnya dan divalidasi

6. Menguji otomatisasi

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

Sekarang, mari kita uji otomatisasi.

  1. Matikan perangkat.
  2. Edit otomatisasi, dan ubah waktu 'perangkat aktif' di baris 7 menjadi waktu lima menit ke depan.
  3. Ubah waktu 'perangkat nonaktif' di baris 14 ke waktu segera setelah 'tepat waktu'.
  4. Klik Validasi. Atasi error yang mungkin muncul.
  5. Klik Simpan.
  6. Pastikan tombol Aktifkan berada di posisi aktif.
  7. Tunggu hingga dua waktu pemicu berlalu. Perangkat akan menyala dan berbunyi pada waktu yang Anda tentukan.

7. Selamat!

Anda telah berhasil membuat otomatisasi dengan skrip - luar biasa!

Dalam codelab ini, Anda telah mempelajari cara:

  • Cara mendesain 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 mempelajari 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 dinyalakan. Lihat contoh skrip yang menggunakan klausa condition.
  • Ubah otomatisasi agar hanya mengaktifkan perangkat saat seseorang berada di rumah.

Bacaan lebih lanjut

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