diff --git a/frigate/api/app.py b/frigate/api/app.py index cc5adc6f65..1e487598ac 100644 --- a/frigate/api/app.py +++ b/frigate/api/app.py @@ -750,6 +750,25 @@ def _config_set_in_memory(request: Request, body: AppConfigSetBody) -> JSONRespo settings, ) + # detect resize also republishes motion + objects so other + # processes pick up the rebuilt masks + if field == "detect": + cam_cfg = config.cameras.get(camera) + if cam_cfg is not None: + if cam_cfg.motion is not None: + request.app.config_publisher.publish_update( + CameraConfigUpdateTopic( + CameraConfigUpdateEnum.motion, camera + ), + cam_cfg.motion, + ) + request.app.config_publisher.publish_update( + CameraConfigUpdateTopic( + CameraConfigUpdateEnum.objects, camera + ), + cam_cfg.objects, + ) + return JSONResponse( content={"success": True, "message": "Config applied in-memory"}, status_code=200,