automations
yapısı, otomasyon komut dosyasının temelini oluşturur. Başlatıcılar, koşullar ve işlemler dahil olmak üzere otomasyon davranışı burada belirtilir.
Toplu olarak bunlar otomasyon kuralı olarak da adlandırılır.
automations
yapısı, bir veya daha fazla otomasyon kuralı içerir ve her kural her zaman bir grup başlatıcı ve işlem içerir. Kurallar, isteğe bağlı olarak koşullar içerebilir. Bunlar, komut dosyasının yürütülmesi için hazır olması gereken ek niteleyicilerdir.
Anahtar | Tür | Açıklama |
---|---|---|
|
İsteğe bağlı Otomasyonun adı. Bu ad kullanıcılara gösterilmez, yalnızca geliştirici referansı için kullanılır. |
|
|
Gerekli Başlatıcıların listesi. |
|
|
İsteğe bağlı Koşul |
|
|
[İşlem] |
Gerekli İşlemlerin listesi |
Örnekler
Aşağıda, automations
yapılarının iki tanıtıcı örneği verilmiştir.
İlk örnekte, "TV'm" adlı bir TV
açıldığında otomasyon başlatılır.
Tetiklendikten sonra aşağıdaki işlemler gerçekleştirilir:
"Işık A" ve "Işık B" adlı iki LIGHT
cihaz açık ve parlaklık düzeyi 50'ye ayarlandı.
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
İkinci örnekte, aynı otomasyon her pazartesi ve perşembe günü gün batımında başlatılmaktadır:
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
Başlangıçlar
Başlangıç Yapısı, Otomasyon komut dosyasının yürütülmesine neden olan başlatıcıları belirttiğiniz yerdir. Her automation
, bir veya daha fazla başlatıcı içerebilir ve sonraki koşulların değerlendirilmesi için en az bir başlatıcının true
olarak değerlendirilmesi gerekir.
time.schedule
başlatıcı örneği:
type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE
Cihaz durumu değişikliklerindeki bir başlatıcı örneği:
type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10
Cihaz etkinliğindeki bir başlatıcı örneği:
type: device.event.DoorbellPress
device: My doorbell - Frontdoor
Evde bulunma modu değişiklikleriyle ilgili başlatıcı örneği:
type: home.state.HomePresence
state: homePresenceMode
is: HOME
Başlatıcıların tam listesini inceleyin.
Koşul
Koşullar, daha karmaşık bir mantık ifade etmek için and
, or
ve not
mantıksal operatörleriyle birleştirilebilir.
Aşağıdaki örnekte, bir time
ve bir device.state
koşuluna sahip bir condition
yapısı vardır. Bu yapı, pazartesi veya salı günü gün batımı ile gün doğumu arasında ya da TV ses seviyesi 1 ile 10 arasında olduğunda komut dosyasının çalışmasını sağlar:
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
Otomasyon komut dosyasının yürütülmesini sabah 10:00'dan önce hafta sonlarıyla sınırlayan temel bir time
koşulu örneği:
type: time.between
before: 10am
weekdays:
- SAT
- SUN
Termostat cihaz sensörü sıcaklık durumu:
type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F
home.state.HomePresence
koşulu örneği:
type: home.state.HomePresence
state: homePresenceMode
is: AWAY
Koşulların tam listesini görüntüleyin.
İşlemler
Başlatıcılar ve koşullar gibi her işlemin de ne tür bir işlemin belirtildiğini gösteren bir type
vardır.
En önemli ve en kullanışlı olanları device.command
komut türleridir. Işıkları kapatmayla ilgili bir işlem örneği.
type: device.command.OnOff
devices:
- Light A - Living Room
on: false
Diğer birden fazla işlemin arasına gecikme eklemek için bir işlem.
type: time.delay
for: 5min