All Posts

My House Can See Now

I spent a weekend getting Frigate and my Lorex cameras talking to Home Assistant. Here's what broke, what I learned, and what I want it to do next.

3 min read
home assistantfrigatelorexcamerasAI detectionsmart home

My driveway has had four cameras pointed at it for two years. Until this week, they were expensive motion-triggered recorders. They could tell me something moved. Not what.

I wanted more than that. I wanted my house to know when a person walked up to the door versus when a car pulled into the driveway versus when a raccoon knocked over the recycling bin at 2 AM. Not for the notifications (I have enough of those) but because if your home is supposed to think, it needs to actually see what’s happening.

That meant getting Frigate running. ¹


Frigate is an NVR (Network Video Recorder) built specifically for AI object detection. It runs locally, talks to Home Assistant, ² and can identify people, cars, dogs, packages. Whatever you point it at. The detection models ship with it. No cloud, no subscription, no footage leaving the house.

My cameras are Lorex, ³ a four-channel DVR system streaming over RTSP (Real Time Streaming Protocol), the standard protocol for IP cameras. The URL format looks like this:

rtsp://username:password@192.168.x.x:554/cam/realmonitor?channel=1&subtype=0

Getting that format right took longer than it should have. Lorex’s documentation is optimistically sparse.


The thing that actually broke was my config.

I’d written a Frigate configuration that included license_plate_recognition: as a top-level key, because that’s what older docs showed. Frigate 0.17 renamed it. The actual key is lpr:. One wrong key name and the entire config gets rejected at startup, and the error is easy to miss if you’re watching the wrong log.

The fix is simpler than the debugging was:

lpr:
  enabled: false

Disabled for now. That’s Phase 2. But at least it stopped blowing up on start.


Once that was sorted, the cameras came online. Feeds streaming into Home Assistant at 5fps, with person and car detection running on every frame. Klaus, my AI, gets those events and can trigger automations off them.

There’s one more thing I need to fix: a DHCP (Dynamic Host Configuration Protocol) reservation. My DVR’s IP address already changed once because it’s assigned dynamically. If it changes again, every camera config breaks at once. Five minutes on the router will pin it permanently. I just haven’t done it yet. It’s that kind of task.


The actual goal here is license plate recognition. There’s a car parked in my driveway right now while it gets repaired, and I’ve been thinking about what it would mean for the house to not just see a car but know which car. Cross-reference with a contacts list. Surface something useful. Maybe nothing useful, maybe it’s just a cool thing. But I want to find out.

That’s Phase 2. Right now I’m glad the house can see.

It only took two years and one renamed config key to get here.


References

  1. Frigate NVR — open source, locally-run NVR with AI object detection for Home Assistant
  2. Home Assistant — open source home automation platform
  3. Lorex — security camera and DVR systems
  4. DHCP (Dynamic Host Configuration Protocol) — Wikipedia