DoorLine Cam / Snap modular

Push-Benachrichtigung bei offener Tür (DoorLine Integration)

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

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

binary_sensor.doorline_snap_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

notify.mobile_app_iphone

iPhone von Max

notify.mobile_app_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> ohne mobile_app_, z. B. notify.iphone_von_max. Diese kann nur Titel und Text senden. Das Ersetzen der Nachrichten über den tag (siehe Schritt 4) funktioniert damit nicht. Für diese Anleitung die Push-Aktion mit mobile_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.

image-20260929-073214.png


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

image-20260929-073358.png

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

image-20260929-073432.png

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.

image-20260929-074249.png

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

image-20260929-073910.png
image-20260929-074027.png


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

image-20260929-074421.png
image-20260929-075142.png


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

image-20260929-075251.png
image-20260929-075322.png
image-20260929-075400.png


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.

image-20260929-061806.png
image-20260929-061828.png

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

binary_sensor.doorline_snap_schalteingang_1 (3×)

eigener Schalteingang

notify.mobile_app_iphone (3×)

eigene Push-Aktion

Optional anpassen:

  • Titel und Text: title und message der Benachrichtigungen frei wählen.

  • Wartezeiten: for: "00:10:00" und for: "01:00:00" legen fest, nach welcher Zeit gewarnt wird (Format Stunden:Minuten:Sekunden).

  • Meldung beim Schließen: Die Zahl 600 in 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 tag ersetzt 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).