Update zones dynamically

This commit is contained in:
Nicolas Mowen 2025-05-22 13:49:44 -06:00
parent f5d6cdab74
commit 2860a4c0b1
2 changed files with 6 additions and 2 deletions

View File

@ -397,7 +397,7 @@ def config_set(request: Request, body: AppConfigSetBody):
settings = config.model_dump( settings = config.model_dump(
mode="json", warnings="none", exclude_none=True mode="json", warnings="none", exclude_none=True
)["cameras"][camera][field] )["cameras"][camera][field]
request.config_updater.publish_update( request.app.config_publisher.publish_update(
CameraConfigUpdateTopic(CameraConfigUpdateEnum[field], camera), CameraConfigUpdateTopic(CameraConfigUpdateEnum[field], camera),
settings, settings,
) )

View File

@ -326,6 +326,7 @@ export default function ZoneEditPane({
`config/set?cameras.${polygon.camera}.zones.${polygon.name}${renameAlertQueries}${renameDetectionQueries}`, `config/set?cameras.${polygon.camera}.zones.${polygon.name}${renameAlertQueries}${renameDetectionQueries}`,
{ {
requires_restart: 0, requires_restart: 0,
update_topic: `config/cameras/${polygon.camera}/zones`,
}, },
); );
@ -409,7 +410,10 @@ export default function ZoneEditPane({
axios axios
.put( .put(
`config/set?cameras.${polygon?.camera}.zones.${zoneName}.coordinates=${coordinates}${inertiaQuery}${loiteringTimeQuery}${speedThresholdQuery}${distancesQuery}${objectQueries}${alertQueries}${detectionQueries}`, `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) => { .then((res) => {
if (res.status === 200) { if (res.status === 200) {