<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Frigate on Linux Colorado</title><link>https://www.linuxcolorado.com/tags/frigate/</link><description>Recent content in Frigate on Linux Colorado</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Sun, 09 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.linuxcolorado.com/tags/frigate/index.xml" rel="self" type="application/rss+xml"/><item><title>Teaching the House to Announce the Mail Truck: A Zero-Shot CLIP Classifier on the Homelab</title><link>https://www.linuxcolorado.com/post/2026-08-17-mail-truck-clip-classifier/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.linuxcolorado.com/post/2026-08-17-mail-truck-clip-classifier/</guid><description>&lt;p&gt;I wanted my house to say, out loud, &amp;ldquo;the mail truck is out front&amp;rdquo; — the moment the USPS truck pulls up, spoken through the same Home Assistant TTS pipeline that runs the rest of the place. Not &amp;ldquo;a vehicle was detected.&amp;rdquo; Specifically the mail truck.&lt;/p&gt;
&lt;p&gt;The gap between those two sentences is the whole project. My NVR (&lt;a href="https://frigate.video"&gt;Frigate&lt;/a&gt;) is very good at &amp;ldquo;there&amp;rsquo;s a truck in the driveway zone&amp;rdquo; and completely incapable of &amp;ldquo;that&amp;rsquo;s a USPS LLV.&amp;rdquo; Closing that gap meant adding a small &lt;strong&gt;second-stage classifier&lt;/strong&gt; that looks at the snapshot Frigate already captured and decides &lt;em&gt;what kind&lt;/em&gt; of truck it is — running on hardware I already own, with no cloud vision API. It ended up as a &lt;strong&gt;zero-shot CLIP&lt;/strong&gt; classifier, and along the way it picked up a second job I never planned: catching the garbage truck too.&lt;/p&gt;</description></item><item><title>"0 Detections, Hundreds of Alerts": The Frigate Terminology Trap That Isn't a Bug</title><link>https://www.linuxcolorado.com/post/2026-08-14-frigate-alerts-vs-detections/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.linuxcolorado.com/post/2026-08-14-frigate-alerts-vs-detections/</guid><description>&lt;p&gt;I opened my &lt;a href="https://frigate.video"&gt;Frigate&lt;/a&gt; dashboard one morning and my stomach dropped: &lt;strong&gt;0 detections, hundreds of alerts.&lt;/strong&gt; My first read was the obvious one — the object detector had fallen over, and Frigate was now firing blind, alerting on raw motion instead of actual objects.&lt;/p&gt;
&lt;p&gt;That read was completely wrong. Nothing had broken. The detector was healthy, running OpenVINO inference at ~10 ms per frame the entire time. What had actually happened is that I didn&amp;rsquo;t understand what the words &lt;em&gt;&amp;ldquo;Alert&amp;rdquo;&lt;/em&gt; and &lt;em&gt;&amp;ldquo;Detection&amp;rdquo;&lt;/em&gt; mean in modern Frigate — and once I did, the &amp;ldquo;outage&amp;rdquo; evaporated and turned into a five-minute config change.&lt;/p&gt;
&lt;p&gt;This is a post about a debugging story with a satisfying anticlimax, and about a genuinely confusing bit of Frigate&amp;rsquo;s UI vocabulary that trips up a lot of people running 0.14 and later.&lt;/p&gt;</description></item><item><title>The Mail Truck Classifier Cried Wolf: Tuning Zero-Shot CLIP With Real Data</title><link>https://www.linuxcolorado.com/post/2026-08-02-mail-truck-classifier-tuning/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.linuxcolorado.com/post/2026-08-02-mail-truck-classifier-tuning/</guid><description>&lt;p&gt;A while back I &lt;a href="https://www.linuxcolorado.com/post/2026-08-17-mail-truck-clip-classifier/"&gt;taught my house to announce the mail truck&lt;/a&gt;: Frigate spots a vehicle out front, a small service crops the snapshot and runs zero-shot &lt;strong&gt;CLIP&lt;/strong&gt; against a list of text prompts, and if it decides &amp;ldquo;USPS truck&amp;rdquo; or &amp;ldquo;garbage truck,&amp;rdquo; Home Assistant says so out loud through Piper. That post ended on an optimistic note — a garbage truck scoring &lt;code&gt;p_trash 0.995&lt;/code&gt;, and a line about how a labeled dataset for future tuning would &amp;ldquo;build itself from real events.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This is the reckoning with that optimism.&lt;/p&gt;
&lt;p&gt;Because the classifier worked, and then it would not shut up. &lt;strong&gt;143 garbage-truck announcements in seven weeks&lt;/strong&gt;, on a street where the garbage truck comes exactly &lt;em&gt;once a week&lt;/em&gt;. The house had become the boy who cried wolf, and my family had — correctly — started ignoring it. This post is about actually fixing that: what 200 real detections showed, why the obvious fix is a trap, and the one idea worth stealing even if you never touch CLIP.&lt;/p&gt;</description></item></channel></rss>