DoorLine Cam / Snap modular

Kamerasnapshots historisch speichern bei Klingeln (DoorLine Integration)

In diesem Artikel wird beschrieben, wie mit Home Assistant bei jedem Klingeln mehrere Kamerabilder der DoorLine Snap aufgenommen und dauerhaft gespeichert werden. So lässt sich auch im Nachhinein nachvollziehen, wer wann geklingelt hat.

Bei jedem Klingeln:

  • wird ein eigener Ordner mit Datum und Uhrzeit angelegt, z. B. 20260929_153230

  • werden darin 6 Bilder im Abstand von ca. 1 Sekunde gespeichert

  • sind die Bilder anschließend in Home Assistant unter Medien abrufbar

image-20250912-062312.png

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

Hinweis: Bei Home Assistant Container oder Core ist der Ordner /media nicht automatisch freigegeben. Siehe dazu Fehlerbehebung > „no access to path“.

1. Entitäten ermitteln

Für die Automation werden zwei Entitäten der DoorLine Snap benötigt.

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 der Bereich mit in den Namen der Entität aufgenommen, z. B.:

binary_sensor.doorline_snap_klingeltaste_1 → binary_sensor.entrance_doorline_snap_klingeltaste_1

image-20260928-121537.png

Funktion

Name im Gerät

Entität (Beispiel)

Klingeltaste

Klingeltaste 1

binary_sensor.doorline_snap_klingeltaste_1

Kamera

Kamera

camera.doorline_snap_kamera

Hinweis: Bei Variante A (Oberfläche) werden Klingeltaste und Kamera aus einer Liste ausgewählt. Die genauen Bezeichnungen werden nur für Variante B benötigt.

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 Variablen definieren, Wiederholen oder Eine Zeit warten (Verzögerung) stehen im Fenster Aktion hinzufügen unter Bausteine. Alle anderen Einträge lassen sich am einfachsten über das Suchfeld Durchsuchen finden.

Die Automation legt beim Klingeln einen Ordnernamen mit Datum und Uhrzeit fest und speichert dann in einer Schleife 6 Bilder der Kamera in diesen Ordner.

Schritt 1 – Auslöser: Klingeltaste

Im Abschnitt Wenn auf + Auslöser hinzufügen klicken, im Suchfeld Zustand eingeben und Zustand auswählen.

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

  • Von: Aus

  • Zu: An

image-20260929-120401.png
image-20260929-120413.png

Hinweis: Im Gegensatz zur Push-Benachrichtigung wird hier keine Bedingung zur Stummschaltung eingefügt. Die Bilder werden also auch bei stummgeschalteter Klingel gespeichert. Soll bei Stummschaltung nichts gespeichert werden, im Abschnitt Und wenn die Bedingung Template mit {{ not trigger.to_state.attributes.muted | default(false) }} ergänzen.

Schritt 2 – 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:

yaml

variables:
  folder: "{{ now().strftime('%Y%m%d_%H%M%S') }}"

folder legt den Namen des Ordners fest, z. B. 20260929_153230 für den 29.09.2026 um 15:32:30 Uhr. Der Name wird einmal beim Klingeln festgelegt, damit alle Bilder in denselben Ordner gespeichert werden.

image-20260929-120734.png
image-20260929-120746.png

Schritt 3 – Aktion: Wiederholen

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

  • Wiederholungstyp: Anzahl

  • Anzahl: 6

image-20260929-120842.png
image-20260929-120853.png

Schritt 4 – Aktion innerhalb der Schleife: Bild speichern

Innerhalb des Bausteins Wiederholen auf + Aktion hinzufügen klicken, im Suchfeld Schnappschuss eingeben und im Bereich Kamera die Aktion Kamera-Schnappschuss machen auswählen.

  • Ziele: + Entität auswählen und die Kamera der DoorLine Snap auswählen

  • Dateiname: den folgenden Text unverändert einfügen:

/media/doorline/{{ folder }}/{{ folder }}_{{ '%02d' % repeat.index }}.jpg

Die Bilder erhalten so den Ordnernamen und eine laufende Nummer, z. B. 20260929_153230_01.jpg bis 20260929_153230_06.jpg.

Anschließend rechts auf der Aktion über ⋮ > Bei Fehler fortfahren aktivieren. So wird die Schleife auch dann fortgesetzt, wenn ein einzelnes Bild nicht abgerufen werden kann.

image-20260929-120921.png
image-20260929-120933.png

Hinweis: Die Bezeichnung der Aktion kann je nach Home Assistant-Version abweichen. Die Aktion lautet technisch immer camera.snapshot und lässt sich auch über den Suchbegriff snapshot finden.

Schritt 5 – Aktion innerhalb der Schleife: Verzögerung

Innerhalb des Bausteins Wiederholen, unterhalb von Kamera-Schnappschuss machen, auf + Aktion hinzufügen klicken, den Reiter Bausteine öffnen und Eine Zeit warten (Verzögerung) mit der Dauer 00:00:01 auswählen.

image-20260929-121001.png

Hinweis: Beide Aktionen aus Schritt 4 und 5 müssen innerhalb des Bausteins Wiederholen stehen, nicht darunter.

Schritt 6 – Modus prüfen

Oben rechts über ⋮ > Modus ändern prüfen, dass der Modus Einzeln ausgewählt ist (Standard). Wird während der Aufnahme erneut geklingelt, wird dies ignoriert, und es entsteht kein zweiter Ordner für dasselbe Klingeln.

image-20260929-121038.png

Schritt 7 – Speichern

Auf Speichern klicken und einen Namen vergeben, z. B. „DoorLine Snap – Snapshots bei Klingeln speichern“.

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

image-20260929-121104.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 – Snapshots bei Klingeln speichern
description: Speichert beim Klingeln mehrere Kamerabilder in einem Ordner mit Datum und Uhrzeit
mode: single
triggers:
  - trigger: state
    entity_id: binary_sensor.doorline_snap_klingeltaste_1
    from: "off"
    to: "on"
conditions: []
actions:
  - variables:
      folder: "{{ now().strftime('%Y%m%d_%H%M%S') }}"
  - repeat:
      count: 6
      sequence:
        - action: camera.snapshot
          continue_on_error: true
          target:
            entity_id: camera.doorline_snap_kamera
          data:
            filename: "/media/doorline/{{ folder }}/{{ folder }}_{{ '%02d' % repeat.index }}.jpg"
        - delay: "00:00:01"

3. Code anpassen (nur Variante B)

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

Optional anpassen:

  • Anzahl der Bilder: count: 6 legt fest, wie viele Bilder pro Klingeln gespeichert werden.

  • Abstand der Bilder: delay: "00:00:01" legt die Pause zwischen zwei Bildern fest. Der tatsächliche Abstand ist etwas größer, da das Abrufen des Bildes zusätzlich Zeit benötigt.

  • Speicherort: /media/doorline/ kann durch einen anderen Unterordner von /media/ ersetzt werden, z. B. /media/haustuer/.

Hinweis: Bei Variante A lassen sich Anzahl, Abstand und Speicherort jederzeit direkt in der Oberfläche ändern, indem die Automation geöffnet und das entsprechende Feld angepasst wird.

4. Funktionsweise im Überblick

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

  • Ordnername: Beim Klingeln wird einmalig ein Ordnername aus Datum und Uhrzeit festgelegt (folder).

  • Ordner anlegen: Home Assistant legt den Ordner beim Speichern des ersten Bildes automatisch an.

  • Mehrere Bilder: Die Schleife (repeat) speichert 6 Bilder im Abstand von ca. 1 Sekunde. repeat.index zählt dabei von 1 bis 6 und sorgt für die laufende Nummer im Dateinamen.

  • Robust: Durch Bei Fehler fortfahren (continue_on_error: true) werden die übrigen Bilder auch dann gespeichert, wenn ein einzelnes Bild nicht abgerufen werden kann.

  • Erneutes Klingeln: Durch den Modus Einzeln (mode: single) wird ein erneutes Klingeln während der Aufnahme ignoriert.

5. Testen

Die Klingeltaste der DoorLine Snap betätigen und ca. 10 Sekunden warten.

Die Bilder sind anschließend unter Medien > My media > doorline zu finden. Jeder Ordner steht für ein Klingeln, z. B. 20260929_153230 für den 29.09.2026 um 15:32:30 Uhr. Mit einem Klick auf ein Bild wird es in voller Größe angezeigt und kann über das Download-Symbol heruntergeladen werden.

[Screenshot: Medien > My media > doorline > Ordner mit 6 Bildern]

Alternativ kann die Automation über ⋮ > Ausführen gestartet werden.

Tipp: Mit dem Add-on Samba share ist der Ordner auch im Heimnetzwerk als Netzlaufwerk erreichbar (Freigabe media), z. B. im Windows Explorer unter \\homeassistant.local\media\doorline.

Mehrere Klingeltasten

Variante A: Im Auslöser im Feld Entität zusätzlich Klingeltaste 2 auswählen.

Variante B: Die zweite Taste als weitere Entität im Auslöser ergänzen:

triggers:
  - trigger: state
    entity_id:
      - binary_sensor.doorline_snap_klingeltaste_1
      - binary_sensor.doorline_snap_klingeltaste_2
    from: "off"
    to: "on"

Soll erkennbar sein, welche Taste gedrückt wurde, kann der Name der Taste an den Ordnernamen angehängt werden. Dazu die Variable folder (Variante A: Schritt 2) wie folgt ändern:

variables:
  folder: "{{ now().strftime('%Y%m%d_%H%M%S') }}_{{ trigger.entity_id.split('_')[-1] }}"

Der Ordner heißt dann z. B. 20260929_153230_1 für Klingeltaste 1 und 20260929_153230_2 für Klingeltaste 2.

Optional: Alte Bilder automatisch löschen

Da bei jedem Klingeln neue Bilder gespeichert werden, wächst der belegte Speicherplatz mit der Zeit. Mit einer zweiten Automation können Ordner, die älter als 30 Tage sind, automatisch gelöscht werden. Dafür ist einmalig eine Ergänzung der configuration.yaml nötig.

  1. configuration.yaml ergänzen

Die Datei configuration.yaml z. B. mit dem Add-on File editor öffnen und am Ende folgenden Eintrag ergänzen:

shell_command:
  doorline_snapshots_aufraeumen: "find /media/doorline -mindepth 1 -maxdepth 1 -type d -mtime +30 -exec rm -rf {} +"

Anschließend unter Werkzeuge > YAML > Konfiguration prüfen die Konfiguration prüfen und Home Assistant über Neu starten neu starten.

Hinweis: Ist bereits ein Abschnitt shell_command: vorhanden, nur die zweite Zeile unter diesem Abschnitt ergänzen. Der Abschnitt darf nicht doppelt vorkommen.

  1. Automation erstellen

Eine neue Automation erstellen, über ⋮ > In YAML bearbeiten den folgenden Code einfügen und speichern:

alias: DoorLine Snap – alte Snapshots löschen
description: Löscht jede Nacht Snapshot-Ordner, die älter als 30 Tage sind
mode: single
triggers:
  - trigger: time
    at: "03:00:00"
conditions: []
actions:
  - action: shell_command.doorline_snapshots_aufraeumen

Die Anzahl der Tage wird in der configuration.yaml über -mtime +30 festgelegt, z. B. -mtime +7 für eine Woche.

Achtung: Der Befehl löscht alle Unterordner in /media/doorline, die älter als die eingestellte Anzahl Tage sind. Den Pfad nicht auf /media allein ändern, sonst werden auch andere Medien gelöscht.

Fehlerbehebung

Fehlermeldung „Cannot write … no access to path; allowlist_external_dirs may need to be adjusted“ Home Assistant darf nicht in den Ordner schreiben. Bei Home Assistant OS und Supervised ist /media automatisch freigegeben. Tritt der Fehler dort auf, prüfen, ob der Pfad im Dateinamen mit /media/ beginnt. Bei Home Assistant Container oder Core den Ordner in der configuration.yaml freigeben und Home Assistant neu starten:

homeassistant:
  media_dirs:
    local: /media

Bei Home Assistant Container muss /media zusätzlich als Volume in den Container eingebunden sein.

Es werden keine Bilder gespeichert Unter Automation > ⋮ > Ablaufprotokoll prüfen, ob die Automation gestartet wurde und ob bei Kamera-Schnappschuss machen ein Fehler angezeigt wird. Zum Test die Aktion direkt unter Werkzeuge > Aktionen ausführen:

action: camera.snapshot
target:
  entity_id: camera.doorline_snap_kamera
data:
  filename: /media/doorline/test.jpg

Die Datei test.jpg muss danach unter Medien > My media > doorline erscheinen.

Es wird nur ein Bild gespeichert bzw. Bilder überschreiben sich Prüfen, ob {{ '%02d' % repeat.index }} im Dateinamen enthalten ist und ob beide Aktionen innerhalb des Bausteins Wiederholen stehen (Variante A) bzw. unter sequence: eingerückt sind (Variante B).

Ordner heißt wörtlich „{{ folder }}“ Der Baustein Variablen definieren fehlt oder steht unterhalb von Wiederholen. Er muss als erste Aktion im Abschnitt Dann stehen.

Die Uhrzeit im Ordnernamen stimmt nicht Unter Einstellungen > System > Allgemein prüfen, ob die richtige Zeitzone eingestellt ist.

„Variablen definieren“ oder „Wiederholen“ wird nicht gefunden (Variante A) Beide Bausteine stehen im Fenster Aktion hinzufügen unter Bausteine. Die Bezeichnungen können je nach Home Assistant-Version abweichen. In diesem Fall eine beliebige Aktion anlegen und anschließend auf der Aktion über ⋮ > In YAML bearbeiten den entsprechenden Abschnitt aus dem Code von Variante B einfügen.

Entitäten nicht gefunden Die Namen der Entitäten hängen vom Gerätenamen und vom Bereich ab. Die genauen Namen stehen unter Einstellungen > Geräte & Dienste > DoorLine > Gerät oder unter Werkzeuge > Zustände (Suche nach doorline).