Otomatisasi

Struct automations adalah inti dari skrip otomatisasi. Di sinilah perilaku otomatisasi ditentukan, termasuk pemicu, kondisi, dan tindakan. Secara keseluruhan, aturan ini juga disebut sebagai aturan otomatisasi.

Struct automations berisi satu atau beberapa aturan otomatisasi, dan setiap aturan selalu berisi kumpulan pemicu dan tindakan. Secara opsional, aturan dapat berisi kondisi, yang merupakan penentu tambahan yang harus diterapkan agar skrip dapat dieksekusi.

Key Jenis Deskripsi

name

String

Opsional

Nama otomatisasi.

Nama ini tidak ditampilkan kepada pengguna, hanya untuk referensi developer.

starters

[Pemicu]

Wajib

Daftar pemicu.

condition

Kondisi

Opsional

Kondisi

actions

[Tindakan]

Wajib

Daftar tindakan

Contoh

Berikut adalah dua contoh pengantar Struktur automations.

Pada contoh pertama, otomatisasi dimulai saat TV bernama "TV Saya" diaktifkan.

Setelah dipicu, tindakan berikut akan dilakukan:

Dua perangkat LIGHT, bernama "Cahaya A" dan "Cahaya B", diaktifkan dan disetel ke tingkat kecerahan 50.

automations:
- name: Dim the lights
  starters:
  - type: device.state.OnOff
    device: My TV - Living Room
    state: on
    is: true
  actions:
  - type: device.command.OnOff
    devices:
    - Light A - Living Room
    - Light B - Living Room
    on: true
  - type: device.command.BrightnessAbsolute
    devices:
    - Light A - Living Room
    - Light B - Living Room
    brightness: 50

Pada contoh kedua, otomatisasi yang sama dimulai saat matahari terbenam setiap hari Senin dan Kamis:

automations:
- name: Dim the lights
  starters:
  - type: time.schedule
    at: SUNSET
    weekday:
    - MONDAY
    - THURSDAY
    state: on
    is: true
  actions:
  - type: device.command.OnOff
    devices:
    - Light A - Living Room
    - Light B - Living Room
    on: true
  - type: device.command.BrightnessAbsolute
    devices:
    - Light A - Living Room
    - Light B - Living Room
    brightness: 50

Makanan pembuka

Struct Starter adalah tempat Anda menentukan pemicu yang menyebabkan skrip Otomatisasi dijalankan. Setiap automation dapat berisi satu atau beberapa pemicu, dan setidaknya satu pemicu harus bernilai true agar kondisi berikutnya dapat dievaluasi.

Contoh pemicu time.schedule:

type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE

Contoh perubahan status perangkat pemicu:

type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10

Contoh pemicu pada peristiwa perangkat:

type: device.event.DoorbellPress
device: My doorbell - Frontdoor

Contoh perubahan pada pemicu pada mode kehadiran di rumah:

type: home.state.HomePresence
state: homePresenceMode
is: HOME

Lihat daftar lengkap pemicu.

Kondisi

Kondisi dapat digabungkan dengan operator logika and, or, dan not untuk mengekspresikan logika yang lebih kompleks.

Pada contoh berikut, ada Struct condition dengan satu kondisi time dan satu kondisi device.state. Struct ini memungkinkan skrip berjalan jika waktunya antara matahari terbenam dan matahari terbit pada hari Senin atau Selasa, atau jika volume TV antara 1 dan 10:

type: or
conditions:
- type: time.between
  before: sunrise
  after: sunset
  weekdays:
  - MON
  - TUE
- type: device.state
  device: My TV - Living Room
  trait: Volume
  state: currentVolume
  greaterThanOrEqualTo: 1
  lessThanOrEqualTo: 10

Contoh kondisi time dasar yang membatasi eksekusi skrip Otomatisasi ke akhir pekan sebelum pukul 10.00 pagi:

type: time.between
before: 10am
weekdays:
- SAT
- SUN

Kondisi suhu sensor perangkat termostat:

type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F

Contoh kondisi home.state.HomePresence:

type: home.state.HomePresence
state: homePresenceMode
is: AWAY

Lihat daftar lengkap kondisi.

Tindakan

Seperti pemicu dan kondisi, setiap tindakan memiliki type yang menunjukkan jenis tindakan yang ditentukan.

Yang paling penting dan paling berguna adalah jenis perintah device.command. Contoh tindakan mematikan lampu.

type: device.command.OnOff
devices:
- Light A - Living Room
on: false

Tindakan untuk menambahkan penundaan di antara beberapa tindakan lainnya.

type: time.delay
for: 5min

Lihat daftar lengkap tindakan.