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 |
---|---|---|
|
Opsional Nama otomatisasi. Nama ini tidak ditampilkan kepada pengguna, hanya untuk referensi developer. |
|
|
[Pemicu] |
Wajib Daftar pemicu. |
|
Opsional Kondisi |
|
|
[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
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
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