Membuat template otomatisasi

Tentang codelab ini
schedule34 menit
subjectTerakhir diperbarui 26 September 2023
account_circleDitulis oleh Jonathan Donald and Andres Gomez
  • Cara mendesain dan menulis template otomatisasi.
  • Cara menguji template otomatisasi menggunakan Konsol Play Google Home.
  • Ponsel Android atau iOS yang menjalankan aplikasi Google Home.
  • Lampu smart yang terpasang di rumah Anda, atau perangkat simulasi di Google Home Playground.

Anda seharusnya sudah memahami cara menulis otomatisasi Google Home. Jika Anda belum pernah menulis otomatisasi, pertimbangkan untuk melakukan codelab Membuat otomatisasi dengan skrip sebelum melanjutkan dengan yang ini.

Developer membuat template otomatisasi menggunakan editor template otomatisasi di Konsol Google Home. Template otomatisasi berisi esensi logika skrip, merujuk pada jenis perangkat, tetapi bukan perangkat tertentu.

Dengan menggunakan editor skrip otomatisasi Google Home untuk web, pengguna akhir mengambil template otomatisasi dan membuat instance yang dipersonalisasi yang berfungsi di perangkat tertentu di rumah mereka sendiri. Setelah disimpan, instance akan muncul di bagian Rutinitas Anggota Keluarga di aplikasi Google Home (GHA).

3. Merencanakan template otomatisasi

Saat membuat otomatisasi, seseorang memulainya dengan memikirkan masalah yang coba dipecahkan, dan apa yang akan dilakukan otomatisasi untuk menyelesaikan masalah tersebut. Pertimbangan ini mencakup:

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

Untuk tujuan codelab ini, otomatisasi Anda akan melakukan dua hal:

  1. Menyalakan lampu pada waktu tertentu.
  2. Matikan lampu yang sama pada waktu tertentu.

Dengan mengingat hal ini, Anda siap untuk membuka editor template dan menulis otomatisasi.

4. Menulis template otomatisasi

Otomatisasi ditulis secara deklaratif menggunakan bahasa serialisasi data YAML.

Template otomatisasi memiliki tiga bagian utama:

  1. Metadata - Nama otomatisasi, deskripsi tentang fungsinya, dan secara opsional, beberapa tag yang digunakan untuk mengklasifikasikan otomatisasi. Kata kuncinya adalah:
    • Pencahayaan DAN Konektor
    • IKLIM DAN ENERGI
    • KEAMANAN DAN KESADARAN
    • HIBURAN
    • PERALATAN DAN LAINNYA
  2. Input - Menentukan jenis perangkat yang ingin dikontrol otomatisasi. Mesin otomatisasi menggunakan informasi ini untuk mengetahui jenis tindakan yang valid untuk perangkat yang dimaksud.
  3. Aturan otomatisasi — Menentukan logika inisiasi dan perilaku otomatisasi.

Ini adalah template otomatisasi yang akan Anda gunakan:

metadata:
  name:
    en: Scheduled light
  description:
    en: Turn the light on and off at specific times
  tags:
    - LIGHTING AND PLUGS
input:
  the_light:
    metadata:
      name:
        en: The light
      description:
        en: The light to be controlled
    selector:
      type: device
      multiSelect: true
      supportedTypes:
        - LIGHT
  time_on:
    metadata:
      name:
        en: Time to turn on the light.
      description:
        en: The time of day to turn on the selected light.
    selector:
      type: time
      default: sunset+30min
  time_off:
    metadata:
      name:
        en: Time to turn off the light.
      description:
        en: The time of day to turn off the selected light.
    selector:
      type: time
      default: 10:00 pm
automations:
  - name: Turn on the light
    starters:
      - type: time.schedule
        at: $time_on
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: true
  - name: Turn off the light
    starters:
      - type: time.schedule
        at: $time_off
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: false

Baca template dan perhatikan hal-hal berikut:

  • Bagian metadata berisi nama dan deskripsi otomatisasi ini.
  • Bagian input menentukan variabel bernama the_light yang menentukan perangkat jenis LIGHT. Artinya, template ini hanya dapat digunakan untuk lampu, bukan untuk jenis perangkat lainnya. Dengan kata lain, saat pengguna, yang menyiapkan otomatisasi Anda di rumah, diminta memilih perangkat untuk $the_light, pilihan perangkatnya dibatasi untuk perangkat dengan jenis yang Anda tentukan.
  • Selain itu, ditentukan di bagian input adalah dua variabel bernama time_on dan time_off. Template ini memungkinkan pengguna menentukan kapan harus memulai otomatisasi. time_on menunjukkan waktu saat lampu dinyalakan, dan time_off menunjukkan waktu saat lampu dimatikan. Jika pengguna tidak menetapkan nilai time_on atau time_off, nilai default akan digunakan.
  • Bagian automations dari otomatisasi berisi dua aturan otomatisasi. Setiap aturan memiliki satu pemicu time.schedule yang memberi tahu otomatisasi jam berapa harus memulai otomatisasi tersebut.

Editor template

Editor template otomatisasi adalah alat yang Anda gunakan untuk menulis template otomatisasi.

  1. Buka Konsol Developer Google Home.
  2. Login dengan akun yang sama dengan yang digunakan untuk menyiapkan perangkat Anda di aplikasi Google Home.
  3. Buat atau pilih project yang sudah ada.
  4. Di bagian Automations, klik Develop.
  5. Klik Create a template.
  6. Salin "Cahaya terjadwal" template otomatisasi.
  7. Tempel "Lampu terjadwal" template otomatisasi ke editor template.
  8. Klik Validasi. Selesaikan error apa pun yang mungkin muncul dan terus validasi dan perbaiki sampai tidak ada error yang muncul.
  9. Klik Save untuk menyimpan template.

5. Menguji template

Sekarang Anda dapat menguji template di Console.

  1. Pastikan lampu dicolokkan dan terlihat di aplikasi Google Home.
  2. Jika lampu menyala, matikan.
  3. Buka Konsol Developer Google Home.
  4. Buka project tempat Anda membuat template.
  5. Pilih Otomatisasi, lalu pilih tab Pengujian.
  6. Klik Buka di samping "Lampu terjadwal" template otomatisasi.
  7. Pilih struktur tempat Anda ingin menguji template, lalu klik Next.
  8. Di editor InputValue, tentukan nama lampu Anda. Contohnya, jika lampu Anda bernama "Lampu meja - Kantor", pilih Desk light - Office dari menu drop-down yang muncul saat Anda mengklik di sebelah kanan lights. Atau Anda dapat mengetikkan nama perangkat.
  9. Juga di editor InputValue, tentukan waktu time_on ke waktu, lima menit setelahnya, dan ubah waktu time_off menjadi waktu tepat setelah time_on.
  10. Setelah selesai, editor InputValue akan terlihat seperti ini:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. Klik Aktifkan pengujian.
  12. Tunggu hingga dua waktu pemicu selesai. Lampu akan menyala lalu mati pada waktu yang ditentukan.

Setelah berhasil menguji template, Anda akan tahu bahwa otomatisasi Anda berfungsi dengan baik.

6. Selamat!

Anda telah berhasil membuat template otomatisasi. Keren!

Dalam codelab ini, Anda telah mempelajari cara:

  • Cara mendesain dan menulis template otomatisasi.
  • Cara mengujinya di Konsol Google Home.

Langkah berikutnya

Dalam codelab ini, Anda telah membuat otomatisasi yang sangat sederhana. Otomatisasi dapat melakukan lebih banyak hal dari sekadar menjadwalkan pengaktifan lampu. Setelah memahami dasar-dasar pembuatan dan pengujian template otomatisasi, Anda dapat mencoba membuat template otomatisasi untuk jenis perangkat lain, menggunakan pemicu, kondisi, dan tindakan yang berbeda.

Bacaan lebih lanjut

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