Home Assistant : Frigate NVR installieren für ultimative Sicherheit und tolle Automatisierungen!

Tauche ein in die Welt der Sicherheit! Erfahre in diesem Video, wie du Frigate NVR problemlos unter Home Assistant einrichtest. Von der nahtlosen Integration bis zur stylischen Lovelace Card – alles, was du für ultimativen Schutz brauchst! 🛡️🏡

Hier kannst du den Coral AI beziehen*:

Google Coral USB Edge TPU ML Beschleunigungscoprozessor für Raspberry Pi und andere eingebettete Einzelboard-Computer
  • Spezifikationen: Arm 32-Bit Cortex-M0+ Mikroprozessor (MCU): bis zu 32 MHz max 16 KB Flash-Speicher mit ECC 2 KB RAM-Anschlüsse: USB 3.1 (Gen 1) Port und Kabel (SuperSpeed, 5 Gb/s Übertragungsgeschwindigkeit)

Links aus dem Video:

Frigate: Introduction | Frigate

Coral AI: Get started with the USB Accelerator | Coral

Hinweis:

Bitte beachtet, dass man Frigate NVR nicht auf einem Raspberry Pi mit Micro SD Karte laufen lassen sollte. Durch die häufigen Schreib-/Lesezyklen kann es zu einem schnellen Defekt der Dateisystems kommen. Verwendet hier besser eine SSD !

Für die Verwendung des Coral AI Stick mit einem Raspberry PI, empfehle ich einen separat versorgten USB 3.0 HUB.

Netzwerkspeicher

Für das dauerhafte Recording empfehle ich die Verwendung eines Netzwerkspeichers. Die Einrichtung unter Home Assistant für die Verwendung eines Netzwerkspeichers ist hier beschrieben:

HA Network Storage | Frigate

Wie sich grundsätzlich unter HA ein Netzwerkspeicher z.B. über eine Synology NAS Freigabe einrichten lässt, habe ich in dem Video Backup & Restore erklärt. Hier wäre lediglich als Medium -> Media zu wählen und nicht Backup. Die Media Freigabe muss unter Home Assistant “frigate” genannt werden.

YouTube player

Konfigurationen:

Hier findest du die frigate.yml :

mqtt:
  enabled: True
  host: 172.16.0.14
  user: smarthome
  password: smarthome
  topic_prefix: frigate
  # Optional: client id (default: shown below)
  # WARNING: must be unique if you are running multiple instances
  client_id: frigate
  # Optional: interval in seconds for publishing stats (default: shown below)
  stats_interval: 1


# Optional: Detectors configuration. Defaults to a single CPU detector
detectors:
  # Required: name of the detector
  detector_name:
    # Required: type of the detector
    # Frigate provided types include 'cpu', 'edgetpu', and 'openvino' (default: shown below)
    # Additional detector types can also be plugged in.
    # Detectors may require additional configuration.
    # Refer to the Detectors configuration page for more information.
    type: cpu 

birdseye:
  enabled: True
  restream: True
  mode: objects

objects:
  track:
    - person
    - car
  filters:
    person:
      min_area: 5000
      max_area: 100000


go2rtc:
  streams:
    Treppenhaus: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"
    Treppenhaus_sub: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"

cameras:
  Treppenhaus_CAM:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Treppenhaus?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Treppenhaus_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      width: 1280 
      height: 720 
      fps: 5
    snapshots:
      enabled: True
    record:
      enabled: True
      retain: 
        days: 7
      events:
        retain: 
          default: 14

Möchtest du weitere Kameras einbinden, habe ich dir das Beispiel frigate.yml um eine weitere Beispielkamera erweitert ( Beispiel für eine Reolink Kamera z.B. 410, 520, 520a, 511wa). Dieser Vorgang kann für die Anzahl eurer Kameras wiederholt werden. Achtet darauf, dass jede Kamera auch Kapazität von eurem Host-System in Anspruch nimmt.

Weitere Konfigurationsbeispiele für Kameras findest du an dieser Stelle auf der Frigate Dokumentation:

Camera Specific Configurations | Frigate

Beispiel für die Erweiterung um eine weitere Kamera.

mqtt:
  enabled: True
  host: 172.16.0.14
  user: smarthome
  password: smarthome
  topic_prefix: frigate
  # Optional: client id (default: shown below)
  # WARNING: must be unique if you are running multiple instances
  client_id: frigate
  # Optional: interval in seconds for publishing stats (default: shown below)
  stats_interval: 1


# Optional: Detectors configuration. Defaults to a single CPU detector
detectors:
  # Required: name of the detector
  detector_name:
    # Required: type of the detector
    # Frigate provided types include 'cpu', 'edgetpu', and 'openvino' (default: shown below)
    # Additional detector types can also be plugged in.
    # Detectors may require additional configuration.
    # Refer to the Detectors configuration page for more information.
    type: cpu 

birdseye:
  enabled: True
  restream: True
  mode: objects

objects:
  track:
    - person
    - car
  filters:
    person:
      min_area: 5000
      max_area: 100000


go2rtc:
  streams:
    Treppenhaus: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"
    Treppenhaus_sub: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"
    zweite_Kamera: 
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=username&password=password#video=copy#audio=copy#audio=opus"
    zweite_Kamera_sub: 
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=username&password=password"


cameras:
  Treppenhaus_CAM:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Treppenhaus?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Treppenhaus_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      width: 1280 
      height: 720 
      fps: 5
    snapshots:
      enabled: True
    record:
      enabled: True
      retain: 
        days: 7
      events:
        retain: 
          default: 14

  zweite_Kamera_CAM:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/zweite_Kamera?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/zweite_Kamera_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      width: 1280 
      height: 720 
      fps: 5
    snapshots:
      enabled: True
    record:
      enabled: True
      retain: 
        days: 7
      events:
        retain: 
          default: 14
  

Möchtest du den Coral AI verwenden, dann setze an der Stelle Detectors folgende Zeilen ein und ersetzte damit die Zeilen mit dem CPU-Detector:

detectors:
  coral:
    type: edgetpu
    device: usb

Coral Edge TPU Proxmox :

Um den Coral AI unter Proxmox durchzureichen, führe folgende Zeilen in deiner PVE-Node Shell aus (nicht in der VM !) :

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-get update
sudo apt-get install libedgetpu1-std

Nun kannst du in deiner VM den USB Edge TPU Adapter wie folgt durchreichen:

Achte dabei darauf ,dass du den Port wählst, wo der Coral AI Stick eingesteckt ist. Bei mir wurde “Ausgesteckt” angezeigt. Lass dich davon nicht irritieren, wenn das bei dir ebenfalls so sein sollte.

Für die Verwendung der TPU musst du zwingend einen USB 3.x Port verwenden.

Zuletzt muss die Home Assistant VM neu gestartet werden und die Änderung in der friagte.yml durchgeführt werden ( siehe oben ).

In eigener Sache:

Frigate bietet noch viele weitere Möglichkeiten. Diese lassen sich nicht alle in nur einem Video darlegen. Falls dich Frigate mit Home Assistant interessiert, kannst du mir gerne in den Kommentaren des Videos auf Youtube eine Nachricht hinterlassen. Wenn genügend Interesse besteht, werde ich gerne noch weitere Features von Frigate vorstellen ( Masken, Zonen, Beispielautomatisierungen etc. ) .