Frigate & Home Assistant: Person erkannt, Licht blinkt

Am Abend verbringe ich meine Zeit hin und wieder in meinem Arbeitszimmer mit Kopfhörern auf den Ohren. In dieser Zeit bin ich von meiner Türklingel komplett abgeschnitten. Da insbesondere Amazon bei uns spät ausliefert, wird das hin und wieder zu einer echten Herausforderung. Entweder ich höre die Klingel nicht oder sie legen das Paket einfach nur ab.

Um diese Alltagssituation zu lösen, habe ich mir eine Automation gebaut. Sobald eine Person an der Eingangstür erkannt wird, blinkt das Licht in meinem Arbeitszimmer auf und macht mich optisch auf die Person aufmerksam. Bereits am ersten Abend habe ich so nicht nur den Paketboten bemerkt. Durch den visuellen Hinweis habe ich das abgelegte Paket schnell reinholen können.

In diesem Artikel möchte ich dir das Zusammenspiel aus Home Assistant und Frigate an eben genau diesem Beispiel zeigen. Ich erkläre dir, wie ich diese Funktion gezielt einsetze und wie sie mir nicht schon am zweiten Tag auf den Keks geht. Wir schauen uns die Automation als YAML an, die ich dir in fertiger Form zur Verfügung stelle.

Warum das Licht nicht immer blinkt

Die reine Personenerkennung ist technisch als Trigger für meine Automation völlig ausreichend. Sie liefert meinem Smart Home allerdings zu wenig Kontext über die Notwendigkeit dieser Funktion. Technisch gesehen unterscheidet das Smart Home nämlich nicht zwischen dem Paketboten und meinem Nachbarn. Eine automatische Erkennung über den notwendigen Kontext ist daher in meinem Setup schwierig und ein noch nicht gelöstes Problem. Aus diesem Grund entscheide ich mich bewusst für einen manuellen Weg, der die Funktion aktiviert oder deaktiviert.

Ich nutze dafür neben der reinen Automation einen Wächter, den ich bewusst in meinem Dashboard ein- und ausschalten kann. Ein Schalter, um es präziser zu sagen. Der Schalter trägt den charmanten Namen Eingangs-Wächter.

Warte ich nun in einer Situation auf eine Lieferung und möchte weiterhin Kopfhörer nutzen oder befinde mich im Homeoffice in einem Telefonat, aktiviere ich den Wächter. Nachdem die Lieferung dann eingetroffen ist, deaktiviere ich die Funktion wieder. Eine Fehlbedienung würde eintreten, wenn ich das Aktivieren oder Deaktivieren des Wächters vergesse. Ich würde entweder keine visuelle Benachrichtigung bekommen oder hingegen zu viele, auch wenn die Lieferung bereits erledigt ist. Besonders um nicht abzustumpfen, möchte ich kein dauerhaftes optisches Signal.

Der Eingangs-Wächter setzt in meinem Setup voraus, dass sich eine Person im Arbeitszimmer aufhält. Die Funktion habe ich im Moment auf diesen Raum beschränkt, da hier der Nutzen für mich am größten ist. In allen anderen Räumen bin ich selten von der Türklingel abgeschnitten. Die Erkennung erfolgt dabei über einen Präsenzmelder im Raum, auf dessen Informationen Home Assistant Zugriff hat.

Für ein blinkendes Licht bei einem eingeschalteten Wächter müssen demnach mehrere Bedingungen erfüllt sein:

Eingangs-Wächter aktiv + Präsenz im Arbeitszimmer + Person an der Eingangstür = Licht blinkt

Damit erreiche ich, dass ich nicht selbst den Eingang im Blick behalten oder aktiv auf die Türklingel lauschen muss.

Die Automation in Home Assistant

Die Logik für meine Automation steht damit fest und Home Assistant muss diese Informationen jetzt nur noch zusammenbringen. Für die Automation in Home Assistant liefert Frigate bereits den Zustand, ob eine Person erkannt wurde. Der Eingangs-Wächter und der Präsenzmelder liefern die beiden zusätzlichen Bedingungen.

Der Zustandswechsel der Frigate-Entität ist der einzige Trigger. Er löst aus, sobald sich der Wert der Entität von off zu on ändert:

triggers:
  - trigger: state
    entity_id: binary_sensor.eingang_person_occupancy_2
    from: 'off'
    to: 'on'
    note: Frigate erkennt eine Person an der Eingangskamera.

Die beiden Bedingungen werden direkt im Anschluss überprüft, um die Automation entweder fortsetzen oder stoppen zu lassen:

conditions:
  - condition: state
    entity_id: input_boolean.eingangs_wachter
    state: 'on'
    note: Der visuelle Wächter wurde manuell aktiviert.
  - condition: state
    entity_id: binary_sensor.presence_sensor_fp2_963d_presence_sensor_1
    state: 'on'
    note: Der FP2 meldet Anwesenheit im Arbeitszimmer.

Da der Aqara FP2 zwischen unterschiedlichen Bereichen unterscheiden kann, greife ich hier auf die allgemeine Information zurück, ob er Präsenz erkannt hat. Eine genauere Eingrenzung (z. B. welcher Teil des Raums) ist aber möglich.

Sind beide Bedingungen erfüllt, blinkt ein Teil meiner Beleuchtung auf:

actions:
  - action: light.turn_on
    target:
      entity_id: light.arbeitszimmer_led_2
    data:
      flash: long
    note: >-
      Nutzt den nativen Hue-Alarm, ohne den dauerhaften Lichtzustand zu
      verändern.
  - delay:
      seconds: 30
    note: Unterdrückt schnelle Mehrfachalarme durch erneute Frigate-Erkennung.

Für meine Licht-Automation greife ich auf eine native Funktion meiner Philips Hue Beleuchtung zurück, so dass ich in Home Assistant das Blinken nicht manuell nachbauen muss. Dafür dient das flash im YAML, das man sowohl auf long als auch auf short setzen kann.

Das ist besser als ein selbstgebautes Blinken, da das System mir die Funktion bereits zur Verfügung stellt und nur ein Steuerbefehl notwendig ist. Ein selbstgebautes Blinken hingegen verlangt ein mehrfaches Ein- und Ausschalten, was die Logik der Automation künstlich vergrößern würde.

Die komplette Automation sieht dann wie folgt aus:

alias: 'Eingangs-Wächter: Visueller Alarm im Arbeitszimmer'
description: >-
  Lässt den Hue Lightstrip im Arbeitszimmer lang blinken, wenn am Eingang eine
  Person erkannt wird, der Wächter aktiv ist und das Arbeitszimmer belegt ist.
triggers:
  - trigger: state
    entity_id: binary_sensor.eingang_person_occupancy_2
    from: 'off'
    to: 'on'
    note: Frigate erkennt eine Person an der Eingangskamera.
conditions:
  - condition: state
    entity_id: input_boolean.eingangs_wachter
    state: 'on'
    note: Der visuelle Wächter wurde manuell aktiviert.
  - condition: state
    entity_id: binary_sensor.presence_sensor_fp2_963d_presence_sensor_1
    state: 'on'
    note: Der FP2 meldet Anwesenheit im Arbeitszimmer.
actions:
  - action: light.turn_on
    target:
      entity_id: light.arbeitszimmer_led_2
    data:
      flash: long
    note: >-
      Nutzt den nativen Hue-Alarm, ohne den dauerhaften Lichtzustand zu
      verändern.
  - delay:
      seconds: 30
    note: Unterdrückt schnelle Mehrfachalarme durch erneute Frigate-Erkennung.
mode: single
max_exceeded: silent

Über den mode: single steuere ich, dass während der 30-sekündigen Laufzeit keine neue Ausführung parallel läuft. Die Automation nimmt während der Ausführungszeit keinen weiteren Lauf an. Der Wert max_exceeded: silent sorgt dafür, dass ein weiterer Auslöseversuch keine Warnung protokolliert.

Hinweis: Die Automation habe ich mit Hilfe von OpenCode und dem Home Assistant MCP erstellt. Das genaue Vorgehen habe ich in meinem Artikel Automationen per KI genauer beschrieben.

Wie schnell reagiert der Wächter?

Der erste Einsatz des Wächters ergab sich noch am selben Abend. Ein Paketbote hat ohne zu klingeln die Lieferung vor der Tür abgelegt. Auf Basis des Zeitstempels aus der Kamera sowie dem Auslösezeitpunkt der Automation in Home Assistant lässt sich die Zeitspanne zwischen erster Erkennung und Auslösung der Automation rekonstruieren.

Um 18:42:30 Uhr betrat der Bote den zu erkennenden Bereich. Um 18:43:10 Uhr löste die Wächter-Automation aus. Hieraus ergibt sich eine zeitliche Differenz von 40 Sekunden.

Beim Überprüfen der Logs während des Plausibilitätschecks fiel mir dann auf, dass die Uhrzeit der Kamera minimal verschoben war. Sie weicht von der Uhrzeit des Home Assistant um etwa 30-36 Sekunden ab. Die Uhr der Kamera geht nach. Wir müssen aus diesem Grund eine Korrektur in der Berechnung vornehmen, so dass wir auf eine andere Zeitspanne kommen. Je nach zugrundeliegenden Daten sieht das dann so aus:

18:43:10 Uhr – 18:42:30 Uhr – 30 Sekunden = 10 Sekunden

18:43:10 Uhr – 18:42:30 Uhr – 36 Sekunden = 4 Sekunden

Realistisch berechnet liegt die Zeitspanne zwischen Betreten des Erkennungsbereichs und Auslösen der Automation in einem Bereich von 4-10 Sekunden in meinem Beispiel. Hierbei handelt es sich jedoch nur um eine einmalige Stichprobe, aus der sich noch kein verlässlicher Zeitraum ableiten lässt.

4-10 Sekunden wären für manche Anwendungen zu lang. Für ein Paket, das vor der Tür abgelegt wird, sind sie für mich ausreichend.

Wo der Wächter an seine Grenzen kommt

Die eigentliche Grenze liegt bei der Information, die meine Automation von Frigate bekommt. Sie enthält lediglich eine Aussage darüber, ob eine Person erkannt wird oder nicht. Diese Information wird im Rahmen eines boolschen Werts (on/off, true/false) transportiert und weiterverarbeitet.

Damit sind für den Wächter Paketbote, Nachbar und Haushaltsmitglied gleichwertige Informationen. In der Praxis entscheidet nun aber der Kontext über das Gewicht der Erkennung und die notwendige Reaktion darauf. Während ich auf das Erscheinen des Nachbarn möglicherweise nicht reagieren möchte, hat der Paketbote einen höheren Stellenwert.

Ich könnte versuchen, mehr Kontext zu ermitteln. Für meinen Zweck reicht mir momentan aber die Kombination aus manuellem Wächter, Präsenz und einfacher Personenerkennung. Ich löse das fehlende Wissen über die Person nicht. Stattdessen lege ich mit dem Eingangs-Wächter bewusst fest, wann eine erkannte Person für mich überhaupt relevant ist.

Wie es mit dem Wächter weitergehen könnte

Der manuelle Schalter ist im Augenblick eine bewusste Entscheidung. Trotzdem bietet er die Stelle mit dem größten Automatisierungspotenzial. Hierfür benötigt das Smart Home weiteren Kontext, um eine Entscheidung treffen zu können.

Nach einer Bestellung von Essen beispielsweise müsste das Lieferfenster an das Smart Home automatisiert übertragen werden. Home Assistant erhält so die konkrete Information, dass die Lieferung zwischen 19:00 und 19:45 Uhr erwartet wird. In diesem Zeitraum wird der Wächter dann automatisch aktiviert, ohne dass hierfür ein manueller Eingriff notwendig ist.

Der eigentliche Unterschied besteht damit darin, dass ich nicht herausfinden muss, wer vor der Tür steht. Stattdessen verbessere ich das Wissen darüber, ob ich gerade überhaupt jemanden erwarte.

Hinzu kommt die dynamische Verwendung der Beleuchtung auf Basis der Information, in welchem Raum sich derzeit eine Person aufhält. Die Auslösung folgt dabei dem Prinzip „Präsenz bestimmt den Ausgaberaum“, wodurch ich gezielt dort informiert werden kann, wo ich mich gerade aufhalte.

Dass das relevant ist, weiß ich, da ich für die Sprachausgabe bereits genau das realisiert habe. Die Präsenzmelder werden hierbei zum Zielgeber der Automation. Befindet sich in einem Raum eine Person, erfolgt dort eine Sprachausgabe. Ist der Raum hingegen leer, erfolgt keine Ausgabe über den Smart Speaker, in meinem Fall der Amazon Echo.

Fazit

Die Automation ist überraschend simpel. Trotzdem hat sie mir das Problem gelöst, für das ich sie gebaut habe. Das ist wesentlich wichtiger als technische Komplexität.

Nicht die technisch intelligenteste Automation gewinnt, sondern diejenige, die das konkrete Problem zuverlässig genug löst.

Zwar weiß die aktuelle Version weder, wer vor der Tür steht, noch aktiviert sie sich anhand einer erwarteten Lieferung automatisch. Der manuelle Eingangs-Wächter ist für mich momentan jedoch trotzdem die richtige Lösung, weil er mit wenig zusätzlicher Logik genügend Kontext liefert.

Zeigt sich nun im laufenden Betrieb, dass ich mehr Automatisierung brauche, liegen die nächsten Schritte bereits fest: erwartete Lieferungen als Kontext und Präsenz zur dynamischen Auswahl des Ausgaberaums. Das wird jedoch erst dann von Relevanz sein, wenn der weitere Betrieb zeigt, dass mir in Version 1 etwas fehlt.

Hat dir der Beitrag gefallen ?

Ein Emoji genügt – oder schreib kurz, was du denkst.

Inhaltsverzeichnis
Hat dir der Beitrag gefallen ?

Ein Emoji genügt – oder schreib kurz, was du denkst.

Mehr zum Autor
Bild von Lukas Knöller
Ich bin Lukas – Softwareentwickler. Seit 2016 automatisiere ich das, was mich zu Hause nervt: das Licht, die Heizung, das Laden des Autos, den Papierkram.Kein Showroom, sondern mein echtes Zuhause – über 2.000 Entitäten in Home Assistant, dazu n8n und paperless-ngx, alles auf eigener Hardware. Was lokal laufen kann, läuft lokal; bei den Sprachmodellen nutze ich bewusst die Cloud. Beruflich baue ich Software. Deshalb interessiert mich weniger, welches System das beste ist, als wie man zwei davon so verbindet, dass es auch in zwei Jahren noch läuft.Genau darüber schreibe ich hier. Auch dann, wenn es schiefgeht.
Bild von Lukas Knöller
Ich bin Lukas – Softwareentwickler. Seit 2016 automatisiere ich das, was mich zu Hause nervt: das Licht, die Heizung, das Laden des Autos, den Papierkram.Kein Showroom, sondern mein echtes Zuhause – über 2.000 Entitäten in Home Assistant, dazu n8n und paperless-ngx, alles auf eigener Hardware. Was lokal laufen kann, läuft lokal; bei den Sprachmodellen nutze ich bewusst die Cloud. Beruflich baue ich Software. Deshalb interessiert mich weniger, welches System das beste ist, als wie man zwei davon so verbindet, dass es auch in zwei Jahren noch läuft.Genau darüber schreibe ich hier. Auch dann, wenn es schiefgeht.

Keine Produkte gefunden.

Was klappt bei dir - wo hängst du fest ?

Nutzt du die gezeigte Lösung bereits? Funktioniert sie bei dir oder gibt es Probleme?

Schreib einen Kommentar – ich lese jeden Beitrag und antworte persönlich.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Später weiterlesen 🔍

Ich erinnere dich genau an diese Stelle, wenn du wieder Zeit hast.

Einmalige Erinnerung. Kein Newsletter.

Kurz ehrlich: Warum gehst du gerade?

Hilf mir, die Inhalte für dich besser zu machen.

🎁 Dein Smart Home verdient mehr

Einmal im Monat erhältst du meine besten Tipps, Automationen und Tests aus der Smart Home Welt.

+ Gratis: meine 10 besten Alltagsautomationen als PDF

Kein Spam. Kein Marketing-Blabla.
Sondern: Praxistipps, Setups, Automationen & Tools – aus meinem Technik-Keller direkt zu dir.

Abgewickelt durch Brevo in Europa.