From 1fb943ac47f06dcb4cb625ea54370f9016c1e09d Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Tue, 20 Feb 2024 05:55:06 -0700 Subject: [PATCH] Logic fixes --- frigate/review/maintainer.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/frigate/review/maintainer.py b/frigate/review/maintainer.py index fd409b8fc..6bd48f9bf 100644 --- a/frigate/review/maintainer.py +++ b/frigate/review/maintainer.py @@ -100,7 +100,7 @@ class ReviewSegmentMaintainer(threading.Thread): active_objects = [ o for o in objects - if o["motionless_count"] > camera_config.detect.stationary.threshold + if o["motionless_count"] < camera_config.detect.stationary.threshold ] if len(active_objects) > 0: @@ -114,7 +114,8 @@ class ReviewSegmentMaintainer(threading.Thread): segment.objects.add(object["label"]) if ( - object["has_clip"] + segment.severity == SeverityEnum.detection + and object["has_clip"] and object["label"] in camera_config.objects.alert ): segment.severity = SeverityEnum.alert @@ -125,11 +126,13 @@ class ReviewSegmentMaintainer(threading.Thread): segment.severity == SeverityEnum.signification_motion and len(motion) >= 20 ): segment.last_update = frame_time - elif frame_time > ( - segment.last_update - + (camera_config.detect.max_disappeared / camera_config.detect.fps) - ): - self.end_segment(segment) + else: + if segment.severity == SeverityEnum.alert and frame_time > ( + segment.last_update + 60 + ): + self.end_segment(segment) + elif frame_time > (segment.last_update + 10): + self.end_segment(segment) def check_if_new_segment( self, @@ -143,7 +146,7 @@ class ReviewSegmentMaintainer(threading.Thread): active_objects = [ o for o in objects - if o["motionless_count"] > camera_config.detect.stationary.threshold + if o["motionless_count"] < camera_config.detect.stationary.threshold ] if len(active_objects) > 0: