Skip to content

Beta - #11

Open
zacharyd3 wants to merge 32 commits into
mainfrom
beta
Open

Beta#11
zacharyd3 wants to merge 32 commits into
mainfrom
beta

Conversation

@zacharyd3

Copy link
Copy Markdown
Owner

No description provided.

zacharyd3 and others added 30 commits February 27, 2026 22:51
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
claude and others added 2 commits September 22, 2026 23:29
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants