Frigate: Die smarte Revolution im Smart Home
Hast du dich jemals gefragt, ob es eine Möglichkeit gibt, dein Zuhause sicherer zu machen? Nicht mit irgendwelchen externen Diensten, sondern wirklich sicher. Auch im Hinblick auf Datenschutz und Privatsphäre? Dann ist Frigate möglicherweise genau das Tool, wonach du schon so lange gesucht hast.
Bei Frigate handelt es sich nicht nur um ein einfaches Videoüberwachungssystem. Es ist eine Open-Source-Software, welche dich bei der intelligenten Heimüberwachung ganz gezielt unterstützen kann. Dabei verfügt es über die Fähigkeit, eine Echtzeit-Objekterkennung auf deinem eigenen Gerät durchzuführen, wodurch keine Daten in die Hände von Dritten gelangen. Damit ist Frigate ein interessantes Tool in Kombination aus Leistung, Datenschutz und Anpassungsfähigkeit.
In diesem Artikel möchte ich dir mehr zu Frigate erzählen. Dazu zeige ich dir, wie ich es in meinem Smart Home konfiguriert und integriert habe. Außerdem möchte ich dir erzählen, warum ich von meiner bisherigen Lösung abgewichen bin und den Neustart mit dieser Software gewagt habe (und nicht bereut habe). Möglicherweise kann mein Weg für dich eine Inspiration sein oder sogar ein Lösungsansatz. Denn wie wir alle wissen, ist eine gezielte und clevere Überwachung sehr viel wert. Besonders dann, wenn wir uns in der dunklen Jahreszeit etwas unsicher fühlen oder im Sommer im Urlaub sind.
Inhaltsverzeichnis
Was ist Frigate?
Frigate ist ein Open Source NVR (Network Video Recorder), welcher auf deiner eigenen Hardware installiert werden kann. Eine wichtige Eigenschaft der Software ist, dass sowohl die Objekterkennung als auch weitere Erkennungen ausschließlich lokal ausgeführt werden. Damit verlassen deine Kamerastreams und persönlichen Informationen niemals dein Zuhause.
Die Software stellt dir zur Nutzung eine Weboberfläche zur Verfügung, welche von jedem Gerät aus deinem Zuhause aufgerufen werden kann. Dort werden zum Beispiel Events gespeichert und können bei Bedarf aufgerufen werden. Du hast außerdem eine Übersicht über all deine Kameras und kannst die Einstellungen geringfügig verändern. Tiefergreifende Einstellungen werden über Konfigurationsdateien realisiert, welche ebenfalls über die Weboberfläche bearbeitet werden können.
Darüber hinaus kannst du verschiedene Erkennungszonen festlegen und auch ganze Bereiche ausblenden. Zum Beispiel, wenn du im Außenbereich einen Bereich explizit ausblenden willst von der Erkennung.
Wenn dir das noch nicht genug ist, kommt jetzt einer der wichtigsten Punkte in meinen Augen. Denn Frigate kann mit Home Assistant und weiteren Smart Home Systemen interagieren. Die Vernetzung erfolgt dabei in der Regel über MQTT und ist ziemlich simpel einzurichten. Das verschafft dir den Vorteil, dass du deine bestehende Lösung mit der Objekterkennung erweitern kannst, ohne dass hierfür ein Wechsel des Smart Homes notwendig ist. Einzige Voraussetzung ist, dass dein Smart Home mit MQTT kombiniert werden kann.
Doch gerade MQTT sollte bei Systemen wie ioBroker, OpenHAB, Home Assistant und Co. gar kein Problem sein.
Dein Nutzen von Frigate
Sicherlich fragst du dich nun, wie Frigate dir in deinem Alltag helfen kann. Und warum ausgerechnet eine Objekterkennung ein Meilenstein für dein Smart Home sein kann. Doch lass mich dir das anhand eines Beispiels erklären.
Manche kennen es sicherlich, dass sie um ihr Haus herum noch etwas Grundstück haben und gerade das in der dunklen Jahreszeit für Unsicherheit sorgen kann. Oder auch wenn man daheim allein ist und das Gefühl bekommt, nicht alles im Blick haben zu können. An genau dieser Stelle kann dir dein Smart Home helfen. Denn während wir Menschen nur eine begrenzte Aufnahmefähigkeit haben, kann die Technologie so viele Facetten gleichzeitig im Blick behalten, wie niemand anderes.
Das bedeutet nun konkret, dass dein Smart Home zum Beispiel mehr als 3 Kameras gleichzeitig kontrolliert. Jedes Bild wird darauf untersucht, welches Objekt erkannt wurde. Stellst du zum Beispiel ein, dass du auf Menschen achten möchtest, kann dich dein Smart Home benachrichtigen, wenn ein Mensch in der Kamera erkannt wurde. Ist es hingegen nur ein Fuchs, wird kein Alarm geschlagen.
Du selbst musst dich also nur noch zurücklehnen und der Technik vertrauen. Du kannst getrost deinem Alltag nachgehen, am Abend einen Horrorfilm schauen oder dich gemütlich aufs Sofa kuscheln, während dein Smart Home für deine Sicherheit sorgt. Genau das kann ein enormer Vorteil von einer solchen Kameralösung sein.
Warum der Wechsel zu Frigate?
Nun kannst du dich vielleicht zurecht fragen, warum ich inzwischen zu Frigate gewechselt bin. Und das liegt vor allem an einer ganz bestimmten Sache. Lass es mich dir erklären.
Als ich damals mit einer automatischen Kameraüberwachung begonnen habe, nutze ich DOODS2. Ebenfalls ein Open-Source-Projekt, welches ich über GitHub entdeckt habe. Der große Vorteil erschien mir dabei, dass ich mit einem einzigen Projekt alle Kameras abdecken und bei Bedarf erweitern kann.
Mit der Zeit stellte sich jedoch heraus, dass DOODS2 zumindest bei mir immer ein kleines Sorgenkind war. Die Software ist regelmäßig abgestürzt oder hat ihren Dienst verweigert. Also musste ich regelmäßig den virtuellen Server aufsuchen und die Software neu starten. Zu den schlimmsten Zeiten sogar 2x am Tag. Eine Katastrophe und wirklich sehr ungünstig. Wobei ich nicht sagen kann, ob es möglicherweise auch ein Problem in meiner Konfiguration war. Der Sache bin ich irgendwann nicht weiter nachgegangen.
Außerdem fehlte mir persönlich irgendwie der Bezug zur Software. Während andere Lösungen schöne (oder zumindest praktische) Weboberflächen bieten, war das bei DOODS2 nicht der Fall. Denn ich setzte ja auf die MQTT-Lösung, um es in mein Smart Home zu integrieren.
Kurz vor Ende des Jahres 2023 habe ich mich dann dazu entschieden, Frigate eine Chance zu geben und die Lösung für meine Zwecke immer weiter ausgebaut. Da ich außerdem schon in den Kommentaren im Blog darauf angesprochen wurde, hielt ich es für ganz geschickt, ein wenig Zeit mit dieser Lösung zu verbringen.
Einrichtung und Konfiguration
Leider ist die Einrichtung von Frigate gerade für Laien oft etwas schwierig und manchmal sogar kaum nachzuvollziehen. Daher versuche ich nun mein Bestes, um dir einen guten Überblick zu geben. Laut offizieller Dokumentation erstellst du zuerst in einem Verzeichnis deiner Wahl (in meinem Fall: /home/frigate/frigate) eine .yml-Datei. Sie ist der Ausgangspunkt für die Installation der Software. Exemplarisch zeige ich dir nun meine Datei:
version: '3.9'
services:
frigate:
container_name: frigate
privileged: true
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "100mb"
volumes:
- /etc/localtime:/etc/localtime:ro
- /home/frigate/frigate/config/config.yml:/config/config.yml
- /home/frigate/frigate/media:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "5000:5000" # Port used by the Web UI
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
environment:
FRIGATE_RTSP_PASSWORD: "MeinEigenesPasswort"
Bitte ersetze in der letzten Zeile bitte das Passwort durch ein von dir gewähltes. Erstelle bitte außerdem die Ordner config und media unter /home/frigate/frigate oder ersetze die Angabe durch die von dir gewählte Struktur. Die Datei speicherst du dann am besten unter dem Namen docker-compose.yml in dem Verzeichnis, wo später auch Frigate arbeiten soll. In meinem Fall eben in diesem Home-Verzeichnis des Users frigate.
Anschließend kannst du die Installation mit folgendem Befehl starten:
sudo docker compose -f docker-compose.yml up -d
Ich rate dir jedoch dringend dazu, vor der Installation die offizielle Dokumentation zu lesen. Dinge ändern sich ab und an und deshalb wäre genau dieser Schritt sehr ratsam. Sieh meine Anleitung also bitte eher als Ergänzung und Hilfestellung.
Weitere Installationsmethoden
Zwar wird von den Entwicklern klar kommuniziert, dass die empfohlene Installationsweise die obige ist, jedoch gibt es auch Alternativen. So kannst du zum Beispiel auch ohne docker-compose arbeiten und die notwendigen Dienste direkt mit Docker starten. Dafür ist der Befehl dann etwas anders aufgebaut und du musst auch keine docker-compose.yml erstellen.
Darüber hinaus kannst du außerdem Kubernetes, Unrat, Proxmox, ESXi, Synology NAS oder QNAP NAS verwenden, um Frigate ans Laufen zu bringen. Da ich allerdings keinen der Wege gewählt habe, empfehle ich dir die offizielle Dokumentation, wo du zum jeweiligen Verfahren auch noch weitere wichtige Informationen bekommst.
Die offizielle Dokumentation zur Installation findest du in den Frigate Docs.
Konfiguration des Systems
Neben der reinen Installation benötigst du auch eine Konfigurationsdatei. In dieser Datei sind zum Beispiel die Kameras hinterlegt. Du kannst dort auch das Verhalten und den Umgang von Frigate mit den jeweiligen Kameras beeinflussen und genauer steuern.
Die Konfigurationsdatei ist in meinem Fall unter /home/frigate/frigate/config abgelegt und heißt config.yml. Sie ist direkt in den Docker-Container verbunden, weshalb Änderungen dort wirksam werden. Der Aufbau meiner Datei ist wie folgt:
mqtt:
enabled: True
host: MEIN_MQTT_HOST
port: 1883
topic_prefix: frigate
client_id: frigate
user: MEIN_MQTT_USER
password: MEIN_MQTT_PASSWORT
database:
path: /media/frigate/frigate.db
birdseye:
enabled: true
mode: objects
restream: true
cameras:
eingang:
birdseye:
enabled: false
enabled: True
ffmpeg:
inputs:
- path: rtsp://MEINE_KAMERA
roles:
- detect
detect:
width: 1280
height: 720
motion:
mask: "1067,448,728,0,1280,0,1280,454"
record:
enabled: True
retain:
days: 3
mode: motion
events:
retain:
default: 7
mode: active_objects
Um die Konfiguration anzupassen, kannst du auch in Frigate auf der Weboberfläche auf den Menüpunkt Config klicken. Du findest ihn in der linken Leiste ziemlich weit unten.
Erweiterung für Frigate
Neben der reinen Objekterkennung, kannst du an Frigate weitere Systeme anschließen, die dann zusätzliche Aufgaben übernehmen. Ich zum Beispiel habe mich dazu entschlossen, Double Take zu nutzen. Mit diesem System kann ich die erkannten Personen identifizieren. So weiß mein Smart Home, welche Person gerade vor der Tür steht.
Da das System jedoch aktuell aus meiner Sicht noch nicht so zufriedenstellend arbeitet (was auch an der Auflösung der Kamera liegt), werde ich an dieser Stelle noch nicht weiter darauf eingehen. Ich möchte dir jedoch damit zeigen, dass du über MQTT wirklich viele Möglichkeiten hast, die über die reine Benachrichtigung hinaus gehen.
Außerdem werde ich mich im weiteren Verlauf des Artikels auch immer mal wieder auf meine aktuellen Erkenntnisse und den jetzigen Stand stützen. In meinem Stand spielt Double Take dabei auch eine Rolle, wenn auch nicht eine ganz so entscheidende.
Mehr Informationen zum Thema Double Take und Frigate bekommst du in der offiziellen Dokumentation unter dem Punkt Third Party Extensions.
Eigene Erfahrungen und Herausforderungen
Nachdem ich also nun erfolgreich Frigate in meinem Smart Home etabliert habe, kommen für mich weitere Aufgaben und Herausforderungen hinzu. Denn neben dem reinen Erkennen von Objekten, spielt natürlich auch die Benachrichtigung eine große und entscheidende Rolle.
In meinem ioBroker lausche ich per MQTT auf Änderungen in den Zuständen. So kann ich direkt identifizieren, ob Frigate eine Person im Bild erkannt hat. Auf Basis dieser Information wird dann bei mir im ioBroker ein Skript ausgeführt, welches zum Beispiel die Kamera auf dem Bildschirm farblich markiert. Der besondere Charme dabei ist nun, dass ich auf einen Blick erkennen kann, ob etwas erkannt wurde und meine Aufmerksamkeit erforderlich ist.
Darüber hinaus habe ich mir eine Telegram-Benachrichtigung eingerichtet. Diese kann ich entweder an meinen Anwesenheitszustand koppeln oder manuell aktivieren. Wird nun von Frigate eine Person erkannt, wird das Bild weiter an Double Take geschickt. Auf Basis der Analyse von Double Take erhalte ich dann eine Nachricht auf mein Smartphone mit einem Bild der Kamera. So bin ich auch von unterwegs immer darüber im Bilde, wer sich gerade bei mir daheim befindet. Besonders hilfreich ist das natürlich, wenn man selbst nicht daheim ist. Es hat sich bei mir in der Praxis jedoch auch gezeigt, dass ich die Funktion grundsätzlich sehr schätze, auch wenn ich gerade daheim bin.
Eine große Herausforderung ist natürlich der Datenschutz. So muss ich entweder jeder Person beim Betritt des Grundstücks klar machen, dass hier eine automatische Auswertung stattfindet oder die Funktion abschalten. Um allen Konflikten aus dem Weg zu gehen, habe ich die Funktion aktuell nur zu Testzwecken aktiviert, wenn ich sie brauche. Bei den Kameras im Garten hingegen läuft die Funktion dauerhaft. Da selten Besuch da ist, ist das aktuell auch gar kein Problem für mich.
Nutzung für Automationen
Da eine der Kameras insbesondere die Terrasse im Blick hat, ergeben sich für mich wiederum neue Automationsmöglichkeiten. So kann ich zum Beispiel das Licht einschalten lassen, sofern es draußen dunkel ist und eine Person im Garten erkannt wird. In Kombination mit Double Take und der Identifizierung wird das ganz besonders spannend.
Meine Idee sieht im Grunde vor, dass unterschieden wird zwischen zwei Kategorien von Personen. Entweder handelt es sich um einen Bewohner und das Licht wird nur dazu genutzt, um für ein wenig Sicht zu sorgen oder es ist eine fremde Person. Bei einer fremden Person werden die Lampen dann zur Abschreckung genutzt. Die unbekannte Person wird also vom Smart Home direkt ins Spotlight gestellt und man hat von Innen einen noch besseren Blick auf das Geschehen draußen. In der Regel sollte sowas dann auch ausreichen, um Unbefugte vom Grundstück zu vertreiben.
Gerade die Identifizierung der Person kann jedoch auch hilfreich sein, um Benachrichtigungen gezielt zu steuern. Denn im Grunde ist es mir ja egal, wenn jemand Berechtigtes auf dem Grundstück herumläuft. In diesem Fall muss mir das Smart Home keine Benachrichtigung schicken.
Zwar läuft die Identifizierung aktuell noch mehr schlecht als recht, aber es ist ein interessantes Feature für Automationen im Smart Home. Denn auf Basis dieser Unterscheidung lassen sich schon wesentlich gezieltere Routinen hinterlegen und ausführen.
Das Thema Performance
Natürlich ist es für eine solche Erkennung auch wichtig, dass die Performance grundsätzlich stimmt. Ich habe dabei die Erfahrung gemacht, dass Frigate ziemlich zügig auf die Kameras reagiert und es kaum zu Verzögerungen kommt. Double Take hingegen nimmt sich schon etwas mehr Zeit, weshalb es hier zu einem spürbaren Delay kommen kann. Da Double Take aber nur eine Zusatzrolle einnimmt, ist das in erster Linie mal gar nicht so schlimm.
Was du dir auf jeden Fall merken musst, ist die Sache mit der Hardware. Je besser deine Hardware ist, desto performanter kann auch die Software arbeiten. Wenn dein Rechner, Raspberry oder Server mit der Aufgabe schon an sein Limit kommt, musst du mit Verzögerung rechnen. Hier kann es nur helfen, wenn du dem Server mehr Performance verleihst oder möglicherweise auf stärkere Hardware zurückgreifst.
Ich lasse die Aufgaben von einer virtuellen Maschine in meinem Homelab übernehmen. Diese Maschine hat aktuell einen Arbeitsspeicher von 4 GB zugewiesen und nutzt 8 CPU-Kerne über 2 CPUs verteilt. Die Maschine hat also mächtig Leistung für die Aufgabe.
Meine CPU-Auslastung bewegt sich bei 5 Kameras etwa bei 35 Prozent. Vom Arbeitsspeicher werden knapp 92 Prozent beansprucht. Hier könnte ich also noch ein wenig mehr Leistung rein geben, um die Performance nochmal etwas zu verbessern.
Im Vergleich zu DOODS2 ist die Last jedoch spürbar gesunken. Gerade von er CPU wird nun noch etwa die Hälfte beansprucht, obwohl die gleiche Menge an Daten analysiert werden muss. Zu beachten ist aber außerdem, dass die virtuelle Maschine sowohl Frigate als auch Double Take übernimmt. Ohne Double Take wäre die Last vermutlich nochmal etwas geringer.
Frigate in meinem Alltag
Zu Beginn des Projekts habe ich primär daran gedacht, dass die Überwachung vor allem dann ein Thema ist, wenn ich im Urlaub bin. Allerdings hat sich gezeigt, dass ich damit schon etwas daneben gelegen habe.
Ich nutze die automatische Erkennung von Personen im Alltag ziemlich gerne. Besonders an der Haustür ist das sehr interessant und man wird wirklich sehr präzise informiert. Zwar habe ich die Funktion aktuell aufgrund von Datenschutz deaktiviert, aber vielleicht finde ich da noch einen guten Umgang damit.
Besonders interessant ist auch, dass ich dank Telegram immer und überall Benachrichtigungen empfangen kann. So bekomme ich zum Beispiel auch im Büro direkt die Meldung, wenn sich jemand am Haus befindet. Das vermittelt mir ein Gefühl von Sicherheit, auch wenn ich mal daheim bin. Denn ich weiß genau, dass meinem Smart Home keine Person entgeht. Ich selbst kann ja selbstverständlich nicht immer alles im Blick haben.
Und wenn du dich nun fragst, ob ich vielleicht irgendwie was an der Mütze habe … ja vielleicht. Aber nachdem bei uns schon 3x versucht wurde einzubrechen, bin ich über jegliche Art von Technologie dankbar, die mir ein Gefühl von Sicherheit gibt und mit über mein Zuhause wacht. Vielleicht bin ich auch gerade deshalb so engagiert bei dieser Einrichtung und mache mir wirklich sehr viele Gedanken.
Mein Fazit
Mein Smart Home soll Komfort und Sicherheit schaffen. Mit Frigate gehe ich dabei einen äußerst modernen und grandiosen Weg, der mir im Alltag hilft. In Kombination mit dem Smart Home System ergeben sich außerdem weitere Möglichkeiten, wie die Erkennungen sinnvoll verarbeitet werden können.
Frigate ist damit für mich zu einem Tool geworden, das ich keinesfalls mehr in meinem Zuhause missen möchte. Gerade wenn man auch mal in der dunklen Jahreszeit oder in der Nacht alleine ist, fühlt man sich schon deutlich sicherer. Denn ich für meinen Teil weiß, dass meinem Smart Home kein Detail entgeht.
Natürlich ist es mir aber in meinem Fall auch sehr wichtig, dass jeder im Haushalt darüber informiert ist und zustimmt. Denn die automatische Überwachung betrifft ja nicht nur mich. Ein ganz wichtiges Detail, was viele gerne mal vergessen.
Alles in allem muss ich sagen, dass ich froh über diese Erweiterung bin. Und ich glaube, dass auch du davon profitieren kannst. Was ist deine Meinung zum Thema der automatischen Überwachung? Siehst du darin Potenzial? Hast du vielleicht sogar schon Ideen für Automatisierungen?
Hinterlasse mir gerne dein Feedback und deine Gedanken im Kommentarbereich und lass uns darüber sprechen. Ich bin gespannt, was du zu erzählen hast.
Weiterführende Ressourcen
- Frigate – meine ersten Schritte (Unraid)
- blakeblackshear/frigate (GitHub)
- Frigate NVR – Videoanalyse mit AI (haus-automatisierung)
- Offizielle Website (Frigate)
0 Kommentare