Conversation
Updated the README to enhance clarity and detail about Frigate Vision features and setup instructions.
The script downloads a Frigate event clip, extracts frames, labels them, and creates a collage.
This script extracts three frames from a Frigate event clip at specified timestamps without downloading the full clip. It saves the frames individually for further use.
Updated paths and added conditional collage building for AI analysis.
Added conditional instructions for night and early morning events in Frigate Event Analysis.
Update and final AI notifications now use interruption-level: passive (iOS) while keeping alert_once: true (Android), so only the initial detection alert makes a sound — subsequent updates to the same notification tag are silent.
Jinja2 renders the boolean variable `alert_once` as the Python string "True" (capital T). The Android companion app does a case-sensitive check for "true", so the templated value was never recognized and every notification update played a sound. Using the YAML literal `true` ensures the companion app receives the correct value.
…n-sound-1mwyO Update notification settings for Frigate vision automations
Updated the blueprint import URL to point to the beta version.
The blueprint in active use had drifted from the repo: scene_context, known_identities, continue_on_error, and an AI-response debug step were added locally but the ai_task.generate_data attachments block got dropped along the way, so the AI was analysing no image at all. Brings both sets of changes back together and restores the attachments block referencing the downloaded snapshot/collage file.
…z3bxi3 Restore ai_task attachments and merge in-progress prompt features
Home Assistant's shell_command runs ffmpeg without a real terminal but keeps stdin open, so ffmpeg blocks waiting for interactive input that never arrives, stalling the automation at the collage-building step indefinitely instead of failing fast.
…-z3bxi3 Fix collage step hanging on ffmpeg stdin
Consolidate identity information message in frigate_vision.yaml.
Lay the four extracted frames left-to-right in chronological order so the AI reads the event as a single timeline, which is easier to interpret than a 2x2 grid. Update docs accordingly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LykB7Jh9iGHUGbRha4zyWa
Drop the font discovery and drawtext/drawbox overlay steps. Stamping camera name and timestamps onto already-busy video frames only added clutter that made the 4-frame collage harder for the AI to interpret. Frames now go straight into the single-row collage unlabelled. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LykB7Jh9iGHUGbRha4zyWa
Build analysis collage as single row instead of 2×2 grid
Capture entered_zones/current_zones from the event MQTT payload (freshest loop update, falling back to the initial trigger) and inject them into the ai_task prompt as authoritative location data. Instructs the model to only describe areas that correspond to a real detected zone, preventing invented locations like 'going up/down the stairs' when the subject merely passed by. Also logs detected_zones in debug mode and documents the behavior in README. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LykB7Jh9iGHUGbRha4zyWa
Ground AI analysis with Frigate detected zones
Match both camera and label directly in the MQTT trigger's payload/ value_template so the automation only fires for the configured label, instead of firing on every event for the camera and cancelling non-matching runs via a condition. This removes the flood of cancelled traces (e.g. car events on a person-only automation). - Replace the multi-select 'labels' input with a single-select 'label' - Normalize the camera trigger variable (lowercase, dashes to underscores) so it matches the rendered Frigate topic - Drop the now-redundant label-filter condition and its dead variable Note: renaming the input is a breaking change; existing automations must re-select their label after updating. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LykB7Jh9iGHUGbRha4zyWa
Filter automation trigger by camera and label at the MQTT topic
- Extract clean names from Frigate's [name, score] sub_label list into a sub_label_names variable, so the AI 'Identity information' line reads "Zach" instead of the raw "['Zach', 0.9879922758389916]". - Make the detected-zones instruction prescriptive rather than permissive: state that the listed zones are the ONLY places the subject went and that the model must not name any other location, even if visible. This stops the model narrating stairs/door movement when only e.g. Mailbox was actually detected. - Log sub_label_names in debug mode. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LykB7Jh9iGHUGbRha4zyWa
Fix sub_label formatting and strengthen zone grounding in AI prompt
- Sample collage frames at 20/40/60/80% instead of 10/35/60/90%. Frigate clips include pre/post-capture buffer, so the 10%/90% frames frequently came out empty, wasting half the collage and making the AI infer bogus arrivals/departures. 20-80% keeps the frames on the actual event. - Move the authoritative detected-zones block to the very end of the AI instructions, immediately before the model answers. Small models weight the most recent instruction most heavily, so the zone constraint sticks better there than buried mid-prompt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LykB7Jh9iGHUGbRha4zyWa
Tighten collage sampling window and move zones to end of AI prompt
New frigate_vision_multicam.yaml follows a subject across several Frigate cameras in a single run and keeps everything in one notification. Tracks seen within the link window (default 60s) are merged into one event; the notification updates as the subject moves between cameras and, once they are gone, is replaced with a GIF stitched by frigate_vision_gif.py. The stitcher builds a timeline that always shows the camera that most recently picked the subject up (falling back to cameras that still see them), fetches Frigate's preview GIF for each piece and joins them with ffmpeg. It also backs a periodic check that asks Frigate whether tracks have ended, since Frigate publishes nothing for a stationary subject. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SzGbAPkGEZRYsBMLUc774w
Beta: multi-camera events in one notification with a stitched GIF
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.