Kameras & Home Assistant – Alles, was du wissen musst

Dieser Beitrag erklärt umfassend, wie du dein Kamera-Setup in Home Assistant aufbauen kannst, um bestmögliche Funktionalität zu erzielen.

Wir beleuchten, welche Kameras am besten mit Home Assistant zusammenarbeiten, wie du sie integrierst, wie ein beispielhaftes Setup aussehen kann und welche Modelle sich empfehlen.

Kamera-Modelle in der Übersicht

Hier werden WLAN- und PoE-Modelle vorgestellt, die sich für die Integration eignen. Für batteriebetriebene Kameras gibt es einen separaten Abschnitt weiter unten.

Duo 3

Mit 180-Grad Sicht und 2 Linsen perfekt für weitläufige Bereiche wie Terrassen oder Gärten und für Wandmontage geeignet.

Reolink 16MP UHD Dual-Objektiv PoE Überwachungskamera außen mit 180° Panoramaansicht, Bewegungsspur, Farb-Nachtsicht, Personen-/Fahrzeug-/Tiererkennung, 2-Wege-Audio, 24/7 Aufzeichnung, Duo 3 PoE

CX810

Normaler Sichtwinkel, krasse Nachtsicht und in Farbe.

Reolink CX810 ColorX PoE Kamera, 4K UHD, Echtfarben-Nachtsicht, F1,0 Superblende, 1/1,8“ Bildsensor, HDR Technologie, Personen-/Tiererkennung, Spotlight & Sirene Alarm, 2-Wege-Audio

RLC-1240A

12MP UHD, 145° Sichtfeld und IK10 Vandalismus-geschützt. Dieses Modell sollte mit Home Assistant funktionieren.

Reolink 12MP Vandalismusgeschützte PoE-Sicherheitskamera mit 145° Weitwinkel, Farbnachtsicht, Zwei-Wege-Audio, Smarter Personen-/Fahrzeug-/Tiererkennung & IP67 Wetterschutz, RLC-1240A

TrackMix PoE

4K PTZ mit Wi-Fi 6 und Dual-Objektiv. Ideal für umfassende Überwachung. Es gibt auch eine WLAN-Version.

Reolink 4K 8MP PTZ PoE Überwachungskamera Außen mit Dual-Objektiv, 6X Hybridzoom, 355°/90° Schwenkbar, Auto-Tracking, Farbnachtsicht, Personen-/Fahrzeug-/Tiererkennung, 2-Wege-Audio, TrackMix PoE

Duo 3 WiFi

Genauso leistungsstark wie die Duo 3 PoE, aber mit WLAN-Konnektivität und Netzteil.

Reolink Duo 3 WiFi, 16MP Wi-Fi 6 Überwachungskamera Aussen WLAN mit 180° Panoramablick, Bewegungsspur, Dual-Lens WLAN Kamera Outdoor, 30m Farbnachtsicht, 24/7 Aufzeichnung, KI-Erkennung, IP67

Elite Floodlight WiFi

Diese WLAN-Kamera dient mit ihren 3000-Lumen Scheinwerfern auch als Flutlicht-Ersatz. Sie kann direkt an ein 230V-Kabel angeschlossen werden, ideal für die Platzierung an ehemaligen Lampenstandorten.

Reolink Elite Floodlight WiFi, 4K WLAN Kamera Outdoor mit 3000 Lumen Flutlicht, Dimmbares Licht(3000K~6000K), 2,4/5GHz Wi-Fi 6, Kabelgebundene Überwachungskamera, 180° Panorama Blick, Smart-Erkennung

TrackMix WiFi

Eine 4K PTZ Kamera mit Wi-Fi 6 und Dual-Objektiv für umfangreiche WLAN-Überwachung.

Reolink 4K 8MP Wi-Fi 6 PTZ Überwachungskamera Aussen mit Dual-Objektiv, Auto-Tracking, Smarte Personen-/Fahrzeug-/Tiererkennung, 6X Hybrid-Zoom, Farbnachtsicht, 2-Wege-Audio, TrackMix WiFi

Reolink Integration einrichten (keine Batterie-Kameras)

Um eine Reolink Kamera in Home Assistant einzurichten, wird die offizielle Reolink Integration empfohlen, da sie oft stabiler und funktionsreicher ist als generische RTSP- oder ONVIF-Verbindungen. Das Video erklärt den genauen Einrichtungsprozess, die Konfiguration für Streaming und wie ein benutzerdefiniertes Dashboard mit Live-Kamera-Feed und Kontrollbuttons erstellt wird.

Beispiel-Code für eine Reolink-Karte

camera_view: live
type: picture-glance
title: Your Camera Location
image: https://demo.home-assistant.io/stub_config/kitchen.png
entities:
  - entity: binary_sensor.your_camera_motion
  - entity: camera.your_camera_entity
    icon: mdi:numeric-1-box-outline
    tap_action:
      action: call-service
      service: reolink_dev.ptz_control
      service_data:
        entity_id: camera.your_camera_entity
        command: TOPOS
        preset: 1
  - entity: camera.your_camera_entity
    icon: mdi:numeric-2-box-outline
    tap_action:
      action: call-service
      service: reolink_dev.ptz_control
      service_data:
        entity_id: camera.your_camera_entity
        command: TOPOS
        preset: 2
  - entity: camera.your_camera_entity
    icon: mdi:numeric-3-box-outline
    tap_action:
      action: call-service
      service: reolink_dev.ptz_control
      service_data:
        entity_id: camera.your_camera_entity
        command: TOPOS
        preset: 3
camera_image: camera.your_camera_entity

Alternativer Code für ONVIF

Die ONVIF Integration muss für die Reolink Kamera eingerichtet sein.

camera_view: live
type: picture-glance
title: Your Camera Location
image: https://demo.home-assistant.io/stub_config/kitchen.png
entities:
  - entity: camera.your_onvif_camera_mainstream
    icon: mdi:numeric-1-box-outline
    name: Overview
    secondary_info: Overview
    tap_action:
      action: call-service
      service: ONVIF.PTZ
      service_data:
        entity_id: camera.your_onvif_camera_mainstream
        move_mode: GotoPreset
        preset: '000'
  - entity: camera.your_onvif_camera_mainstream
    icon: mdi:numeric-2-box-outline
    name: Living Room
    tap_action:
      action: call-service
      service: ONVIF.PTZ
      service_data:
        entity_id: camera.your_onvif_camera_mainstream
        move_mode: GotoPreset
        preset: '001'
  - entity: camera.your_onvif_camera_mainstream
    icon: mdi:numeric-3-box-outline
    name: Hallway
    tap_action:
      action: call-service
      service: ONVIF.PTZ
      service_data:
        entity_id: camera.your_onvif_camera_mainstream
        move_mode: GotoPreset
        preset: '002'
camera_image: camera.your_onvif_camera_mainstream

Reolink Kamera für Innenbereiche

Reolink 5MP PTZ WLAN Überwachungskamera Innen, 2,4/5 GHz WiFi Baby Monitor mit Mensch/Haustiererkennung, Auto-Tracking, 3X Optischem Zoom, Heimüberwachungskamera für Ältere Kids, 2-Wege-Audio, E1 Zoom

Batteriebetriebene Reolink Kameras

Hier erfährst du, wie du batteriebetriebene Reolink Kameras nahtlos in Home Assistant integrierst. Ein Beispiel ist die Atlas PT Ultra Kamera, das neueste Flaggschiff der Batteriekameras von Reolink, die auf ihre Integrationsfähigkeit getestet wurde.

Hier eine übersichtliche Liste der aktuellen Reolink Akku-Kameras. Diese können direkt beim Hersteller erworben werden.

Reolink Kameras kaufen

Alle Kameras direkt beim Hersteller kaufen!
reolink_logo

Premium-Serie

Die neuesten Kameras mit unglaublicher Leistung. Dazu gehört auch die Atlas PT Ultra mit 4K Solar-Außenüberwachung, Daueraufzeichnung, ColorX-Nachtsicht und Auto-Tracking.

Die Argus 4 Pro ist eine weitere gute Alternative mit zwei Linsen für 180 Grad Weitwinkel (ohne PTZ-Funktion).

Medium-Segment

Erschwingliche batteriebetriebene Kameras mit guter Bildqualität und Linsen. Die Argus 3 Pro bietet tolle Bildqualität, Personen-/Tier-/Fahrzeugerkennung, aber keine 180-Grad-Sicht und keinen beweglichen PTZ-Kopf.

Die Argus Eco Ultra ist ebenfalls ein empfehlenswertes Modell.

Beginner

Budgetfreundliche Kameras für den Einstieg. Die Argus Eco bietet 3MP-Linsen und 2K-Aufnahmen. Empfehlenswert, wenn das Budget eine Kernrolle spielt.

Home Hub

Wichtig: Um die Reolink Akku-Kameras mit Home Assistant nutzen zu können, benötigst du den Reolink Home Hub oder Home Hub Pro als Gateway/Zentrale.

Hinweis zum Medien-Browser

Mittlerweile können die Aufnahmen der Altas PT-Ultra problemlos über den Medien-Browser von Home Assistant angezeigt bzw. abgespielt werden.

Code-Snippets & Automationsideen

Die Code-Snippets sind beispielhaft für Kameras mit PTZ-Funktionen geschrieben und können für die meisten Reolink-Kameras adaptiert werden.

Falls du die Code-Snippets übernehmen möchtest, stelle sicher, dass die Entitäten-IDs in Home Assistant deiner Nomenklatur entsprechen (z.B. camera.your_camera_entity).

Dashboard

Die Konfiguration der Bildüberblick-Karte:

camera_view: live
type: picture-glance
title: Your Camera Location
entities:
  - entity: camera.your_camera_entity_stream
    icon: mdi:door-closed
    name: Door
    secondary_info: Door
    tap_action:
      action: call-service
      service: select.select_option
      service_data:
        entity_id: select.your_camera_ptz_preset
        option: Door
  - entity: camera.your_camera_entity_stream
    icon: mdi:road-variant
    name: Street
    tap_action:
      action: call-service
      service: select.select_option
      service_data:
        entity_id: select.your_camera_ptz_preset
        option: Street
  - entity: camera.your_camera_entity_stream
    icon: mdi:stairs-up
    name: Stairs
    tap_action:
      action: call-service
      service: select.select_option
      service_data:
        entity_id: select.your_camera_ptz_preset
        option: Stairs
camera_image: camera.your_camera_entity_stream
layout_options:
  grid_columns: 8
  grid_rows: auto

Automation(en)

Kamera drehen bei Bewegungserkennung

Dafür kann ein ZigBee Bewegungsmelder genutzt werden.

alias: Camera Motion-Move Stairs
description: ""
mode: single
triggers:
  - type: motion
    device_id: your_motion_sensor_device_id
    entity_id: your_motion_sensor_entity_id
    domain: binary_sensor
    trigger: device
conditions:
  - condition: state
    entity_id: binary_sensor.your_camera_vehicle
    state: "off"
  - condition: state
    entity_id: binary_sensor.your_camera_person
    state: "off"
  - condition: state
    entity_id: binary_sensor.your_camera_pet
    state: "off"
  - condition: state
    entity_id: binary_sensor.your_camera_motion
    state: "off"
actions:
  - action: select.select_option
    metadata: {}
    data:
      option: Stairs
    target:
      entity_id: select.your_camera_ptz_preset

Live-Stream senden

Die folgenden Automationen erfordern eine eingerichtete Home Assistant App und einen funktionierenden Device-Tracker für die genutzte Person (z.B. über die App-Entität).

Außerdem muss dein Home Assistant von unterwegs aus erreichbar sein.

alias: Camera - Send Stream to User
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.your_camera_person
    to: "on"
conditions:
  - condition: state
    entity_id: person.your_person_entity
    state: not_home
    enabled: true
  - alias: Automation has not run yet or ran more than 2 minutes ago
    condition: template
    value_template: >-
      {{ state_attr("automation.camera_send_stream_to_user",
      "last_triggered") == None or ( as_timestamp(now()) -
      as_timestamp(state_attr("automation.camera_send_stream_to_user",
      "last_triggered")) |int(0) ) >= (2*60) }}
actions:
  - action: notify.mobile_app_your_device
    metadata: {}
    data:
      message: Camera - Person detected!
      data:
        entity_id: camera.your_camera_entity_stream
    enabled: true
mode: single

Video-Aufnahme erstellen & senden

alias: Camera - Send Video to User
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.your_camera_person
    to: "on"
conditions:
  - condition: state
    entity_id: person.your_person_entity
    state: not_home
    enabled: false
actions:
  - action: camera.record
    metadata: {}
    data:
      duration: 30
      filename: /media/your_camera_recording.mp4
    target:
      entity_id: camera.your_camera_entity_stream
  - wait_template: >-
      {{ is_state("binary_sensor.your_camera_person", "off") and
      is_state("binary_sensor.your_camera_motion", "off") }}
    continue_on_timeout: false
    timeout: "42"
  - action: notify.mobile_app_your_device
    metadata: {}
    data:
      message: Camera - Person detected!
      data:
        video: /media/local/your_camera_recording.mp4
    enabled: true
mode: single

FAQ zu Reolink Kameras und Kameras im Allgemeinen

Bei den batteriebetriebenen Kameras, unterstützt beispielsweise die Altas PT-Ultra eine Voraufnahme, also das Aufnehmen bereits vor Ereigniserkennung.

Die Aufnahme vor Ereigniserkennung kann in der Reolink-App unter den Kamera-Einstellungen (Zahnrad oben rechts) im „Voraufzeichnungsmodus“ konfiguriert werden.

Damit das Video auch auf der Apple Watch angezeigt wird, muss die Home Assistant Companion App auch auf der Watch installiert sein.

Falls die Kamera über den Home-Hub nicht im WLAN konfiguriert werden kann, füge die Kamera zuerst „direkt“ in der Reolink App hinzu. Du kannst diese dann nachträglich noch auf den Home-Hub umstellen, indem du beim Home-Hub ein Gerät hinzufügst und „LAN“ auswählst.

Achtung: Subnetting, also verschiedene Netzwerke, wird hier nicht unterstützt. Home-Hub und Kamera müssen im selben Netzwerk sein.

Ja, du kannst die Reolink-Kameras ohne Probleme vom Internet aussperren (z.B. über den Router) und trotzdem die Kameras weiterhin mit Home Assistant nutzen!

Auch die Reolink App funktioniert dann noch, aber nicht von unterwegs aus.

Aus technischen Gründen können die Batterie-Kameras keinen dauerhaften RTSP-Stream oder Webserver (zum Anbinden an Home Assistant) bereitstellen.

Dies erfolgt indirekt über den Home-Hub, da dieser über ein spezielles Protokoll die Kameras wecken kann und als zentraler Speicherort der Aufnahmen dient. Es ist zu beachten, dass beim Reolink Home Hub keine Abo-Kosten anfallen.

Dies ist der maximal möglichen Bandbreite beim Schreiben auf 1 (oder genauer gesagt 2) microSD-Karten geschuldet; mehr Kamera-Streams können hier nicht aufgezeichnet werden.

Falls du mehr batteriebetriebene Kameras planst, gibt es alternativ den Home Hub Pro mit Festplatte und einem deutlich höheren Gerätelimit.

Kurz gesagt, nein. Es gibt einige wenige Ausnahmen, wenn man es begründen kann, aber generell ist nur das Filmen des eigenen Grundstücks/Immobilie erlaubt.

Auch das Filmen von Gehwegen oder gemeinsam genutzten Einfahrten ist generell nicht erlaubt.

Kameras mit Schwenkfunktionen sind eventuell problematisch und sollten im Optimalfall so platziert werden, dass diese mit dem PTZ-Kopf gar nicht erst etwas filmen können, das nicht gefilmt werden darf.

In der Reolink-App kann unter anderem der horizontale Verfolgungsbereich des PTZ-Kopfes eingestellt werden, damit dieser kurz vor öffentlichem Grund mit der Verfolgung aufhört.

Es wird empfohlen, Kameras so einzustellen, dass kein öffentlicher Grund im Sichtfeld ist und somit keine Personen auf der Straße gefilmt oder von der Personenerkennung „verfolgt“ werden. Außerdem kann unter Einstellungen -> Display -> Privatsphärenmaske, Bereiche des Videos schwarz gemacht werden. Bei PTZ-Kameras ist es sinnvoller, den horizontalen Verfolgungsbereich entsprechend einzustellen.

Kamera-Attrappen sind ebenfalls problematisch, da diese das Gefühl auslösen können, beobachtet zu werden.

LLMVision – KI für Überwachungskameras

Mit LLMVision werden alle Kameras in Home Assistant intelligent. Es bietet Personenerkennung, eine zentrale Timeline aller Ereignisse, Integration in Home Assistant Assist und vieles mehr.

Links

  1. Webseite: https://llmvision.org/
  2. Doku: https://llmvision.gitbook.io/getting-started/
  3. GitHub-Repo (in HACS enthalten): https://github.com/valentinfrlch/ha-llmvision
  4. Timeline-Karte (muss in HACS hinzugefügt werden): https://github.com/valentinfrlch/llmvision-card
  5. Blueprint (für Timeline-Eventspeicherung): https://raw.githubusercontent.com/valentinfrlch/ha-llmvision/refs/heads/main/blueprints/event_summary.yaml

Hinweis zur Blueprint

Wenn eine neue Version von LLMVision installiert wird oder es ein Update gibt, muss meist auch die Blueprint erneut importiert werden, um weiterhin mit LLMVision kompatibel zu sein!

Prompts

Beispiel-Prompts für verschiedene LLMs:

Memory / Settings

Typ Prompt
System Deine Aufgabe ist es, eine Reihe von Bildern zu analysieren und eine prägnante Ereignisbeschreibung basierend auf diesen Anweisungen zu erstellen. Konzentriere dich dabei auf die Identifizierung und Beschreibung der Aktionen von Personen, Haustieren und dynamischer Objekten (z.B. Fahrzeuge) und nicht auf statische Hintergrunddetails. Wenn mehrere Bilder gegeben werden, verfolge und fasse Bewegungen oder Veränderungen über die Zeit zusammen (z.B. “Eine Person geht zur Haustür”, “Ein Auto fährt aus der Einfahrt” oder „Jemand sitzt auf dem Stuhl“). Halte die Antworten kurz und objektiv. Vermeide Spekulationen und priorisiere beobachtbare Aktivitäten. Die Zusammenfassung muss weniger als 255 Zeichen lang sein, daher muss sie so gut wie möglich innerhalb dieser Zeichenbegrenzung zusammengefasst werden.
Title Deine Aufgabe ist es, einen kurzen und prägnanten Ereignistitel basierend auf der bereitgestellten Beschreibung zu erstellen. Dieser Titel sollte die wichtigsten Aktionen oder Ereignisse in den Bildern zusammenfassen und sich gut für Benachrichtigungen oder Alarme eignen. Achte darauf, dass der Titel klar sowie relevant für den Bildinhalt und kürzer als 6 Wörter ist. Vermeide unnötige Details oder subjektive Interpretationen. Das Format des Titels sollte gesehen bei sein, zum Beispiel: „Person bei Haustür gesehen“.

Blueprint

Fasse die Ereignisse basierend auf der mitgeschickten Reihe von Bildern zusammen, die in kurzen Abständen aufgenommen wurden. Konzentriere dich nur auf bewegliche Objekte wie Menschen, Fahrzeuge, Tiere und andere (normalerweise) aktive Elemente. Ignoriere Objekte, die in der Regel Statisch sind und Landschaften. Schildere die Bewegungen und Interaktionen klar und prägnant. Erwähnen nicht das Vorhandensein von Bildern und stelle die Informationen so dar, als ob du die Ereignisse direkt beobachtet hättest. Beschränke deine Antwort auf maximal 100 Zeichen / 20 Tokens. Wenn keine Bewegung festgestellt wird, antworten mit: „Keine Aktivität beobachtet“.

Automationen

Türklingel
Beschreibe das Bild. Wenn du eine Person darauf erkennst, beschränke dich auf die Beschreibung Person. Bitte verzichte auf einleitende oder abschließende Sätze, gib direkt die geforderte Beschreibung aus und fasse dich kurz.
Paketerkennung
Antworte mit einer einfachen Zahl. Erkennst du jemanden, der ein Paket zustellt?
Wenn du niemanden siehst, der ein Paket liefert, antworte mit 0.
Wenn du einen Paketzusteller erkennst, antworte mit 1.
Waschbär
Antworte mit einer einfachen Zahl. Erkennst du einen Waschbär auf dem Bild?
Wenn du keinen Waschbär siehst, antworte mit 0.
Wenn du einen einen Waschbär erkennst, antworte mit 1.
Wäsche
Antworte mit einer einfachen Zahl. Wie viele Wäschestücke hängen auf der Leine?
Wenn du keine Wäsche siehst, antworte mit 0.
Wenn du Kleidung auf der Wäscheleine erkennst, antworte mit der Anzahl der Wäschestücke die auf der leine hängen.

Automations-Code

Paketerkennung

alias: Package Detection - LLMVision
description: Integration
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.your_camera_person_detection
    to: "on"
    from: "off"
    id: FrontDoor
conditions: []
actions:
  - action: llmvision.image_analyzer
    data:
      message: >-
        Antworte mit einer einfachen Zahl. Erkennst du jemanden, der ein Paket
        zustellt?
        Wenn du niemanden siehst, der ein Paket liefert, antworte mit 0.
        Wenn du einen Paketzusteller erkennst, antworte mit 1.
      image_entity:
        - camera.your_camera_low_res
      target_width: 1280
      max_tokens: 100
      temperature: 0.2
      provider: your_llm_provider_id
      include_filename: false
      model: meta-llama/llama-4-scout-17b-16e-instruct
      expose_images: true
    response_variable: CameraLLMVisionResponse
  - if:
      - condition: template
        value_template: "{{ CameraLLMVisionResponse.response_text | int > 0 }}"
    then:
      - action: camera.snapshot
        metadata: {}
        data:
          filename: /media/your_camera_snapshot.jpeg
        target:
          entity_id:
            - camera.your_camera_high_res
      - action: notify.mobile_app_your_device
        metadata: {}
        data:
          title: Package delivered!
          data:
            image: /media/local/your_camera_snapshot.jpeg
          message: A package delivery person was detected by LLMVision
mode: single

Türklingel (relevanter Teil des Auswählers als Code)

choose:
  - conditions:
      - condition: trigger
        id:
          - FrontDoor
    sequence:
      - action: llmvision.image_analyzer
        data:
          message: >-
            Beschreibe das Bild. Wenn du eine Person darauf erkennst, beschränke
            dich auf die Beschreibung Person. Bitte verzichte auf einleitende
            oder abschließende Sätze, gib direkt die geforderte Beschreibung aus
            und fasse dich kurz.
          image_entity:
            - camera.your_camera_low_res
          target_width: 1280
          max_tokens: 100
          temperature: 0.2
          provider: your_llm_provider_id
          include_filename: false
          model: gemini-2.0-flash
          expose_images: true
          generate_title: true
          remember: true
          use_memory: true
        response_variable: CameraLLMVisionResponse
      - variables:
          action_open: "{{ 'OPEN_' ~ context.id }}"
          action_close: "{{ 'CLOSE_' ~ context.id }}"
      - action: notify.mobile_app_your_device
        metadata: {}
        data:
          message: "{{ CameraLLMVisionResponse.response_text }}"
          title: Doorbell rang!
          data:
            entity_id: camera.your_camera_low_res
            push:
              sound:
                name: default
                critical: 1
                volume: 0.5
            actions:
              - action: "{{ action_open }}"
                title: Open Door
                destructive: true
              - action: "{{ action_close }}"
                title: Lock Door
      - wait_for_trigger:
          - trigger: event
            event_type: mobile_app_notification_action
            event_data:
              action: "{{ action_open }}"
          - trigger: event
            event_type: mobile_app_notification_action
            event_data:
              action: "{{ action_close }}"
        timeout:
          hours: 0
          minutes: 5
          seconds: 0
          milliseconds: 0
      - choose:
          - conditions:
              - condition: template
                value_template: "{{ wait.trigger.event.data.action == action_open }}"
            sequence:
              - action: lock.unlock
                metadata: {}
                data: {}
                target:
                  entity_id: lock.your_smart_lock_entity
          - conditions:
              - condition: template
                value_template: "{{ wait.trigger.event.data.action == action_close }}"
            sequence:
              - action: lock.lock
                metadata: {}
                data: {}
                target:
                  entity_id: lock.your_smart_lock_entity

Blueprint-Code für Gemini

Falls jemand etwas nachvollziehen will, hier ein Beispiel für einen Blueprint-Code:

alias: AI Event Summary (vX.Y.Z) - LLMVision - Your Camera Location - Gemini
description: ""
use_blueprint:
  path: valentinfrlch/event_summary.yaml
  input:
    camera_entities:
      - camera.your_camera_1_low_res
      - camera.your_camera_2_low_res
    provider: your_llm_provider_id
    model: gemini-2.0-flash
    motion_sensors:
      - binary_sensor.your_camera_1_person
      - binary_sensor.your_camera_2_person
    run_conditions: []
    message: >-
      Fasse die Ereignisse basierend auf der mitgeschickten Reihe von Bildern
      zusammen, die in kurzen Abständen aufgenommen wurden. Konzentriere dich
      nur auf bewegliche Objekte wie Menschen, Fahrzeuge, Tiere und andere
      (normalerweise) aktive Elemente. Ignoriere Objekte, die in der Regel
      Statisch sind und Landschaften. Schildere die Bewegungen und Interaktionen
      klar und prägnant. Erwähnen nicht das Vorhandensein von Bildern und stelle
      die Informationen so dar, als ob du die Ereignisse direkt beobachtet
      hättest. Wenn keine Bewegung festgestellt wird, antworten mit: „Keine
      Aktivität beobachtet“.
    notify_device:
      - your_device_id_1
      - your_device_id_2
    notification_sticky: false
    notification_volume: 1
    cooldown:
      hours: 0
      minutes: 2
      seconds: 0
    file_path: /config/www/snapshots/{{ camera_file_path }}/last_motion.jpg
    duration: 3
    max_frames: 3
    use_memory: true
    remember: true
    important: false
    condition_notify:
      - condition: state
        entity_id: binary_sensor.is_someone_home
        state: "off"
    temperature: 0.4
    max_tokens: 20

Groq Modell: meta-llama/llama-4-scout-17b-16e-instruct

Frigate

Als komplett lokale Alternative zu LLMVision gibt es Frigate NVR – eine beliebte Open-Source-Software zur Kameraüberwachung. Hier wird gezeigt, was Frigate alles kann, welche Hardware benötigt wird und wie es optimal konfiguriert wird. Es wird auch kritisch beleuchtet, ob der Einrichtungsaufwand gerechtfertigt ist.

Doku / Links

Es wird wärmstens empfohlen, sich durch die Dokumentation von Frigate zu arbeiten: https://docs.frigate.video

Addon-Repo

https://github.com/blakeblackshear/frigate-hass-addons/tree/main

HACS-Integration

https://github.com/blakeblackshear/frigate-hass-integration

Weitere hilfreiche Links

Info Link
Sizing & HW-Empfehlungen https://docs.frigate.video/frigate/hardware/
go2rtc Config https://github.com/AlexxIT/go2rtc/tree/v1.9.2#configuration
Hardwarebeschleunigung https://docs.frigate.video/configuration/hardware_acceleration/
Detectors (Objekterkennung ohne CPU) https://docs.frigate.video/frigate/hardware#detectors
iGPU VAAPI in Proxmox nutzen https://pw999.wordpress.com/2023/12/10/igpu-vaapi-acceleration-on-ha-frigate-in-proxmox/

Beispiel-Konfiguration für Frigate

environment_vars:
  LIBVA_DRIVER_NAME: i965 # <------ https://docs.frigate.video/configuration/hardware_acceleration#intel-based-cpus

mqtt:
  host: core-mosquitto
  user: your_mqtt_user
  password: your_mqtt_password

ffmpeg:
  hwaccel_args: preset-vaapi # <------ https://docs.frigate.video/configuration/hardware_acceleration#intel-based-cpus
  input_args: preset-rtsp-restream
  output_args:
    record: preset-record-generic-audio-copy

detectors: # <------ Intel-CPU Detection
  ov:
    type: openvino
    device: GPU

model:
  path: plus://019207ca9d362c2398c5350b59d20f5b # <------ Frigate + Model

record: # <------ Globale Option für Recording-Einstellungen. Jede globale Einstellung kann immer auf dem Kamera-Level überschrieben werden
  enabled: true # <------ Aktiviert Recordings
  expire_interval: 30
  sync_recordings: false
  retain: 
    days: 0 # <------ Deaktiviert das generelle Aufnehmen von Kamera-Streams, auch wenn keine Bewegung erkannt wird.
  alerts:
    retain:
      days: 7 # <------ Bei Alerts (Personen im Standard) wird die Aufnahme gestartet und 7 Tage aufgehoben, vor und nach dem erkannten Ereignis werden 15 Sekunden aufgenommen.
      mode: active_objects
    pre_capture: 15
    post_capture: 15
  detections:
    retain:
      days: 7 # <------ Bei Detections (Katzen, Vögel, etc. je nach Konfig) wird die Aufnahme gestartet und 7 Tage aufgehoben, vor und nach dem erkannten Ereignis werden 15 Sekunden aufgenommen.
      mode: active_objects
    pre_capture: 15
    post_capture: 15

snapshots: # <------ Aktiviert das Speichern von Snapshots mit eingerahmtem erkanntem Objekt (bounding Box)
  enabled: true
  timestamp: false
  bounding_box: true
  crop: false
  retain:
    default: 7
  quality: 75

detect:
  enabled: true
  fps: 4
  min_initialized: 2
  max_disappeared: 20
  stationary:
    interval: 40
    threshold: 40

objects:
  track:
    - person
    - face # <------ Nur mit Frigate + Modell verfügbar. Ansonsten entfernen
    - cat
  filters:
    person:
      min_score: 0.6
      threshold: 0.75
    cat:
      min_score: 0.3
      threshold: 0.5

go2rtc:
  streams:
    your_camera_1_main:
      - ffmpeg:rtsp://user:password@your_camera_ip_1/Preview_01_main#backchannel=0
      - rtsp://user:password@your_camera_ip_1/Preview_01_main
      - ffmpeg:your_camera_1_main#audio=opus
    your_camera_1_sub:
      - ffmpeg:rtsp://user:password@your_camera_ip_1/Preview_01_sub
    your_camera_2_main:
      - ffmpeg:rtsp://user:password@your_camera_ip_2/Preview_01_main#backchannel=0
      - rtsp://user:password@your_camera_ip_2/Preview_01_main
      - ffmpeg:your_camera_2_main#audio=opus
    your_camera_2_sub:
      - ffmpeg:rtsp://user:password@your_camera_ip_2/Preview_01_sub
  webrtc:
    candidates:
      - 192.168.0.200:8555
      - stun:8555

cameras:
  Your_Camera_1_Name: # <------ Name der Kamera
    enabled: true
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/your_camera_1_sub # <----- Stream für Detektion
          roles:
            - detect
        - path: rtsp://127.0.0.1:8554/your_camera_1_main # <----- Stream für Aufnahme
          roles:
            - record
    live:
      streams:
        Main Stream: your_camera_1_main
        Sub Stream: your_camera_1_sub
    objects:
      track:
        - person
        - face
        - cat
        - bird
        - fox
        - raccoon
        - squirrel
        - deer
        - robot_lawnmower
    motion:
      mask: [] # Beispiel: - 0.086,0.953,0.176,0.97,0.146,0.663,0.106,0.661,0.084,0.56,0.014,0.613
      threshold: 35
      contour_area: 13
      improve_contrast: true
    zones:
      Zone_1:
        coordinates: [] # Beispiel: 0.367,0.588,0.491,0.586,0.495,0.523,0.479,0.503,0.507,0.459,0.537,0.329,0.571,0.367,0.593,0.37,0.612,0.388,0.623,0.383,0.629,0.401,0.627,0.421,0.613,0.425,0.616,0.455,0.611,0.488,0.629,0.47,0.669,0.488,0.704,0.495,0.715,0.527,0.735,0.554,0.757,0.566,0.787,0.575,0.874,0.611,0.904,0.609,0.919,0.579,0.937,0.537,0.968,0.504,0.993,0.516,0.999,0.419,0.998,0.4,0.774,0.22,0.508,0.213,0.277,0.233,0.256,0.28,0.389,0.268,0.389,0.285,0.384,0.301,0.386,0.369,0.388,0.404,0.392,0.435,0.382,0.477,0.37,0.531
        loitering_time: 0
      Zone_2:
        coordinates: []
        loitering_time: 0
  Your_Camera_2_Name:
    enabled: true
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/your_camera_2_sub
          roles:
            - detect
        - path: rtsp://127.0.0.1:8554/your_camera_2_main
          roles:
            - record
    live:
      streams:
        Main Stream: your_camera_2_main
        Sub Stream: your_camera_2_sub
    motion:
      improve_contrast: true

genai:
  enabled: false
  provider: gemini
  api_key: your_gemini_api_key
  model: gemini-1.5-flash
semantic_search:
  enabled: false
  model_size: small
face_recognition:
  enabled: true
  model_size: small
lpr:
  enabled: true
classification:
  bird:
    enabled: true
version: 0.16-0
camera_groups:
  Group_1:
    order: 1
    icon: LuLeaf
    cameras:
      - Your_Camera_1_Name
      - Your_Camera_2_Name

Geräte für Home Assistant

Mehr Geräte für Home Assistant, HACS oder auch Alexa, Google Home, HomeKit sowie Homebridge findest du in relevanten Smart Home Gerätefindern.

Fazit

Dieser Beitrag hat umfassende Informationen zu Home Assistant und Kameras bereitgestellt, einschliesslich Setup-Beispielen, Datenschutzaspekten und PoE. Er zeigt, warum die Reolink-Integration oft besser ist als RTSP und ONVIF und wie man sie für das Streaming konfiguriert. Abschliessend wurde die Erstellung eines benutzerdefinierten Dashboards mit Live-Kamera-Feed und Schaltflächen zur Steuerung behandelt.

Leave a comment