From 4af7e4e6ea5f2e22f9ff647d1ac87c3b266705e3 Mon Sep 17 00:00:00 2001 From: NPutting Date: Mon, 30 Jan 2023 13:06:55 -0600 Subject: [PATCH] Add any option to birdseye --- docs/docs/configuration/birdseye.md | 1 + docs/docs/configuration/index.md | 1 + frigate/config.py | 1 + frigate/output.py | 4 ++++ 4 files changed, 7 insertions(+) diff --git a/docs/docs/configuration/birdseye.md b/docs/docs/configuration/birdseye.md index 0b54a5f5f..ff0d21b46 100644 --- a/docs/docs/configuration/birdseye.md +++ b/docs/docs/configuration/birdseye.md @@ -8,6 +8,7 @@ Birdseye offers different modes to customize which cameras show under which circ - **continuous:** All cameras are always included - **motion:** Cameras that have detected motion within the last 30 seconds are included - **objects:** Cameras that have tracked an active object within the last 30 seconds are included + - **all:** Cameras that have tracked an active object or detected motion within the last 30 seconds are included ### Custom Birdseye Icon diff --git a/docs/docs/configuration/index.md b/docs/docs/configuration/index.md index 4d2b9d976..1be2fb91b 100644 --- a/docs/docs/configuration/index.md +++ b/docs/docs/configuration/index.md @@ -128,6 +128,7 @@ birdseye: # Optional: Mode of the view. Available options are: objects, motion, and continuous # objects - cameras are included if they have had a tracked object within the last 30 seconds # motion - cameras are included if motion was detected in the last 30 seconds + # any - cameras are included if motion or objects were detected within the last 30 seconds # continuous - all cameras are included always mode: objects diff --git a/frigate/config.py b/frigate/config.py index 1370dcf88..65f55a20c 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -312,6 +312,7 @@ class ObjectConfig(FrigateBaseModel): class BirdseyeModeEnum(str, Enum): objects = "objects" motion = "motion" + any = "any" continuous = "continuous" diff --git a/frigate/output.py b/frigate/output.py index 4676dac83..83114faea 100644 --- a/frigate/output.py +++ b/frigate/output.py @@ -200,6 +200,10 @@ class BirdsEyeFrameManager: if mode == BirdseyeModeEnum.objects and object_box_count > 0: return True + if mode == BirdseyeModeEnum.any and ( object_box_count > 0 or motion_box_count > 0): + return True + + def update_frame(self): # determine how many cameras are tracking objects within the last 30 seconds active_cameras = set(