From 0bcc1f4ccb7d10eaca5e02591dfadeeafaa0769e Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Thu, 20 Mar 2025 10:38:44 -0600 Subject: [PATCH] Add MQTT topic to expose current camera review status --- docs/docs/integrations/mqtt.md | 4 ++++ frigate/review/maintainer.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/docs/docs/integrations/mqtt.md b/docs/docs/integrations/mqtt.md index abbc12974..4139efaf3 100644 --- a/docs/docs/integrations/mqtt.md +++ b/docs/docs/integrations/mqtt.md @@ -305,6 +305,10 @@ Topic to adjust motion contour area for a camera. Expected value is an integer. Topic with current motion contour area for a camera. Published value is an integer. +### `frigate//review_status` + +Topic with current activity status of the camera. Possible values are `NONE`, `DETECTION`, or `ALERT`. + ### `frigate//ptz` Topic to send PTZ commands to camera. diff --git a/frigate/review/maintainer.py b/frigate/review/maintainer.py index 3819f4cb4..643b79bd7 100644 --- a/frigate/review/maintainer.py +++ b/frigate/review/maintainer.py @@ -181,6 +181,7 @@ class ReviewSegmentMaintainer(threading.Thread): } ), ) + self.requestor.send_data(f"{segment.camera}/review_status", segment.severity.value.upper()) def _publish_segment_update( self, @@ -206,6 +207,7 @@ class ReviewSegmentMaintainer(threading.Thread): } ), ) + self.requestor.send_data(f"{segment.camera}/review_status", segment.severity.value.upper()) def _publish_segment_end( self, @@ -225,6 +227,7 @@ class ReviewSegmentMaintainer(threading.Thread): } ), ) + self.requestor.send_data(f"{segment.camera}/review_status", "NONE") self.active_review_segments[segment.camera] = None def end_segment(self, camera: str) -> None: