mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-19 09:27:06 +03:00
fix topic name and initial websocket state
This commit is contained in:
parent
a7e1ddad3d
commit
7e7fe48750
@ -80,8 +80,8 @@ class Dispatcher:
|
||||
"snapshots": self._on_snapshots_command,
|
||||
"birdseye": self._on_birdseye_command,
|
||||
"birdseye_mode": self._on_birdseye_mode_command,
|
||||
"alerts": self._on_alerts_command,
|
||||
"detections": self._on_detections_command,
|
||||
"review_alerts": self._on_alerts_command,
|
||||
"review_detections": self._on_detections_command,
|
||||
}
|
||||
self._global_settings_handlers: dict[str, Callable] = {
|
||||
"notifications": self._on_notification_command,
|
||||
@ -515,7 +515,7 @@ class Dispatcher:
|
||||
review_settings.alerts.enabled = False
|
||||
|
||||
self.config_updater.publish(f"config/review/{camera_name}", review_settings)
|
||||
self.publish(f"{camera_name}/review/alerts/state", payload, retain=True)
|
||||
self.publish(f"{camera_name}/review_alerts/state", payload, retain=True)
|
||||
|
||||
def _on_detections_command(self, camera_name: str, payload: str) -> None:
|
||||
"""Callback for detections topic."""
|
||||
@ -537,4 +537,4 @@ class Dispatcher:
|
||||
review_settings.detections.enabled = False
|
||||
|
||||
self.config_updater.publish(f"config/review/{camera_name}", review_settings)
|
||||
self.publish(f"{camera_name}/review/detections/state", payload, retain=True)
|
||||
self.publish(f"{camera_name}/review_detections/state", payload, retain=True)
|
||||
|
||||
@ -505,6 +505,12 @@ class FrigateConfig(FrigateBaseModel):
|
||||
camera_config.onvif.autotracking.enabled_in_config = (
|
||||
camera_config.onvif.autotracking.enabled
|
||||
)
|
||||
camera_config.review.alerts.enabled_in_config = (
|
||||
camera_config.review.alerts.enabled
|
||||
)
|
||||
camera_config.review.detections.enabled_in_config = (
|
||||
camera_config.review.detections.enabled
|
||||
)
|
||||
|
||||
# Add default filters
|
||||
object_keys = camera_config.objects.track
|
||||
|
||||
@ -53,7 +53,15 @@ function useValue(): useValueReturn {
|
||||
const cameraStates: WsState = {};
|
||||
|
||||
Object.entries(cameraActivity).forEach(([name, state]) => {
|
||||
const { record, detect, snapshots, audio, autotracking } =
|
||||
const {
|
||||
record,
|
||||
detect,
|
||||
snapshots,
|
||||
audio,
|
||||
autotracking,
|
||||
alerts,
|
||||
detections,
|
||||
} =
|
||||
// @ts-expect-error we know this is correct
|
||||
state["config"];
|
||||
cameraStates[`${name}/recordings/state`] = record ? "ON" : "OFF";
|
||||
@ -63,6 +71,10 @@ function useValue(): useValueReturn {
|
||||
cameraStates[`${name}/ptz_autotracker/state`] = autotracking
|
||||
? "ON"
|
||||
: "OFF";
|
||||
cameraStates[`${name}/review_alerts/state`] = alerts ? "ON" : "OFF";
|
||||
cameraStates[`${name}/review_detections/state`] = detections
|
||||
? "ON"
|
||||
: "OFF";
|
||||
});
|
||||
|
||||
setWsState((prevState) => ({
|
||||
@ -207,7 +219,7 @@ export function useAlertsState(camera: string): {
|
||||
const {
|
||||
value: { payload },
|
||||
send,
|
||||
} = useWs(`${camera}/review/alerts/state`, `${camera}/review/alerts/set`);
|
||||
} = useWs(`${camera}/review_alerts/state`, `${camera}/review_alerts/set`);
|
||||
return { payload: payload as ToggleableSetting, send };
|
||||
}
|
||||
|
||||
@ -219,8 +231,8 @@ export function useDetectionsState(camera: string): {
|
||||
value: { payload },
|
||||
send,
|
||||
} = useWs(
|
||||
`${camera}/review/detections/state`,
|
||||
`${camera}/review/detections/set`,
|
||||
`${camera}/review_detections/state`,
|
||||
`${camera}/review_detections/set`,
|
||||
);
|
||||
return { payload: payload as ToggleableSetting, send };
|
||||
}
|
||||
|
||||
@ -261,10 +261,9 @@ export default function CameraSettingsView({
|
||||
<Switch
|
||||
id="alerts-enabled"
|
||||
className="mr-3"
|
||||
disabled={alertsState == "OFF"}
|
||||
checked={alertsState == "ON"}
|
||||
onCheckedChange={(isChecked) => {
|
||||
sendAlerts(isChecked ? "OFF" : "ON");
|
||||
sendAlerts(isChecked ? "ON" : "OFF");
|
||||
}}
|
||||
/>
|
||||
<div className="space-y-0.5">
|
||||
@ -276,10 +275,9 @@ export default function CameraSettingsView({
|
||||
<Switch
|
||||
id="detections-enabled"
|
||||
className="mr-3"
|
||||
disabled={detectionsState == "OFF"}
|
||||
checked={detectionsState == "ON"}
|
||||
onCheckedChange={(isChecked) => {
|
||||
sendDetections(isChecked ? "OFF" : "ON");
|
||||
sendDetections(isChecked ? "ON" : "OFF");
|
||||
}}
|
||||
/>
|
||||
<div className="space-y-0.5">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user