In diesem Artikel wird beschrieben, wie mit Home Assistant und der neuen DoorLine-Integration eine Push-Benachrichtigung auf ein Smartphone oder Tablet (iOS und Android) gesendet werden kann, wenn eine Tür zu lange offen steht. Der Türzustand wird dabei über den Schalteingang der DoorLine Snap erfasst, z. B. mit einem Tür- oder Magnetkontakt.
Die Automation sendet:
-
eine Warnung, wenn die Tür seit 10 Minuten offen ist
-
eine erneute Warnung, wenn die Tür seit 1 Stunde offen ist
-
eine Meldung, sobald die Tür wieder geschlossen wurde (nur wenn vorher eine Warnung gesendet wurde)
Hinweis: Diese Anleitung gilt für die neue DoorLine-Integration. Die Namen der Entitäten unterscheiden sich von der bisherigen DoorLine Snap-Integration. Anders als bisher werden keine Geräte-IDs mehr verwendet, sondern die Namen der Entitäten. Der Code ist dadurch lesbar und lässt sich einfach anpassen.
Voraussetzungen
-
Installierte DoorLine Snap → siehe hierzu: https://doorlinedocs.tegae.de/dlsnap/
-
Ein Tür- bzw. Magnetkontakt, der an Schalteingang 1 der DoorLine Snap angeschlossen ist
-
Ein laufendes Home Assistant System → siehe hierzu: https://www.home-assistant.io/installation/
-
Abgeschlossene Einrichtung der DoorLine-Integration in Home Assistant
-
Home Assistant App auf dem Smartphone bzw. Tablet (iOS oder Android) installiert und angemeldet, Mitteilungen für die App erlaubt → siehe hierzu: https://www.home-assistant.io/integrations/mobile_app/
1. Entitäten ermitteln
Für die Automation werden der Schalteingang der DoorLine Snap und die Push-Aktion für das Smartphone benötigt.
Schalteingang der DoorLine Snap
Die Entität ist unter Einstellungen > Geräte & Dienste > DoorLine > Gerät oder unter Werkzeuge > Zustände zu finden.
sind die Geräte einzelnen Bereichen zugeordnet, wird die Bezeichnung mit in die Entität aufgenommen z.B.:
binary_sensor.doorline_snap_klingeltaste_1 binary_sensor.entrance_doorline_snap_klingeltaste_1
|
Funktion |
Name im Gerät |
Entität (Beispiel) |
|---|---|---|
|
Türkontakt |
Schalteingang 1 |
|
Zustand des Schalteingangs prüfen: Unter Werkzeuge > Zustände nach schalteingang suchen und die Tür öffnen und schließen. Bei geöffneter Tür muss der Zustand on sein, bei geschlossener Tür off.
Hinweis: Ist es genau umgekehrt (z. B. bei einem Öffnerkontakt), im Code in Schritt 2 überall
"on"und"off"vertauschen.
Push-Aktion für das Smartphone
Die Push-Aktion ist keine Entität und erscheint deshalb nicht unter Zustände. Sie ist unter Werkzeuge > Aktionen zu finden. Dazu im Suchfeld mobile_app eingeben. Der Name setzt sich immer aus notify.mobile_app_ und dem Gerätenamen der App zusammen:
|
Gerätename in der App |
Push-Aktion |
|---|---|
|
iPhone |
|
|
iPhone von Max |
|
Der Name der Push-Aktion wird in Schritt 3 von Hand in den Code eingetragen.
Hinweis: Unter Zustände gibt es zusätzlich eine Entität
notify.<gerätename>ohnemobile_app_, z. B.notify.iphone_von_max. Diese kann nur Titel und Text senden. Das Ersetzen der Nachrichten über dentag(siehe Schritt 4) funktioniert damit nicht. Für diese Anleitung die Push-Aktion mitmobile_app_verwenden.
2. Automation erstellen
Die Automation kann auf zwei Wegen erstellt werden. Beide führen zum gleichen Ergebnis:
-
Variante A – über die Oberfläche: Schritt für Schritt per Mausklick, empfohlen für Einsteiger.
-
Variante B – über YAML: Code einfügen und anpassen, schneller für erfahrene Nutzer.
Zunächst in beiden Fällen eine neue Automation erstellen unter Einstellungen > Automationen & Szenen > + Automation erstellen > Neue Automation erstellen..
Variante A: Über die Oberfläche (für Einsteiger)
Hinweis: Das Auswahlfenster für Auslöser, Bedingungen und Aktionen hat die Reiter Nach Ziel, Nach Typ und Bausteine. Ablauf-Bausteine wie Auswählen stehen im Fenster Aktion hinzufügen unter Bausteine. Alle anderen Einträge lassen sich am einfachsten über das Suchfeld Durchsuchen finden.
Die Automation besteht aus drei Auslösern (Tür 10 Minuten offen, Tür 1 Stunde offen, Tür geschlossen). Jeder Auslöser bekommt eine eigene ID. Über diese ID wird im Abschnitt Dann entschieden, welche Nachricht gesendet wird.
Schritt 1 – Auslöser: Tür 10 Minuten offen
Im Abschnitt Wenn auf + Auslöser hinzufügen klicken und Entität > Zustand wählen.
-
Entität: den Schalteingang 1 der DoorLine Snap auswählen
-
Von: leer lassen
-
Zu: Ein (je nach Kontakt auch Aus)
-
Dauer:
00:10:00
Anschließend rechts auf dem Auslöser über ⋮ > ID bearbeiten die ID offen_10_min eintragen.
Schritt 2 – Auslöser: Tür 1 Stunde offen
Auf dem ersten Auslöser über ⋮ > Duplizieren eine Kopie erstellen. In der Kopie ändern:
-
Dauer:
01:00:00 -
ID (über ⋮ > ID bearbeiten):
offen_1_h
Schritt 3 – Auslöser: Tür geschlossen
Erneut auf + Auslöser hinzufügen klicken und Entität > Zustand wählen.
-
Entität: Schalteingang 1
-
Von: Ein (bzw. Aus)
-
Zu: Aus (bzw. Ein)
-
Dauer: leer lassen
-
ID:
geschlossen
Der Abschnitt Und wenn bleibt leer.
Schritt 4 – Aktion: Auswahl anlegen
Im Abschnitt Dann auf + Aktion hinzufügen klicken und unter Bausteine die Aktion Auswählen wählen. Innerhalb von Auswählen wird für jeden Auslöser eine eigene Option angelegt.
Schritt 5 – Option 1: Warnung nach 10 Minuten
In Option 1 auf + Bedingung hinzufügen klicken, Ausgelöst durch wählen und die ID offen_10_min auswählen.
Darunter auf + Aktion hinzufügen klicken, Benachrichtigungen wählen und die Push-Aktion des eigenen Smartphones auswählen, z. B. Send a notification via mobile_app_iphone_von_max. Die Felder wie folgt ausfüllen:
-
Nachricht:
Die Haustür ist seit 10 Minuten offen! -
Titel:
Türwarnung -
Daten:
tag: doorline-tuer
Hinweis: Das Feld Daten ist optional. Wird es leer gelassen, funktioniert die Automation trotzdem. Die Nachrichten ersetzen sich dann aber nicht gegenseitig, sondern erscheinen einzeln untereinander.
Schritt 6 – Option 2: Warnung nach 1 Stunde
Auf + Option hinzufügen klicken und wie in Schritt 5 vorgehen:
-
Ausgelöst durch:
offen_1_h -
Nachricht:
Die Haustür ist seit einer Stunde offen! -
Titel:
Türwarnung -
Daten:
tag: doorline-tuer
Schritt 7 – Option 3: Meldung beim Schließen
Erneut auf + Option hinzufügen klicken.
-
Erste Bedingung: Ausgelöst durch mit der ID
geschlossen -
Zweite Bedingung: erneut auf + Bedingung hinzufügen klicken, Template wählen und in das Feld Wert-Template den folgenden Text einfügen:
{{ (trigger.to_state.last_changed - trigger.from_state.last_changed).total_seconds() >= 600 }}
Diese Bedingung sorgt dafür, dass die Meldung nur kommt, wenn die Tür mindestens 10 Minuten (600 Sekunden) offen war, also vorher auch eine Warnung gesendet wurde.
Anschließend die Push-Nachricht wie in Schritt 5 hinzufügen:
-
Nachricht:
Die Haustür ist wieder geschlossen. -
Titel:
Türwarnung -
Daten:
tag: doorline-tuer
Schritt 8 – Speichern
Auf Speichern klicken und einen Namen vergeben, z. B. „DoorLine Snap – Push-Benachrichtigung bei offener Tür“.
Die Automation ist damit fertig. Weiter mit Schritt 5. Testen.
Tipp: Über ⋮ > In YAML bearbeiten lässt sich jederzeit prüfen, wie die in der Oberfläche erstellte Automation als Code aussieht.
Variante B: Über YAML
Oben rechts über ⋮ > In YAML bearbeiten den Editor öffnen, den vorhandenen Inhalt vollständig durch den folgenden Code ersetzen und speichern:
alias: DoorLine Snap – Push-Benachrichtigung bei offener Tür
description: Warnung, wenn die Tür zu lange offen ist, und Meldung beim Schließen
mode: restart
triggers:
- trigger: state
entity_id: binary_sensor.doorline_snap_schalteingang_1
to: "on"
for: "00:10:00"
id: offen_10_min
- trigger: state
entity_id: binary_sensor.doorline_snap_schalteingang_1
to: "on"
for: "01:00:00"
id: offen_1_h
- trigger: state
entity_id: binary_sensor.doorline_snap_schalteingang_1
from: "on"
to: "off"
id: geschlossen
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: offen_10_min
sequence:
- action: notify.mobile_app_iphone
continue_on_error: true
data:
title: Türwarnung
message: Die Haustür ist seit 10 Minuten offen!
data:
tag: doorline-tuer
- conditions:
- condition: trigger
id: offen_1_h
sequence:
- action: notify.mobile_app_iphone
continue_on_error: true
data:
title: Türwarnung
message: Die Haustür ist seit einer Stunde offen!
data:
tag: doorline-tuer
- conditions:
- condition: trigger
id: geschlossen
- condition: template
value_template: >-
{{ (trigger.to_state.last_changed - trigger.from_state.last_changed).total_seconds() >= 600 }}
sequence:
- action: notify.mobile_app_iphone
continue_on_error: true
data:
title: Türwarnung
message: Die Haustür ist wieder geschlossen.
data:
tag: doorline-tuer
3. Code anpassen
Im Code die Beispiel-Entitäten durch die eigenen aus Schritt 1 ersetzen:
|
Stelle im Code |
Ersetzen durch |
|---|---|
|
|
eigener Schalteingang |
|
|
eigene Push-Aktion |
Optional anpassen:
-
Titel und Text:
titleundmessageder Benachrichtigungen frei wählen. -
Wartezeiten:
for: "00:10:00"undfor: "01:00:00"legen fest, nach welcher Zeit gewarnt wird (Format Stunden:Minuten:Sekunden). -
Meldung beim Schließen: Die Zahl
600in der Template-Bedingung gibt in Sekunden an, wie lange die Tür mindestens offen gewesen sein muss, damit beim Schließen eine Meldung kommt. Sie sollte der ersten Wartezeit entsprechen (10 Minuten = 600 Sekunden, 5 Minuten = 300 Sekunden). Wird die erste Wartezeit geändert, muss auch dieser Wert angepasst werden.
4. Funktionsweise im Überblick
-
Auslöser: Die Automation hat drei Auslöser mit je einer eigenen ID: Tür 10 Minuten offen, Tür 1 Stunde offen und Tür geschlossen.
-
Auswahl der Nachricht: Über Auswählen (
choose) und die Bedingung Ausgelöst durch wird je nach Auslöser die passende Nachricht gesendet. -
Kein Fehlalarm beim Schließen: Die Template-Bedingung prüft, wie lange die Tür offen war. Wird die Tür nur kurz geöffnet, z. B. beim normalen Betreten des Hauses, kommt beim Schließen keine Meldung.
-
Eine Nachricht statt vieler: Über den gemeinsamen
tagersetzt jede neue Nachricht die vorherige. Auf dem Smartphone steht damit immer nur der aktuelle Stand, z. B. „Die Haustür ist wieder geschlossen.“ -
Neustart der Zeitmessung: Wird die Tür zwischendurch geschlossen und wieder geöffnet, beginnt die Zeitmessung von vorn.
5. Testen
Zum Testen die erste Wartezeit vorübergehend verkürzen, z. B. auf for: "00:00:30", und den Wert in der Template-Bedingung auf 30 setzen. Anschließend die Tür öffnen, 30 Sekunden warten und wieder schließen. Auf dem Smartphone erscheint zuerst die Warnung und nach dem Schließen die Meldung „Die Haustür ist wieder geschlossen.“
Nach dem Test die ursprünglichen Werte wieder eintragen und speichern.
Hinweis: Das Starten der Automation über ⋮ > Ausführen ist für diese Automation nicht geeignet, da dabei kein Auslöser und damit keine Nachricht ausgewählt wird.
Android
Die Automation funktioniert unverändert auch mit Android-Smartphones. Der tag wird von iOS und Android gleichermaßen unterstützt.
Damit die Warnung auch im Energiesparmodus sofort ankommt, kann unter data: bei jeder Nachricht zusätzlich Folgendes ergänzt werden:
data:
tag: doorline-tuer
ttl: 0
priority: high
channel: Türwarnung
Über channel: Türwarnung legt Android beim ersten Senden einen eigenen Benachrichtigungskanal an. Unter Android-Einstellungen > Apps > Home Assistant > Benachrichtigungen > Türwarnung können anschließend Ton und Vibration separat eingestellt werden. iOS ignoriert diese Einträge.
Mehrere Geräte benachrichtigen
Für jedes weitere Smartphone oder Tablet in allen drei Optionen den Block mit der Push-Aktion kopieren und den Gerätenamen anpassen:
- action: notify.mobile_app_ipad
continue_on_error: true
data:
title: Türwarnung
message: Die Haustür ist seit 10 Minuten offen!
data:
tag: doorline-tuer
Durch continue_on_error: true werden die übrigen Geräte auch dann benachrichtigt, wenn ein Gerät nicht erreichbar ist.
Mehrere Türen überwachen
Bei einer DoorLine Snap mit mehreren Schalteingängen oder mehreren DoorLine Snap die Automation über ⋮ > Duplizieren kopieren, den Schalteingang und den Text anpassen und einen eigenen tag vergeben, z. B. doorline-garage. So ersetzen sich die Nachrichten der verschiedenen Türen nicht gegenseitig.
Fehlerbehebung
Keine Benachrichtigung Prüfen, ob Mitteilungen für die Home Assistant App erlaubt sind (iOS: Einstellungen > Mitteilungen > Home Assistant, Android: Einstellungen > Apps > Home Assistant > Benachrichtigungen) und ob die Push-Aktion mit mobile_app_ beginnt. Ein Test ist unter Werkzeuge > Aktionen möglich:
yaml
action: notify.mobile_app_iphone
data:
title: Test
message: Testnachricht
Warnung kommt bei geschlossener Tür bzw. nie bei offener Tür Der Schalteingang meldet den Zustand umgekehrt. Unter Werkzeuge > Zustände prüfen, welcher Zustand bei offener Tür angezeigt wird, und im Code "on" und "off" vertauschen (siehe Schritt 1).
Keine Meldung beim Schließen Die Meldung kommt nur, wenn die Tür mindestens so lange offen war wie in der Template-Bedingung angegeben (Standard 600 Sekunden). Unter Automation > ⋮ > Ablaufprotokoll ist zu sehen, ob die Automation ausgelöst wurde und welche Bedingung nicht erfüllt war.
Warnung nach Neustart von Home Assistant oder Verbindungsabbruch Ist die DoorLine Snap kurzzeitig nicht erreichbar, beginnt die Zeitmessung nach dem Wiederverbinden neu. Unter Einstellungen > Geräte & Dienste > DoorLine prüfen, ob die Entität Verbindung dauerhaft verbunden ist.
Entitäten nicht gefunden Die Namen der Entitäten hängen vom Gerätenamen ab. Die genauen Namen stehen unter Einstellungen > Geräte & Dienste > DoorLine > Gerät oder unter Werkzeuge > Zustände (Suche nach doorline).