Und genau für soetwas gibt es KI! Hier mal was ChatGPT dazu zu sagen hat:
Home Assistant – Alarm-Automation sofort stoppen, wenn Alarm deaktiviert wird (armed_away → disarmed)
Problem / Ausgangslage
Eine Automation wird ausgelöst, wenn ein Türsensor öffnet und der Alarm auf armed_away steht.
Dann werden u.a. Push-Nachrichten gesendet, eine Sirene gestartet und Alexa/Echo-Player spielen einen Alarmton bzw. machen Durchsagen.
Der Ablauf funktioniert.
Problem:
Wird der Alarm währenddessen deaktiviert (disarmed), läuft die gestartete Automation trotzdem bis zum Ende durch.
Warum passiert das?
In Home Assistant gilt:
condition: wird bei Automationen nur am Start geprüft
- sobald die Automation gestartet ist, werden die Aktionen unter
action: der Reihe nach ausgeführt
- Änderungen am Alarmstatus während der Laufzeit stoppen die Automation nicht automatisch
Zusätzlich kann mode: single dazu führen, dass eine Automation „fest läuft“ und nicht sauber neu gestartet/unterbrochen wird.
Ziel
Sobald der Alarm von armed_away auf disarmed wechselt, soll:
- die Sirene ausgehen
- Alexa/Echo sofort stoppen (Sound / TTS / Wiedergabe)
- die laufende „Alarm an“-Automation nicht mehr weiter Aktionen abarbeiten
Lösung Teil 1: „Alarm an“ mit Abbruch-Checks + Mode restart
Änderungen / Anpassungen (anfängertauglich erklärt)
Änderung 1: mode: restart
Am Ende der Automation wird mode: restart gesetzt.
Warum?
- verhindert, dass mehrere Alarm-Läufe parallel entstehen
- falls der Trigger erneut auslöst, wird der alte Lauf abgebrochen und neu gestartet
Änderung 2: Zwischen den Aktionen Alarmstatus erneut prüfen
Zwischen wichtigen Aktionsblöcken wird eingefügt:
- condition: state
entity_id: alarm_control_panel.house_alarm
state: armed_away
Warum?
wenn der Alarm in der Zwischenzeit deaktiviert wurde, bricht die Automation beim nächsten Check sofort ab
dadurch werden nach dem Deaktivieren keine weiteren Aktionen mehr ausgeführt
Fertige Automation: „Wohnungstür Alarm an“ (überarbeitet)
Code kopieren
alias: Wohnungstür Alarm an
description: ""
trigger:
- platform: state
entity_id: binary_sensor.myggbett_door_window_sensor_tur
from: "off"
to: "on"
condition:
# Diese Condition wird nur beim Start geprüft
- condition: state
entity_id: alarm_control_panel.house_alarm
state: armed_away
action:
# 1) Sirene / Switch einschalten
- service: switch.turn_on
target:
entity_id: ad7219baadafcb7b6cc7a516889ae679
# ✅ Abbruch-Check: Alarm muss weiterhin armed_away sein
- condition: state
entity_id: alarm_control_panel.house_alarm
state: armed_away
# 2) Push Nachrichten an Smartphones
- service: notify.mobile_app_a55
data:
title: Einbruchalarm
message: Es wurde Einbruchalarm ausgelöst!
- service: notify.mobile_app_redme_note_11
data:
title: Einbruchalarm
message: Es wurde Einbruchalarm ausgelöst!
# ✅ Abbruch-Check
- condition: state
entity_id: alarm_control_panel.house_alarm
state: armed_away
# 3) Lautstärke setzen (Echo Geräte)
- service: media_player.volume_set
target:
entity_id:
- media_player.echo_dot_wohnzimmer
- media_player.echo_dot_schlafzimmer
data:
volume_level: 0.3
# 4) Alarm Sound abspielen (Wohnzimmer)
- service: media_player.play_media
target:
area_id: wohnzimmer
data:
media_content_id: amzn_sfx_scifi_alarm_04
media_content_type: sound
# ✅ Abbruch-Check
- condition: state
entity_id: alarm_control_panel.house_alarm
state: armed_away
# 5) Durchsage überall
- service: notify.send_message
data:
target:
entity_id:
- notify.uberall_durchsagen
message: >-
Es wurde ein Einbruch registriert! Eine Alarmmeldung wurde an den
Wohnungsinhaber sowie an die örtliche Polizei weitergemeldet.
mode: restart
Lösung Teil 2 (empfohlen): Extra Automation „Alarm aus → alles stoppen“
Warum zusätzlich eine zweite Automation?
Auch wenn die „Alarm an“-Automation beim nächsten Check abbricht, kann es sein, dass ein Echo/Alexa bereits einen Sound abspielt.
Deshalb ist es sinnvoll, beim Deaktivieren (disarmed) aktiv alle Player zu stoppen und die Sirene auszuschalten.
Fertige Automation: „Wohnungstür Alarm aus“
Code kopieren
alias: Wohnungstür Alarm aus
description: ""
trigger:
- platform: state
entity_id: alarm_control_panel.house_alarm
from: armed_away
to: disarmed
condition: []
action:
# 1) Sirene / Switch ausschalten
- service: switch.turn_off
target:
entity_id: ad7219baadafcb7b6cc7a516889ae679
# 2) Wiedergabe sofort stoppen
# HINWEIS: media_stop ist zuverlässiger als media_player.turn_off
- service: media_player.media_stop
target:
entity_id:
- media_player.uberall
- media_player.echo_dot_wohnzimmer
- media_player.echo_dot_schlafzimmer
mode: single
Kurz-Fazit / Merksatz
Bedingungen werden nur beim Start geprüft → deshalb zusätzliche Zwischen-Checks einbauen
Zusätzlich beim Deaktivieren eine „Stop“-Automation erstellen, um Sound/Sirene sicher zu beenden
Für Alarm-Automationen oft sinnvoll: mode: restart
Wer findet den/die Fehler!? 