From 2860a4c0b11fa0c72876a5cf0beed5840b5b1c35 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Thu, 22 May 2025 13:49:44 -0600 Subject: [PATCH] Update zones dynamically --- frigate/api/app.py | 2 +- web/src/components/settings/ZoneEditPane.tsx | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/frigate/api/app.py b/frigate/api/app.py index 4e7e1b892..a384718cb 100644 --- a/frigate/api/app.py +++ b/frigate/api/app.py @@ -397,7 +397,7 @@ def config_set(request: Request, body: AppConfigSetBody): settings = config.model_dump( mode="json", warnings="none", exclude_none=True )["cameras"][camera][field] - request.config_updater.publish_update( + request.app.config_publisher.publish_update( CameraConfigUpdateTopic(CameraConfigUpdateEnum[field], camera), settings, ) diff --git a/web/src/components/settings/ZoneEditPane.tsx b/web/src/components/settings/ZoneEditPane.tsx index 3f46ef6f2..db0128f64 100644 --- a/web/src/components/settings/ZoneEditPane.tsx +++ b/web/src/components/settings/ZoneEditPane.tsx @@ -326,6 +326,7 @@ export default function ZoneEditPane({ `config/set?cameras.${polygon.camera}.zones.${polygon.name}${renameAlertQueries}${renameDetectionQueries}`, { requires_restart: 0, + update_topic: `config/cameras/${polygon.camera}/zones`, }, ); @@ -409,7 +410,10 @@ export default function ZoneEditPane({ axios .put( `config/set?cameras.${polygon?.camera}.zones.${zoneName}.coordinates=${coordinates}${inertiaQuery}${loiteringTimeQuery}${speedThresholdQuery}${distancesQuery}${objectQueries}${alertQueries}${detectionQueries}`, - { requires_restart: 0 }, + { + requires_restart: 0, + update_topic: `config/cameras/${polygon.camera}/zones`, + }, ) .then((res) => { if (res.status === 200) {