How I Use Frigate and Home Assistant for a Visual Door Alert

I built a manual, presence-aware Frigate alert that flashes my office light when someone reaches the door.

Editorial illustration; not a depiction of Lukas'' actual setup.
Editorial illustration generated for Technology, Applied.; not a depiction of Lukas'' setup. Editorial image: AI-generated

I sometimes spend evenings in my office with headphones on. In those moments, my doorbell might as well not exist. Late deliveries made that a real problem: I either missed the bell or found out later that a package had simply been left outside.

I built a small Home Assistant automation for that situation. When Frigate detects a person at my entrance, the light in my office flashes. On its first evening in use, it helped me notice a delivery that had been left at the door.

This is not a system that knows whether the person is a courier, neighbour, or household member. Instead, I decided when a detected person should matter to me.

Why my light does not always flash

A person-detection signal alone has too little context. I do not want a visible alarm whenever anybody passes the entrance, because I would quickly stop paying attention to it.

So I added a manually controlled input_boolean called my entry guard. I turn it on when I am expecting a delivery or need to keep headphones on during a call, and turn it off afterwards. The guard only works when I am in my office, where an Aqara FP2 presence sensor supplies the other condition.

Home Assistant office dashboard showing Lukas' manual entry-guard switch.
The manual entry guard in Lukas' office dashboard. Screenshot: Lukas Knöller.

The rule is deliberately simple:

Required contextWhy I use it
Entry guard is onI have decided that an arrival matters right now.
Office presence is onThe visual signal appears where I am.
Frigate detects a personThere is an event at the entrance.

All three conditions must be true before the light flashes. This does not solve the missing identity information; it limits when that missing information is relevant enough to alert me.

My Home Assistant automation

Frigate supplies the person sensor in my setup. Current Frigate Home Assistant documentation is the right external reference for the integration; the entity IDs below are mine and must be changed for another installation.

I use flash: long on a Philips Hue light instead of building a loop that turns it on and off repeatedly. The 30-second delay and mode: single stop rapid repeat alerts from running in parallel.

alias: 'Entry guard: visual office alert'
description: >-
  Flashes the Hue lightstrip in the office for a long time when a person is
  detected at the entrance, the guard is active, and the office is occupied.
triggers:
  - trigger: state
    entity_id: binary_sensor.eingang_person_occupancy_2
    from: 'off'
    to: 'on'
    note: Frigate detects a person at the entrance camera.
conditions:
  - condition: state
    entity_id: input_boolean.eingangs_wachter
    state: 'on'
    note: The visual guard was enabled manually.
  - condition: state
    entity_id: binary_sensor.presence_sensor_fp2_963d_presence_sensor_1
    state: 'on'
    note: The FP2 reports presence in the office.
actions:
  - action: light.turn_on
    target:
      entity_id: light.arbeitszimmer_led_2
    data:
      flash: long
    note: >-
      Uses the native Hue alert without changing the persistent light state.

  - delay:
      seconds: 30
    note: Suppresses rapid repeat alerts from another Frigate detection.
mode: single
max_exceeded: silent

I have adapted reader-facing alias, description, and note text for this English article while keeping the entity IDs, states, keys, actions, values, and logic from my source configuration unchanged. It is a practical starting point, not copy-and-paste configuration: another setup needs its own Frigate sensor, guard boolean, presence entity, and a light that supports the chosen flash effect.

How quickly it reacted in my first live use

On the first evening, the delivery person entered the detection area at 18:42:30 according to the camera timestamp. The Home Assistant automation fired at 18:43:10, which initially looked like 40 seconds.

While checking the logs, I noticed that the camera clock was about 30 to 36 seconds behind Home Assistant. Correcting for that offset gave me this range:

18:43:10 − 18:42:30 − 30 seconds = 10 seconds
18:43:10 − 18:42:30 − 36 seconds = 4 seconds

So my actual observation was roughly four to ten seconds from entering the detection area to the automation firing. That is one corrected sample, not a latency benchmark. For a package left at the door, it is sufficient for me; for other uses, it may not be.

Where the guard still has limits

The weak point is not the YAML. It is the context Frigate gives this automation: a Boolean person signal cannot tell me who is standing outside.

For now, the manual guard is the right trade-off. It may be forgotten, which can mean either a missed alert or unwanted flashing. But it keeps the automation limited to the times when I actually expect someone, instead of turning ordinary people at the entrance into permanent visual noise.

There are obvious future directions—automatically activating the guard during a known delivery window, or sending the visual alert to whichever room is occupied—but I have not implemented either. I will only add that complexity if normal operation shows that this version is insufficient.

The result

The automation is simple, and that is precisely why I like it. It solves the actual problem without pretending to know more than it does. A manual context switch, office presence, and person detection are enough for my current use case.

All articles