Welche Kamera für Home Assistant – Überwachungskamera einbinden

Home Assistant hat starke Features für Überwachungskameras bekommen. So kann etwa ein RSTP Stream direkt genutzt werden, um ihn im Dashboard anzuzeigen, Clips aufzunehmen oder Einzelbilder via Benachrichtigung zu versenden.

Welche Überwachungskameras eignen sich für Homeassistant?

Im Prinzip kannst du jede Kamera nehmen, die einen RSTP Stream bereitstellt. Denn damit kannst du den RSTP Stream direkt anzapfen und in Home Assistant verarbeiten. Videoverarbeitung kostet natürlich Rechenleistung, daher kann es zu Performance-Einbrüchen deiner Home Assistant Instanz kommen.

Es gibt für manche Kameras, die kein RSTP bieten Möglichkeiten sie in HA einzubinden, ein Beispiel wäre Blink. Hier gibt es eine Integration, die direkt die Server von Blink nutzt und Videos / Bilder über eine API abrufen kann. Diese Integrationen sind aber meist Lösungen, bei denen findige Entwickler die Webportale nutzen, um Aktionen auszuführen statt einer offiziellen API. Das bringt die Gefahr mit, dass der Hersteller eines Tages solche Integrationen versucht aktiv zu unterbinden durch Captcha und Co. Mit RSTP bist du langfristig auf der sicheren Seite.

Kamera Modelle für Home Assistant

Es gibt unzählige Kameras, die sich gut für Home Assistant eignen, im Prinzip alle, die einen sauberen RSTP Stream bereitstellen. Bei uns im Haus haben wir welche von Tapo im Einsatz, die mich vom Preis-Leistungs-Verhältnis sehr überzeugen. Außerdem gibt es ein HACS Modul, dass weitere Funktionen wie Geräuscherkennung in Home Assistant ermöglicht: https://github.com/JurajNyiri/HomeAssistant-Tapo-Control

Über die Cloud stellen diese noch weitere Komfort-Funktionen bereit, aber die Verbindung kann problemlos über den Router unterbunden werden und dann nur noch die lokale RSTP Einbindung genutzt werden.

Tapo C110

Die Tapo C110 ist ideal geeignet für Innenräume oder Standorte, die trocken sind (z. B. Carport). Sie ist recht klein, liefert einen RSTP Stream und hat eine gute Bildqualität.

Tapo C310

Außenkamera mit eingebauter Sirene und 2 Wege Audio und guten Wifi Antennen. Die Bildqualität ist gut und durch die IP66 Zertifizierung dauerhaft für den harten Wettereinsatz geeignet. Lan-Anschluss ist ebenso vorhanden.

RSTP Stream oder Standbild Stream in Home Assistant einbinden

Das Einbinden ist super einfach und kann inzwischen via der Oberfläche gemacht werden.

  • Gehe auf Einstellungen > Integrationen > Integration Hinzufügen (Button)
  • im Suchfeld eingeben: Generic Camera, entsprechenden Eintrag auswählen
  • im Assistent die Konfiguration durchführen

Über das Generic Camera Modul hast du die Möglichkeit einen RSTP Stream anzubinden oder einen Stream mit Standbildern (für MJPEG gibt es eine separate Integration).

Folgende Parameter stehen dir zur Verfügung:

Standbild-URL: Die Url zu einem Standbild Stream – kann zur Vorschau genutzt werden

Stream-Quell-Url: Die Url zu einem RSTP Stream

RSTP-Transportprotokoll: Das Protokoll, das RSTP verwendet. TCP ist der standard, bei Verbindungsproblemen einfach die anderen probierten.

Authentifizierung: Falls der Stream Passwort geschützt ist, kannst du Benutzername und Passwort hier eingeben.

Authentifizierungs-Typ: Standard ist Basic. Probieren bei Verbindungsfehlern.

Frame-Rate: Wie viel Bilder soll der Stream anzeigen pro Sekunde

RSTP Config Home Assistant

Speichern und fertig. Ab jetzt kannst du deine Kamera direkt in der Oberfläche einbinden oder weitere Möglichkeiten nutzen wie:

  • Aufzeichnen von Videos bei Bewegung
  • Speichern von Standbildern
  • Benachrichtigungen senden

Mit Homeassistant kannst du dir deine eigene Alarmanlage zum Überwachen deines Hauses zusammenbauen.

Kamera-Stream bei Bewegung aufnehmen

Ein häufiger Anwendungsfall wird folgendes sein: Wenn eine Bewegung an einem Bewegungsmelder oder ähnlichem bemerkt wird, soll ein Video gespeichert werden.


Das kann man über eine einfache Automatisierung lösen:

Auslöser: Gerät Bewegungsmelder > erkennt Bewegung

Aktion: Dienst Ausführen > Kamera Record (camera.record)

Dann die entsprechende Entität wählen, den Filename festlegen und die Aufnahmedauer festlegen. Bei Filename kann natürlich auch ein Template gewählt werden, also beispielsweise so, dass der Name nach einem Schema wie: Kameraposition-datum-uhrzeit.mp4 aufgebaut ist.

Als YAML würde die Action wie folgt aussehen:

action:
  service: camera.record
  target:
    entity_id: camera.smartebude_test_camera
  data:
    filename: '/media/recordings{{ entity_id.name }}_{{ now().strftime("%Y%m%d-%H%M%S") }}.mp4'

Wichtig der Dateipfad, kann nur auf Verzeichnisse verweisen, die existieren und Homeassistant auch entsprechend Schreibrechte hat. Eine einfache Lösung dazu findest du im Artikel.

Wenn das Verzeichnis noch als Media DIR eingetragen wird, dann findest du dort auch deine Aufnahmen einfach über den Media Browser direkt in deiner HA Umgebung.

Jetzt kannst du deine Automatisierung testen und prüfen, ob die Datei auch entsprechend gespeichert wurde. Taucht nach dem manuellen ausführen nichts im Verzeichnis auf, hilft in der Regel ein Blick ins System-Log.

Standbild von Kamera-Stream speichern

Nützlich ist auch die Funktion, ein Standbild aus einem Stream aufnehmen / speichern zu können. Das eignet sich hervorragend, um als Push Notification direkt an das Handy zu schicken.

Als Beispiel eine Automatisierung, die das Bild bei Bewegungserkennung auf einem Bewegungsmelder speichert.

Auslöser: BWM-1 hat Bewegung erkannt

Bedingung: Sonne ist untergegangen

Aktion 1: Dienst ausführen → „Kamera Take Snapshot“ (camera.take_snapshot)

Aktion 2 Dienst ausführen → Notify mit Screenshot als Payload

Als Ordner habe ich den config/www Ordner gewählt. Darüber ist das Bild extern erreichbar und funktioniert auch mit anderen Push-Diensten wie Pushover. Wichtig, im Pfad ändert sich /config/www/snapshot.jpg zu /local/snapshot.jpg beim Senden der Bilddatei für die Mobile Companion App.

Zusätzlich habe ich einen zufälligen Text an den Dateinamen angehängt, um es automatischen Crawlern etwas schwerer zu machen, falls meine Nabu Casa URL irgendwo auftaucht. Im Idealfall löscht man das Bild anschließend wieder und erzeugt es beim nächsten, mal unter anderem Namen. Denn dieser direkte Pfad kann in Netzwerk logs auftauchen.

Es gibt noch die Möglichkeit den Pfad mit /media/local zu schicken, dies macht jedoch bei mir Probleme. Dies ist die Lösung, die zu bevorzugen ist, da es hierbei über einen AuthKey schützt. Doku: https://companion.home-assistant.io/docs/notifications/notification-attachments/

Kamera Snapshot Einstellen

Als vollständige YAML sieht das so aus:

description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - binary_sensor.lumi_lumi_sensor_motion_ias_zone
    from: "on"
condition:
  - condition: state
    entity_id: sun.sun
    state: below_horizon
action:
  - service: camera.snapshot
    data:
      filename: /config/www/snapshot_garden_adjblkaejerio7.jpg
    target:
      entity_id: camera.192_168_188_57
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
  - service: notify.notify
    data:
      message: kamera bewegung
      data: 
        image: "/local/snapshot_garden_adjblkaejerio7.jpg"

Ordner anlegen für Aufnahmen

Damit die Aufnahmen auch gespeichert werden können, musst du zuerst entsprechend die Ordner vorbereiten. Auf diesen benötigt Homeassistant entsprechend Schreibrechte, ansonsten kann es keine Dateien anlegen. Nach etwas Config Recherche, habe ich mich dazu entschieden, ihn als Unterordner in media zu platzieren.

Aufnahme Ordner Anlegen Home Assistant

Am einfachsten geht das über den File-Editor. Einfach in Media navigieren und anschließend über das + Symbol einen neuen Ordner für die Kameraaufzeichnungen anlegen.

Nachdem der Ordner (im Beispiel /media/recordings) angelegt ist, kannst du diesen im Dateipfad in einer Automatisierung nutzen.

Diesen Ordner habe ich mir in der Config noch als recordings-Ordner angegeben. Damit weiß Home Assistant, wofür dieser Ordner ist und zeigt schon mal ein passendes Thumbnail an. Nicht auszuschließen, dass in Zukunft weitere Funktionen für diesen Ordner typ dazu kommen.

homeassistant:
    customize: !include customize.yaml
    media_dirs:
        media: "/media"
        recordings: "/media/recordings"

Kamera in Dashboard einbinden

Wenn du deine Kamera erfolgreich konfiguriert hast, kannst du sie in dein Dashboard einfügen. Das geht unkompliziert, direkt über die Oberfläche mit folgenden Schritten:

  1. Dashboard öffnen → Submenü öffnen > Benutzeroberfläche konfigurieren
  2. Karte hinzufügen → Typ Bild wählen
  3. bei Entität deine Kamera wählen
  4. Speichern

Die Oberfläche dazu sieht so aus.

Kamera in Dashboard einbinden

Als YAML wäre das dann so:

show_state: true
show_name: true
camera_view: auto
type: picture-entity
entity: camera.192_168_188_57
image: /config/www/snapshot_garden_adjblkaejerio7.jpg
name: Garten

Wenn du alles mit deinen Wunschparametern angelegt hast, sieht dein Dashboard zum Beispiel so aus:

Vorschau Kamera Feed im Dashboard

weitere Möglichkeiten

Home Assistant bietet noch weitere Möglichkeiten wie:

  • Bewegungserkennung über das Kamerasignal
  • Stream automatisch übertragen auf einen Fernseher, Chromecast
  • ONVIF Events auswerten

Was stellst du mit deinen Kameras an, oder was würdest du gern umsetzen?

NICHTS VERPASSEN
Neue Beiträge direkt per Mail!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.