A pre-release for field validation. HACS offers this only to users who have enabled beta versions for this repository. It is not a public release, and the changes below still ship to everyone in the next monthly bundle as 3.43.0.
It's cut so @andymcmanus can validate the fix for the phantom-person notifications reported on #491 against beta.3, on a battery Ring doorbell with Ring Protect. It supersedes v3.43.0-beta.3.
What changed since beta.3 (#675)
A battery camera keeps serving the same frozen snapshot between events. beta.3 let that frame be analyzed as if it were current in two ways:
- Flushing before the clip arrived. The event's clip usually lands a few seconds after the 30 s capture window closes, so the window notified on the stale snapshot first. A window whose own recording is still downloading now waits up to 20 s before flushing, so the clip replaces the snapshot and the event is notified once, from the recording. If the recording fails, the snapshots are analyzed as before.
- Re-captures joining the clip's batch. After clip frames entered a running window, re-captures of the frozen frame passed the duplicate check and were analyzed alongside the clip. For example, a person from an earlier visit was blended into a passing car. The replaced snapshots now stay in the duplicate check, so re-captures are skipped.
Review fixes in the same PR:
- Clip frames are always deduplicated, including clips that arrive after their window closed.
- A late clip no longer disturbs a newer window's duplicate check.
- The duplicate-check history is bounded.
- Shutdown cancels a waiting flush.
- An event that hits the 5-minute window cap no longer hands its clip to the next window.
What to validate
With Analyze Ring event recordings on and custom_components.home_generative_agent.core.video_analyzer: debug logging:
- One notification per battery-camera event, describing the recording. A window that closed while its clip was downloading logs
Window closed with its recording in flight; holding the flush up to 20 s, thenDropping N pre-recording snapshot(s) from the batchwhen the clip lands. - No stale subject after that line. The description should not include a person or object that is only in the old snapshot. Your earlier way of checking still works: the motion sensor is off, a vehicle fires the event, and the description should now mention only the vehicle.
- Slow downloads still fall back. If a download takes longer than 20 s, the snapshots are analyzed alone and the clip follows as its own batch. That's expected; a note of how often it happens is useful.
Everything else already on main since v3.42.0 is included, including the event-recording feature from beta.2 and beta.3. See CHANGELOG.md under Unreleased.