Home Assistant otomasyonlarında mode ve max ayarlarıyla çakışan tetiklemeyi yönetme
Aynı otomasyon kısa aralıkla iki kez tetiklendiğinde ışık yanıp sönüyor, röle üst üste çekiliyor ya da bildirimler çoğalıyor. Bu rehberde single, restart, queued ve parallel modlarının gerçekte ne yaptığını, max sınırını, koşul kilidini ve trace üzerinden teşhisi adım adım ele alıyorum.
Gerekenler
6 kalem- Home Assistant 2024.x veya üzeri bir kurulum (çalışan bir test otomasyonu)
- Dosya düzenleyici veya Studio Code Server eklentisi
- En az bir hareket/durum sensörü ve bir ışık ya da anahtar varlığı
- Geliştirici araçlarına erişim (Şablonlar ve Durumlar sekmeleri)
- Yedek: config klasörünün kopyası veya bir önceki yaml sürümü
- İsteğe bağlı: input_boolean yardımcı öğesi (ortak kilit için)
Kapsam ve sorunun kaynağı
Home Assistant'ta bir otomasyonun tetikleyicisi iki kez üst üste çalıştığında varsayılan davranış sessizdir: ikinci çalıştırma hiç başlamaz ve bunu ancak trace ekranında görürsünüz. Buna karşılık mode ayarını bilmeden yazılmış otomasyonlarda, özellikle delay içeren bloklarda şu tablo çıkar:
- Işık otomasyonu 2 dakikalık gecikmeyle kapanıyor, ikinci hareket geldiğinde süre uzamıyor ve ışık ortada sönüyor.
- Röle çıkışı olan bir otomasyon art arda tetiklenince kontak üst üste çekiliyor, endüktif yükte ark süresi uzuyor.
- Bildirim otomasyonu aynı olay için üç mesaj gönderiyor.
Bu yazı yazılım tarafıyla sınırlı. YAML, şablon ve trace üzerinden gidiyoruz; tesisata dokunmuyoruz.

Görsel yapay zeka ile oluşturuldu.
Modların gerçekten yaptığı iş
mode dört değer alır. Otomasyonun alias satırının hemen altına yazılır.
| mode | Davranış | Tipik kullanım |
|---|---|---|
| single | Çalışırken gelen tetiklemeyi atlar (varsayılan) | Röle darbesi, tek seferlik iş |
| restart | Çalışanı durdurur, yeni tetiklemeyle baştan başlar | Gecikmeli ışık, zaman aşımı sayacı |
| queued | Tetiklemeleri sıraya alır, tek tek çalıştırır | Bildirim, dosya yazma |
| parallel | Her tetiklemeyi eşzamanlı başlatır | Bağımsız kanallar |
max yalnızca queued ve parallel için anlamlıdır; diğer iki modda yok sayılır. max_exceeded ise sınır aşıldığında ne olacağını belirler: silent, warning veya error. Hata ayıklarken warning seçin, günlükte iz bırakır.
automation:
- alias: "Koridor isigi hareket"
id: koridor_hareket
mode: restart
max_exceeded: warning
triggers:
- trigger: state
entity_id: binary_sensor.koridor_hareket
to: "on"
actions:
- action: light.turn_on
target:
entity_id: light.koridor
- delay: "00:02:00"
- action: light.turn_off
target:
entity_id: light.koridor
Bu blokta restart seçilmesinin nedeni şu: ikinci hareket geldiğinde 2 dakikalık sayaç sıfırdan başlar, ışık koridorda kimse kalmadığında söner. single ile yazsaydınız ikinci tetikleme tamamen yok sayılır, süre uzamazdı.
Eski sürümlerden gelen platform: ve service: anahtarları hâlâ çalışır; yeni dosyalarda trigger, condition, action üçlüsünü kullanmak trace okunabilirliğini artırıyor.
Adım adım çakışan otomasyonu düzeltme
- Ayarlar > Otomasyonlar ekranında sorunlu otomasyonun son tetiklenme zamanına bakın. Saniyeler içinde iki kayıt varsa çakışma gerçek.
- Otomasyonu açın, sağ üstteki üç noktadan Traces (İzler) ekranına girin. Üstteki çalıştırma listesinde ikinci satır "skipped" ya da "already running" ise mod yanlış seçilmiş demektir.
- Otomasyonun amacını tek cümleyle yazın:
Rehberler topluluk üyelerince yazılır ve editörlerce incelenir; yine de bilgilendirme amaçlıdır. Elektrik, batarya, gaz ve tesisat işlerinde yetkili bir uzmana danış. Hatalı veya tehlikeli bir yönlendirme görürsen “Raporla” ile bildir.