Otomasyonlar

automations Yapısı, otomasyon komut dosyasının temelini oluşturur. Başlatıcılar, koşullar ve işlemler de dahil olmak üzere otomasyon davranışı burada belirtilir. Bunlara toplu olarak otomasyon kuralı da denir.

automations Yapısı, bir veya daha fazla otomasyon kuralı içerir ve her kural her zaman bir dizi başlatıcı ve işlem içerir. Bir kural isteğe bağlı olarak koşullar içerebilir. Koşullar, komut dosyasının yürütülmesi için geçerli olması gereken ek niteleyicilerdir.

Anahtar Tür Açıklama

name

String

İsteğe bağlı

Otomasyonun adı.

Bu açıklama kullanıcılara gösterilmez, yalnızca geliştirici referansı içindir.

starters

[Starter]

Zorunlu

Başlangıç talimatlarının listesi.

condition

Koşul

İsteğe bağlı

Koşul

actions

[Action]

Zorunlu

İşlemlerin listesi

Örnekler

Aşağıda automations Yapıları ile ilgili iki giriş örneği verilmiştir.

İlk örnekte, "TV'm" adlı bir TV açıldığında otomasyon başlatılıyor.

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 seviyesi 50'ye ayarlanmış.

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 batımında başlatılıyor:

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şlatıcı 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şlangıcı örneği:

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

Cihaz durumu değişiklikleriyle ilgili bir başlangıç örneği:

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

Bir cihaz etkinliğinde başlatıcı örneği:

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

Evde varlık modu değişiklikleriyle ilgili başlangıç örneği:

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

Başlangıç noktalarının tam listesini görüntüleyin.

Koşul

Koşullar, daha karmaşık mantığı ifade etmek için and, or ve not mantıksal operatörleriyle birleştirilebilir.

Aşağıdaki örnekte, bir time koşulu ve bir device.state koşulu içeren bir condition Struct vardır. Bu yapı, komut dosyasının aşağıdaki durumlarda çalışmasına olanak tanır: Pazartesi veya salı günleri gün batımı ile gün doğumu arasında ya da TV'nin ses düzeyi 1 ile 10 arasındaysa:

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

Bir otomasyon komut dosyasının yürütülmesini hafta sonları sabah 10:00'dan önceyle sınırlayan temel bir time koşul örneği:

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

Termostat cihazı sensör sıcaklığı koşulu:

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, 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ı kapatma işlemi örneği.

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

Diğer işlemler arasına gecikme ekleme işlemi.

type: time.delay
for: 5min

İşlemlerin tam listesini görüntüleyin.