Otomasyonlar

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

name

Dize

İsteğe bağlı

Otomasyonun adı.

Bu ad kullanıcılara gösterilmez, yalnızca geliştirici referansı için kullanılır.

starters

[Başlatıcı]

Gerekli

Başlatıcıların listesi.

condition

Durum

İsteğe bağlı

Koşul

actions

[İş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

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