* fix

* Fix

* Fix incorrect default websocket value

* Cleanup value setting
This commit is contained in:
Nicolas Mowen 2025-03-03 16:28:34 -07:00 committed by GitHub
parent 2946c935ee
commit 56079d080d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 12 additions and 11 deletions

View File

@ -707,16 +707,14 @@ class TrackedObjectProcessor(threading.Thread):
def _get_enabled_state(self, camera: str) -> bool:
_, config_data = self.enabled_subscribers[camera].check_for_update()
if config_data:
enabled = config_data.enabled
self.config.cameras[camera].enabled = config_data.enabled
if self.camera_states[camera].prev_enabled is None:
self.camera_states[camera].prev_enabled = enabled
return enabled
return (
self.camera_states[camera].prev_enabled
if self.camera_states[camera].prev_enabled is not None
else self.config.cameras[camera].enabled
)
self.camera_states[camera].prev_enabled = config_data.enabled
return self.config.cameras[camera].enabled
def run(self):
while not self.stop_event.is_set():

View File

@ -174,7 +174,7 @@ export function useEnabledState(camera: string): {
value: { payload },
send,
} = useWs(`${camera}/enabled/state`, `${camera}/enabled/set`);
return { payload: payload as ToggleableSetting, send };
return { payload: (payload ?? "ON") as ToggleableSetting, send };
}
export function useDetectState(camera: string): {

View File

@ -203,6 +203,9 @@ export default function LivePlayer({
const prevCameraEnabledRef = useRef(cameraEnabled ?? true);
useEffect(() => {
if (cameraEnabled == undefined) {
return;
}
if (!prevCameraEnabledRef.current && cameraEnabled) {
// Camera enabled
setLiveReady(false);

View File

@ -16,7 +16,7 @@ import useSWR from "swr";
import { getAttributeLabels } from "@/utils/iconUtil";
type useCameraActivityReturn = {
enabled: boolean;
enabled?: boolean;
activeTracking: boolean;
activeMotion: boolean;
objects: ObjectType[];
@ -148,7 +148,7 @@ export function useCameraActivity(
return cameras[camera.name].camera_fps == 0 && stats["service"].uptime > 60;
}, [camera, stats]);
const isCameraEnabled = cameraEnabled === "ON";
const isCameraEnabled = cameraEnabled ? cameraEnabled === "ON" : undefined;
return {
enabled: isCameraEnabled,