automations Struct adalah inti dari skrip otomatisasi. Di sini, perilaku otomatisasi ditentukan, termasuk pemicu, kondisi, dan tindakan.
Secara kolektif, hal ini juga disebut sebagai aturan otomatisasi.
automations Struct berisi satu atau beberapa aturan otomatisasi, dan setiap aturan selalu berisi serangkaian pemicu dan tindakan. Secara opsional, aturan dapat berisi kondisi, yang merupakan kualifikasi tambahan yang harus ada agar skrip dapat dieksekusi.
| Key | Jenis | Deskripsi |
|---|---|---|
|
|
Opsional Nama otomatisasi. Nama ini tidak ditampilkan kepada pengguna, hanya untuk referensi developer. |
|
|
|
[Starter] |
Wajib Daftar pemicu. |
|
|
Opsional Kondisi |
|
|
|
[Action] |
Wajib Daftar tindakan |
Contoh
Berikut adalah dua contoh pengantar automations Struct.
Pada contoh pertama, otomatisasi dimulai saat a
TV bernama "TV Saya" diaktifkan.
Setelah dipicu, tindakan berikut akan dilakukan:
Dua LIGHT
perangkat, yang bernama "Lampu A" dan "Lampu 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
Pemicu
Starter Struct adalah tempat Anda menentukan pemicu yang menyebabkan skrip
Otomatisasi dieksekusi. 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 pemicu pada perubahan status perangkat:
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 pemicu pada perubahan mode kehadiran di rumah:
type: home.state.HomePresence
state: homePresenceMode
is: HOME
Kondisi
Kondisi dapat digabungkan dengan operator logis and, or, dan not untuk mengekspresikan logika yang lebih kompleks.
Dalam contoh berikut, ada condition Struct 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 hingga akhir pekan sebelum pukul 10.00:
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
Tindakan
Seperti pemicu dan kondisi, setiap tindakan memiliki type yang menunjukkan jenis tindakan yang ditentukan.
Jenis perintah yang paling penting dan paling berguna adalah device.command. Contoh tindakan mematikan lampu.
type: device.command.OnOff
devices:
- Light A - Living Room
on: false
Tindakan untuk menambahkan penundaan antara beberapa tindakan lainnya.
type: time.delay
for: 5min