Membuat template otomatisasi

1. Pengantar

Yang akan Anda pelajari

  • Cara mendesain dan menulis template otomatisasi.
  • Cara menguji template otomatisasi menggunakan Konsol Developer Google Home.

Yang Anda butuhkan

  • Ponsel Android atau iOS yang menjalankan aplikasi Google Home.
  • Lampu smart yang sudah dihubungkan ke rumah Anda, atau perangkat simulasi di Google Home Playground.

Prasyarat

Anda harus memahami cara menulis otomatisasi Google Home. Jika Anda belum pernah menulis otomatisasi, sebaiknya ikuti codelab Membuat otomatisasi dengan skrip sebelum melanjutkan codelab ini.

2. Template dan instance otomatisasi

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

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

3. Merencanakan template otomatisasi Anda

Saat membuat otomatisasi, seseorang akan mulai dengan memikirkan masalah yang ingin diselesaikan, dan apa yang akan dilakukan otomatisasi untuk menyelesaikan masalah tersebut. Hal ini mencakup pertimbangan seperti:

  • Perangkat mana yang ingin Anda otomatiskan.
  • Pemicu (atau peristiwa) apa yang akan memicu eksekusi otomatisasi.
  • Kondisi tambahan apa, jika ada, yang mengontrol apakah otomatisasi berjalan atau tidak setelah dipicu.
  • Tindakan apa 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 mempertimbangkan hal ini, Anda siap 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 STEKER
    • IKLIM DAN ENERGI
    • KEAMANAN DAN AWARENESS
    • HIBURAN
    • PERALATAN DAN LAINNYA
  2. Input - Menentukan jenis perangkat yang akan dikontrol oleh 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.

Berikut 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 berikut:

  • Bagian metadata berisi nama dan deskripsi otomatisasi ini.
  • Bagian input menentukan variabel bernama the_light yang menentukan perangkat berjenis LIGHT. Artinya, template ini hanya dapat digunakan untuk lampu, bukan untuk jenis perangkat lain. Dengan kata lain, saat pengguna menyiapkan otomatisasi di rumahnya dan diminta untuk memilih perangkat untuk $the_light, pilihan perangkatnya akan dibatasi ke perangkat dengan jenis yang Anda tentukan.
  • Selain itu, di bagian input ditentukan dua variabel bernama time_on dan time_off. Hal 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 menyetel nilai time_on atau time_off, nilai default akan digunakan.
  • Bagian automations dari otomatisasi kami berisi dua aturan otomatisasi. Setiap aturan memiliki satu pemicu time.schedule yang memberi tahu otomatisasi pukul berapa otomatisasi tersebut harus dimulai.

Editor template

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

  1. Buka Google Home Developer Console.
  2. Login dengan akun yang sama dengan yang digunakan untuk menyiapkan perangkat Anda di aplikasi Google Home.
  3. Buat atau pilih project yang ada.
  4. Di bagian Otomatisasi, klik Kembangkan.
  5. Klik Buat template.
  6. Salin template otomatisasi "Lampu terjadwal".
  7. Tempelkan template otomatisasi "Lampu terjadwal" ke editor template.
  8. Klik Validasi. Atasi error apa pun yang mungkin muncul dan terus validasi serta perbaiki hingga tidak ada error yang muncul.
  9. Klik Simpan untuk menyimpan template.

5. Menguji template

Sekarang Anda dapat menguji template di Konsol.

  1. Pastikan lampu Anda dicolokkan dan terlihat di aplikasi Google Home.
  2. Jika lampu menyala, matikan.
  3. Buka Google Home Developer Console.
  4. Buka project tempat Anda membuat template.
  5. Pilih Otomatisasi, lalu pilih tab Uji.
  6. Klik Buka di samping template otomatisasi "Lampu terjadwal".
  7. Pilih struktur tempat Anda ingin menguji template, lalu klik Berikutnya.
  8. Di editor InputValue, tentukan nama lampu Anda. Misalnya, jika lampu Anda bernama "Desk light - Office", Anda akan memilih Desk light - Office dari menu drop-down yang muncul saat Anda mengklik di sebelah kanan lights. Atau, Anda dapat mengetik nama perangkat.
  9. Juga di editor InputValue, tentukan waktu time_on ke waktu, misalnya, lima menit ke depan, dan ubah waktu time_off ke waktu sesaat 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 kedua waktu mulai berlalu. 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 Developer Google Home.

Langkah berikutnya

Dalam codelab ini, Anda telah membuat otomatisasi yang sangat sederhana. Otomatisasi dapat melakukan lebih dari sekadar menjadwalkan pengalihan 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 lebih lanjut otomatisasi Google Home, pelajari dokumentasi referensi Otomatisasi: