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.
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
|
Funktion |
Entität (Beispiel) |
|---|---|
|
Klingeltaste |
|
|
Kamera |
|
|
Türöffner |
|
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, aber keine Bilder und keine Aktionen. Für diese Anleitung muss die Push-Aktion mitmobile_app_verwendet werden.
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
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.
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 }}"
-
camlegt die Kamera einmal fest. In Schritt 4 wird sie über{{ cam }}verwendet, sodass sie nur hier eingetragen werden muss. -
a_openunda_ignoregeben den beiden Aktionen der Benachrichtigung bei jedem Klingeln eine eindeutige Kennung. So kann eine ältere Benachrichtigung nicht versehentlich die Tür öffnen.
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.
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
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:
-
Suchbegriff
Einschalten: Schalter Einschalten wählen und den Türöffner auswählen, z. B. Relais 2 der DoorLine Snap -
Reiter Bausteine: Eine Zeit warten (Verzögerung) mit der Dauer
00:00:03 -
Suchbegriff
Ausschalten: Schalter Ausschalten -
wählen und den gleichen Türöffner auswählen
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.
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.
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.
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 |
|---|---|
|
|
eigene Klingeltaste (bei mehreren Tasten die gewünschte) |
|
|
eigene Kamera-Entität |
|
|
eigener Türöffner |
|
|
eigene Push-Aktion |
Optional anpassen:
-
Titel und Text:
titleundmessageder 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önnendelayundswitch.turn_offentfallen. -
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-sensitivewird die Benachrichtigung auch bei aktivem Fokus zugestellt, sofern dies in iOS erlaubt ist. -
Sicherheit: Durch
authenticationRequired: truemuss 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
tagwieder 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 |
|---|---|---|
|
|
✓ |
✓ |
|
|
✓ |
– |
|
|
✓ |
✓ ab Android 12 |
|
|
✓ |
– |
|
|
✓ |
– |
|
|
– |
✓ |
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
authenticationRequirednicht 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.