DoorLine Cam / Snap modular

Push-Benachrichtigung mit LiveBild und Türöffnerfunktion per Home Assistant-App (DoorLine Integration)

In diesem Artikel wird beschrieben, wie mit Home Assistant und der neuen DoorLine-Integration eine Push-Benachrichtigung mit Bild der DoorLine Snap, Live-Bild (nur iOS) und Türöffnerfunktion auf ein Smartphone oder Tablet (iOS und Android) gesendet werden kann. So ist direkt auf dem Sperrbildschirm zu sehen, wer vor der Tür steht, und die Tür lässt sich aus der Benachrichtigung heraus öffnen.

Die Benachrichtigung enthält:

  • ein Standbild der Kamera im Moment des Klingelns

  • das Live-Bild der Kamera, sobald die Benachrichtigung lange gedrückt wird (nur iOS)

  • die Aktionen Tür öffnen (mit Entsperr-Abfrage) und Ignorieren

Nach dem Öffnen der Tür, nach Ignorieren oder nach 2 Minuten ohne Reaktion wird die Benachrichtigung automatisch wieder entfernt.

image-20250731-114516.png

Voraussetzungen

  • Installierte DoorLine Snap

  • Ein laufendes Home Assistant System

  • 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

  • Ein Türöffner, der in Home Assistant geschaltet werden kann, z. B. ein Relais der DoorLine Snap oder ein separater Schaltaktor

  • Für Bild und Aktionen außerhalb des Heimnetzwerks: externer Zugriff auf Home Assistant, z. B. über Home Assistant Cloud (Nabu Casa)

Hinweis: Diese Anleitung gilt für die neue DoorLine-Integration. Die Namen der Entitäten unterscheiden sich von der bisherigen DoorLine Snap-Integration.

1. Entitäten und Push-Aktion ermitteln

Für die Automation werden drei Entitäten der DoorLine Snap und die Push-Aktion für das Smartphone benötigt.

Entitäten der DoorLine Snap

Die Entitäten sind 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

image-20260928-121537.png


Funktion

Entität (Beispiel)

Klingeltaste

binary_sensor.doorline_snap_klingeltaste_1

Kamera

camera.doorline_snap_kamera

Türöffner

switch.doorline_snap_relais_2

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, aber keine Bilder und keine Aktionen. Für diese Anleitung muss die Push-Aktion mit mobile_app_ verwendet werden.

image-20260928-122154.png
Werkzeuge > Aktionen


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)

Die Automation sendet beim Klingeln die Push-Nachricht, wartet dann bis zu 2 Minuten auf einen Tipp auf Tür öffnen oder Ignorieren, schaltet bei Tür öffnen den Türöffner und entfernt zum Schluss die Nachricht.

Schritt 1 – Auslöser: Klingeltaste

Im Abschnitt Sobald auf + Auslöser hinzufügen klicken und Entität > Zustand wählen.

  • Entität: die Klingeltaste 1 der DoorLine Snap auswählen

  • Von: Aus

  • Zu: An

image-20260929-083259.png
image-20260929-083311.png

Schritt 2 – Bedingung: Stummschaltung

Im Abschnitt Und wenn auf + Bedingung hinzufügen klicken, den Reiter Nach Typ öffnen, Template auswählen und in das Feld Wert-Template den folgenden Text einfügen:

{{ not trigger.to_state.attributes.muted | default(false) }}

Diese Bedingung sorgt dafür, dass bei stummgeschalteter Klingel keine Benachrichtigung gesendet wird.

image-20260929-085313.png

Hinweis: Soll auch bei Stummschaltung eine Benachrichtigung kommen, diesen Schritt weglassen.

Schritt 3 – Aktion: Variablen definieren

Im Abschnitt Dann auf + Aktion hinzufügen klicken, den Reiter Bausteine öffnen und Variablen definieren auswählen. Für diesen Baustein gibt es keinen visuellen Editor, er wird direkt als YAML angezeigt. Den vorhandenen Inhalt vollständig durch den folgenden Text ersetzen und camera.doorline_snap_kamera durch die eigene Kamera aus Schritt 1 ersetzen:

variables:
  cam: camera.doorline_snap_kamera
  a_open: "{{ 'DL_OPEN_' ~ context.id }}"
  a_ignore: "{{ 'DL_IGNORE_' ~ context.id }}"
  • cam legt die Kamera einmal fest. In Schritt 4 wird sie über {{ cam }} verwendet, sodass sie nur hier eingetragen werden muss.

  • a_open und a_ignore geben den beiden Aktionen der Benachrichtigung bei jedem Klingeln eine eindeutige Kennung. So kann eine ältere Benachrichtigung nicht versehentlich die Tür öffnen.

image-20260929-085413.png

Schritt 4 – Aktion: Push-Nachricht senden

Auf + Aktion hinzufügen klicken, im Suchfeld mobile_app eingeben 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: Jemand steht an der Haustür

  • Titel: Es hat geklingelt

  • Daten: den folgenden Text einfügen und camera.doorline_snap_kamera (2×) durch die eigene Kamera aus Schritt 1 ersetzen:

entity_id: camera.doorline_snap_kamera
image: /api/camera_proxy/camera.doorline_snap_kamera
tag: doorline-klingel
push:
  interruption-level: time-sensitive
ttl: 0
priority: high
channel: Klingel
importance: high
actions:
  - action: "{{ a_open }}"
    title: Tür öffnen
    authenticationRequired: true
    destructive: true
  - action: "{{ a_ignore }}"
    title: Ignorieren

Anschließend rechts auf der Aktion über ⋮ > Bei Fehler fortfahren aktivieren.

image-20260929-090103.png
image-20260929-090207.png
image-20260929-090222.png


Hinweis: Die Anführungszeichen um "{{ a_open }}" und "{{ a_ignore }}" müssen erhalten bleiben.

Schritt 5 – Aktion: Auf Antwort warten

Auf + Aktion hinzufügen klicken, den Reiter Bausteine öffnen und Auf einen Auslöser warten auswählen.

Im Baustein selbst einstellen:

  • Zeitlimit: 00:02:00

  • Bei Zeitüberschreitung fortfahren: aktivieren

Innerhalb des Bausteins auf + Auslöser hinzufügen klicken, den Reiter Nach Typ öffnen und ganz unten im Bereich Generisch den Eintrag Manuelles Ereignis empfangen auswählen:

  • Ereignistyp: mobile_app_notification_action

  • Ereignisdaten:

action: "{{ a_open }}"

Rechts auf dem Auslöser über ⋮ > ID bearbeiten die ID open eintragen.

Über ⋮ > Duplizieren eine Kopie des Auslösers erstellen und in der Kopie ändern:

  • Ereignisdaten: action: "{{ a_ignore }}"

  • ID: ignore

image-20260929-090414.png
image-20261005-113757.png
image-20261005-114951.png
image-20260929-090446.png


Schritt 6 – Aktion: Tür öffnen

Auf + Aktion hinzufügen klicken, den Reiter Bausteine öffnen und Wenn-dann auswählen.

Unter Wenn auf + Bedingung hinzufügen klicken, den Reiter Nach Typ öffnen, Template auswählen und in das Feld Wert-Template einfügen:

{{ wait.trigger is not none and wait.trigger.id == 'open' }}

Unter Dann nacheinander drei Aktionen hinzufügen:

  1. Suchbegriff Einschalten: Schalter Einschalten wählen und den Türöffner auswählen, z. B. Relais 2 der DoorLine Snap

  2. Reiter Bausteine: Eine Zeit warten (Verzögerung) mit der Dauer 00:00:03

  3. Suchbegriff Ausschalten: Schalter Ausschalten

  4. wählen und den gleichen Türöffner auswählen

image-20260929-091018.png

Schritt 7 – Aktion: Benachrichtigung entfernen

Auf + Aktion hinzufügen klicken, im Suchfeld mobile_app eingeben und erneut die Push-Aktion des eigenen Smartphones auswählen.

  • Nachricht: clear_notification

  • Titel: leer lassen

  • Daten: tag: doorline-klingel

Auch hier über ⋮ > Bei Fehler fortfahren aktivieren.

image-20260929-091634.png

Schritt 8 – Modus einstellen

Oben rechts über ⋮ > Modus ändern den Modus Neustarten auswählen. Wird erneut geklingelt, während die Automation noch auf eine Antwort wartet, startet sie mit einer neuen Benachrichtigung von vorn.

image-20261005-134835.png
image-20260929-091806.png

Schritt 9 – Speichern

Auf Speichern klicken und einen Namen vergeben, z. B. „DoorLine Snap – Klingel mit Live-Bild und Türöffner“.

Die Automation ist damit fertig. Weiter mit Schritt 5. Testen.

image-20260929-091833.png
image-20260929-091848.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 – Klingel mit Live-Bild und Türöffner
description: Push-Benachrichtigung mit Bild, Live-Bild und Türöffner beim Klingeln
mode: restart
triggers:
  - trigger: state
    entity_id: binary_sensor.doorline_snap_klingeltaste_1
    from: "off"
    to: "on"
conditions:
  - condition: template
    value_template: "{{ not trigger.to_state.attributes.muted | default(false) }}"
actions:
  - variables:
      cam: camera.doorline_snap_kamera
      a_open: "{{ 'DL_OPEN_' ~ context.id }}"
      a_ignore: "{{ 'DL_IGNORE_' ~ context.id }}"
      push_data:
        entity_id: "{{ cam }}"
        image: "/api/camera_proxy/{{ cam }}"
        tag: doorline-klingel
        # iOS
        push:
          interruption-level: time-sensitive
        # Android
        ttl: 0
        priority: high
        channel: Klingel
        importance: high
        actions:
          - action: "{{ a_open }}"
            title: Tür öffnen
            authenticationRequired: true
            destructive: true
          - action: "{{ a_ignore }}"
            title: Ignorieren
  - action: notify.mobile_app_iphone
    continue_on_error: true
    data:
      title: Es hat geklingelt
      message: Jemand steht an der Haustür
      data: "{{ push_data }}"
  - wait_for_trigger:
      - trigger: event
        id: open
        event_type: mobile_app_notification_action
        event_data:
          action: "{{ a_open }}"
      - trigger: event
        id: ignore
        event_type: mobile_app_notification_action
        event_data:
          action: "{{ a_ignore }}"
    timeout: "00:02:00"
    continue_on_timeout: true
  - if:
      - condition: template
        value_template: "{{ wait.trigger is not none and wait.trigger.id == 'open' }}"
    then:
      - action: switch.turn_on
        target:
          entity_id: switch.doorline_snap_relais_2
      - delay: "00:00:03"
      - action: switch.turn_off
        target:
          entity_id: switch.doorline_snap_relais_2
  - action: notify.mobile_app_iphone
    continue_on_error: true
    data:
      message: clear_notification
      data:
        tag: doorline-klingel

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_klingeltaste_1

eigene Klingeltaste (bei mehreren Tasten die gewünschte)

camera.doorline_snap_kamera

eigene Kamera-Entität

switch.doorline_snap_relais_2 (2×)

eigener Türöffner

notify.mobile_app_iphone (2×)

eigene Push-Aktion

Optional anpassen:

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

  • Öffnungsdauer: delay: "00:00:03" legt fest, wie lange der Türöffner geschaltet bleibt. Je nach Türöffner die Zeit anpassen. Hat der Schaltaktor eine eigene automatische Abschaltung, können delay und switch.turn_off entfallen.

  • Wartezeit: timeout: "00:02:00" legt fest, wie lange die Aktionen in der Benachrichtigung aktiv bleiben.

4. Funktionsweise im Überblick

  • Auslöser: Die Automation startet, sobald die Klingeltaste betätigt wird.

  • Stummschaltung: Ist die Klingel stummgeschaltet, wird keine Benachrichtigung gesendet.

  • Eindeutige Aktionen: Die Aktionen erhalten bei jedem Klingeln eine eindeutige Kennung. Dadurch öffnet eine ältere Benachrichtigung nicht versehentlich die Tür.

  • Dringende Mitteilung: Mit interruption-level: time-sensitive wird die Benachrichtigung auch bei aktivem Fokus zugestellt, sofern dies in iOS erlaubt ist.

  • Sicherheit: Durch authenticationRequired: true muss das Öffnen der Tür mit Face ID, Fingerabdruck oder Code bestätigt werden (Android ab Version 12).

  • Aufräumen: Am Ende wird die Benachrichtigung über den tag wieder entfernt.

5. Testen

Die Klingeltaste der DoorLine Snap betätigen. Auf dem Smartphone erscheint die Benachrichtigung mit Standbild. Durch langes Drücken auf die Benachrichtigung öffnet sich die große Ansicht mit Live-Bild und den Aktionen Tür öffnen und Ignorieren.

Alternativ kann die Automation über ⋮ > Ausführen gestartet werden. Dabei wird die Bedingung zur Stummschaltung übersprungen.

Android

Die Automation funktioniert unverändert auch mit Android-Smartphones. Die Einträge im Code gelten jeweils nur für ein Betriebssystem und werden vom anderen ignoriert:

Eintrag

iOS

Android

image (Standbild)

✓

✓

entity_id (Live-Bild)

✓

–

authenticationRequired

✓

✓ ab Android 12

destructive (roter Button)

✓

–

interruption-level

✓

–

ttl, priority, channel, importance

–

✓

Auf Android wird das Standbild angezeigt, sobald die Benachrichtigung aufgeklappt wird. Ein Live-Bild in der Benachrichtigung ist auf Android nicht möglich. Mit einem Tipp auf die Benachrichtigung öffnet sich die App, dort kann die Kamera live angesehen werden.

ttl: 0 und priority: high sorgen dafür, dass die Benachrichtigung sofort zugestellt wird, auch wenn sich das Smartphone im Energiesparmodus befindet. Über channel: Klingel legt Android beim ersten Klingeln einen eigenen Benachrichtigungskanal an. Unter Android-Einstellungen > Apps > Home Assistant > Benachrichtigungen > Klingel können anschließend Ton, Vibration und die Anzeige auf dem Sperrbildschirm separat eingestellt werden.

Hinweis: Auf Android-Versionen vor 12 wird authenticationRequired nicht unterstützt. Die Tür kann dann direkt vom Sperrbildschirm aus geöffnet werden.

Mehrere Geräte benachrichtigen

Für jedes weitere Smartphone oder Tablet den Block mit der Push-Aktion kopieren und den Gerätenamen anpassen. Das gilt sowohl für das Senden als auch für das Entfernen der Benachrichtigung am Ende:

yaml

  - action: notify.mobile_app_ipad
    continue_on_error: true
    data:
      title: Es hat geklingelt
      message: Jemand steht an der Haustür
      data: "{{ push_data }}"

Die Aktionen funktionieren auf allen Geräten gleichzeitig. Wird die Tür auf einem Gerät geöffnet, werden die Benachrichtigungen auf allen Geräten entfernt.

Fehlerbehebung

Kein Bild und „Aktionen werden geladen …“ (iOS) Das Smartphone erreicht Home Assistant im Hintergrund nicht. Unter iOS-Einstellungen > Home Assistant > Standort die Option Immer wählen und Genauer Standort aktivieren. Nur so erkennt die App im Hintergrund das Heim-WLAN und verwendet die interne Adresse. Kann der Standort nicht freigegeben werden, z. B. bei einem fest installierten iPad, in der App unter Einstellungen > Companion App > Server die Sicherheitsstufe der Verbindung auf Less secure stellen. Danach die App einmal vollständig schließen und neu öffnen.

Bild wird angezeigt, die große Ansicht bleibt aber weiß (iOS) Das Live-Bild kann nicht geladen werden. Zunächst die Home Assistant App auf die aktuelle Version aktualisieren. Hilft das nicht, die Zeile entity_id: "{{ cam }}" im Code entfernen. Dann zeigt die große Ansicht das Standbild aus dem Moment des Klingelns.

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

Kein Bild auf Android In der App unter Einstellungen > Companion App > Server prüfen, ob die interne und externe URL korrekt eingetragen sind. Für die Erkennung des Heim-WLANs benötigt die App die Standortberechtigung Immer zulassen.

Die Tür öffnet nicht Unter Automation > ⋮ > Ablaufprotokoll prüfen, ob die Aktion empfangen wurde und der Türöffner geschaltet hat. Den Türöffner zum Test direkt unter Werkzeuge > Aktionen mit switch.turn_on schalten.