Zum Inhalt springen
SONOYA.com
Raspberry Pi & Linux

Frigate mit Home Assistant: Kameras lokal auswerten

Frigate erkennt Personen, Autos und Tiere auf Deinen Kameras lokal ohne Cloud-Abo. Hardware, Kamerawahl, Installation und Anbindung an Home Assistant.

Von

Kamerasymbol auf dunkelrotem Verlauf für Frigate, das Überwachungskameras lokal auswertet und Personen an Home Assistant meldet

Kameras von Ring, Arlo oder Google Nest erkennen Personen und Pakete, aber nur im Abo und nur, indem jedes Bild Deines Grundstücks durch die Cloud des Herstellers läuft. Frigate macht dasselbe lokal: Es nimmt die Videoströme Deiner Kameras entgegen, erkennt mit einem eigenen KI-Modell Personen, Autos, Katzen und Hunde, zeichnet nur die relevanten Momente auf und meldet alles an Home Assistant. Kein Abo, keine Cloud, und die Aufnahmen bleiben in Deinem Haus.

Dieser Artikel zeigt, welche Hardware und welche Kameras sich eignen, wie Du Frigate mit Docker installierst, eine Kamera einrichtest und Frigate so an Home Assistant anbindest, dass Dein iPhone eine Benachrichtigung mit Bild bekommt, wenn jemand vor der Tür steht. Stand ist Frigate 0.18.2 vom Oktober 2026. Grundlage ist die offizielle Dokumentation von Frigate.

Die richtige Hardware

Frigate erledigt zwei rechenintensive Aufgaben: Es dekodiert die Videoströme und lässt Einzelbilder durch ein Erkennungsmodell laufen. Beides sollte nicht die CPU allein stemmen müssen.

Die Frigate-Doku nennt als derzeitigen Favoriten einen Mini-PC mit Intel N100 wie den Beelink EQ13, der baugleiche Nachfolger mit N150 eignet sich genauso. Die integrierte Intel-Grafik dekodiert die Videos, und über OpenVINO läuft auch die Objekterkennung auf ihr. Damit schafft ein Gerät für rund 180 € mehrere Kameras bei etwa 10 bis 15 Watt.

Der früher überall empfohlene Google Coral ist laut Doku für neue Installationen nicht mehr die erste Wahl. Er lohnt sich nur noch, wenn der Stromverbrauch extrem niedrig sein muss oder die Hardware keine andere Beschleunigung bietet.

Ein Raspberry Pi 5 funktioniert nur mit dem Hailo-Beschleuniger aus dem AI Kit oder AI HAT von Raspberry Pi. Ohne Beschleuniger ist der Pi für mehr als eine Kamera zu schwach. Wer ohnehin neu kauft, fährt mit dem Mini-PC besser, der Vergleich Raspberry Pi 5 oder Mini-PC für Home Assistant? rechnet die Kosten durch.

Für die Aufnahmen brauchst Du eine SSD oder Festplatte. Als Faustregel belegt eine Kamera mit 4 Megapixeln bei Daueraufnahme etwa 30 bis 50 GB pro Tag. Zeichnest Du nur Ereignisse auf, ist es ein Bruchteil davon.

Welche Kameras sich eignen

Frigate braucht Kameras, die einen RTSP-Stream liefern, also einen Videostrom im lokalen Netz. Cloud-Kameras ohne RTSP wie Ring oder Arlo fallen damit raus. Die Doku gibt klare Empfehlungen:

  • Kabel statt WLAN. WLAN-Kameras liefern laut Doku oft unzuverlässige Streams. Nimm Kameras mit LAN-Anschluss und Strom über PoE, dann reicht ein Kabel.
  • H.264 und mehrere Streams. Die Kamera sollte einen hochauflösenden Hauptstream für Aufnahmen und einen kleinen Substream für die Erkennung liefern. H.264 ist kompatibler als H.265.
  • Marken: Die Doku empfiehlt Dahua und Hikvision. Bei Reolink rät sie, bei 5 Megapixeln oder weniger zu bleiben.
  • Großer Sensor statt vieler Megapixel. Gerade nachts bringt ein größerer Bildsensor mehr als eine höhere Auflösung.

Eine Dome-Kamera mit 4 Megapixeln und PoE wie die Dahua IPC-HDW2441T-S (Affiliate Link) ist ein bewährter Einstieg. Dazu kommt ein kleiner PoE-Switch (Affiliate Link), der Kamera und Netz über ein Kabel versorgt.

Richte die Kamera vorab über ihre eigene Weboberfläche ein. Stell den Substream auf etwa 640 × 480 oder 1280 × 720 Pixel bei 5 Bildern pro Sekunde, das reicht für die Erkennung völlig. Notiere Dir die RTSP-Adressen von Haupt- und Substream aus der Anleitung der Kamera.

MQTT in Home Assistant vorbereiten

Die Anbindung an Home Assistant läuft über MQTT. Frigate und Home Assistant müssen laut Doku denselben MQTT-Broker nutzen. Installiere in Home Assistant unter Einstellungen > Apps die App Mosquitto broker und starte sie. Lege unter Einstellungen > Personen einen eigenen Benutzer wie mqtt-frigate mit Passwort an, mit dem sich Frigate am Broker anmeldet. Home Assistant erkennt den Broker danach von selbst und bietet die MQTT-Integration unter Einstellungen > Geräte & Dienste zum Hinzufügen an.

Frigate mit Docker installieren

Frigate läuft am besten auf einem eigenen Mini-PC mit Debian oder Ubuntu und Docker. Lege dort einen Ordner an:

Code
mkdir -p ~/frigate/config ~/frigate/storage
cd ~/frigate

Erstelle die Datei docker-compose.yml:

Code
nano docker-compose.yml

Füge diesen Inhalt ein. Er entspricht dem Beispiel aus der Installationsanleitung, reduziert auf einen Intel-Mini-PC:

Code
services:
  frigate:
    container_name: frigate
    restart: unless-stopped
    stop_grace_period: 30s
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "512mb"
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - ./storage:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "8971:8971"
      - "8554:8554"
      - "8555:8555/tcp"
      - "8555:8555/udp"

Die Zeile mit /dev/dri/renderD128 reicht die Intel-Grafik an den Container durch. shm_size ist der gemeinsame Speicher für die Videobilder. Die Doku rechnet mit etwa 210 MB für zwei Kameras in 720p, 512 MB reichen für drei bis vier Kameras. Speichere mit Strg + O, bestätige mit Enter und schließe mit Strg + X.

Die erste Kamera einrichten

Lege die Konfiguration an:

Code
nano config/config.yml

Dieses Beispiel orientiert sich an der Beispielkonfiguration der Doku für einen Intel-Mini-PC mit OpenVINO. Ersetze die IP-Adressen, Zugangsdaten und RTSP-Pfade durch die Werte Deiner Kamera:

Code
mqtt:
  host: 192.168.178.20
  user: mqtt-frigate
  password: DEIN-MQTT-PASSWORT

ffmpeg:
  hwaccel_args: preset-vaapi

detectors:
  ov:
    type: openvino
    device: AUTO

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  path: /openvino-model/ssdlite_mobilenet_v2.xml
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

record:
  enabled: True
  motion:
    days: 7
  alerts:
    retain:
      days: 30
      mode: motion
  detections:
    retain:
      days: 30
      mode: motion

snapshots:
  enabled: True
  retain:
    default: 30

cameras:
  haustuer:
    ffmpeg:
      inputs:
        - path: rtsp://admin:KAMERA-PASSWORT@192.168.178.60:554/cam/realmonitor?channel=1&subtype=1
          roles:
            - detect
        - path: rtsp://admin:KAMERA-PASSWORT@192.168.178.60:554/cam/realmonitor?channel=1&subtype=0
          roles:
            - record
    detect:
      width: 640
      height: 480
      fps: 5
    objects:
      track:
        - person
        - car
        - cat
        - dog

Was die Abschnitte bewirken: mqtt verbindet Frigate mit dem Broker in Home Assistant. detectors und model schicken die Erkennung über OpenVINO auf die Intel-Grafik. record speichert Bewegungen sieben Tage und Ereignisse mit erkannten Objekten 30 Tage. Bei der Kamera liefert der Substream (subtype=1 bei Dahua) die Bilder für die Erkennung und der Hauptstream (subtype=0) die Aufnahmen. objects legt fest, auf welche Objekte Frigate achtet.

Starte Frigate:

Code
docker compose up -d

Öffne https://<IP-des-Mini-PCs>:8971. Beim ersten Start legt Frigate ein Administratorkonto an und schreibt das Passwort ins Log. Du findest es mit:

Code
docker compose logs frigate | grep -i password

Nach der Anmeldung siehst Du das Livebild. Läuft jemand durchs Bild, erscheint ein Rahmen mit dem Wort „person“, und unter Review taucht kurz darauf das Ereignis auf.

Frigate in Home Assistant einbinden

Die offizielle Integration installierst Du über HACS, den Community-Store für Home Assistant. Öffne HACS, suche nach Frigate, installiere die Integration und starte Home Assistant neu. Danach fügst Du sie unter Einstellungen > Geräte & Dienste > Integration hinzufügen hinzu. Als Adresse trägst Du http://<IP-des-Mini-PCs>:8971 ein. Weil Frigate dort mit einem selbst signierten Zertifikat arbeitet, muss TLS in Frigate für diesen Port abgeschaltet sein, sonst lehnt Home Assistant die Verbindung ab. Die Doku der Home-Assistant-Integration beschreibt die Varianten.

Die Integration legt für jede Kamera mehrere Entitäten an: ein Kamerabild mit Livestream, ein Bild des zuletzt erkannten Objekts, Bewegungsmelder je Objektart wie binary_sensor.haustuer_person_occupancy, Zähler und Schalter, mit denen Du Erkennung und Aufnahme ein- und ausschaltest. Die Aufnahmen erscheinen zusätzlich im Medienbrowser.

Benachrichtigung mit Bild aufs iPhone

Mit dieser Automation bekommst Du eine Mitteilung mit Schnappschuss, sobald Frigate an der Haustür eine Person erkennt. Lege sie unter Einstellungen > Automationen & Szenen an, wähle oben rechts In YAML bearbeiten und füge sie ein:

Code
alias: Person an der Haustür
triggers:
  - trigger: state
    entity_id: binary_sensor.haustuer_person_occupancy
    to: "on"
actions:
  - action: notify.mobile_app_mein_iphone
    data:
      message: Jemand steht vor der Haustür.
      data:
        image: /api/camera_proxy/camera.haustuer
mode: single

Ersetze notify.mobile_app_mein_iphone durch die Benachrichtigung Deines Handys, die Du unter Einstellungen > Geräte & Dienste > Entitäten mit der Suche nach „notify“ findest. Damit die Benachrichtigung auch unterwegs ankommt, braucht Home Assistant einen Fernzugriff. Wie das ohne offenen Port geht, zeigt Home Assistant von unterwegs: Tailscale oder Cloudflare.

Häufige Probleme

Fehlalarme durch Bäume, Schatten oder den Zeitstempel. Lege in der Weboberfläche von Frigate unter den Einstellungen der Kamera Bewegungsmasken an. Zeichne eine Maske über den eingeblendeten Zeitstempel und über Bereiche wie die Straße, die Dich nicht interessieren. Für Benachrichtigungen nur aus einem bestimmten Bereich, etwa dem Gartenweg, legst Du eine Zone an und nutzt deren Sensor in der Automation.

Das Log meldet Fehler beim gemeinsamen Speicher. Dann ist shm_size zu klein für die Zahl Deiner Kameras. Erhöhe den Wert in docker-compose.yml und starte den Container mit docker compose up -d neu.

Die Kamera bleibt schwarz. Teste die RTSP-Adresse zuerst mit VLC auf dem Mac über Ablage > Netzwerk öffnen. Funktioniert sie dort nicht, stimmt die Adresse oder das Passwort nicht. Sonderzeichen im Kamerapasswort machen in RTSP-Adressen oft Ärger, ein Passwort nur aus Buchstaben und Ziffern erspart Dir die Suche.

Die CPU-Last ist hoch. Prüfe, ob hwaccel_args: preset-vaapi gesetzt ist und das Gerät /dev/dri/renderD128 im Container ankommt. Ohne Hardware-Dekodierung frisst schon eine Kamera einen großen Teil der CPU.

Weiterlesen.