diff --git a/docker-compose.yml b/docker-compose.yml index 84547503a..91192ce63 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,9 +13,9 @@ services: build: context: . dockerfile: docker/Dockerfile.dev - devices: - - /dev/bus/usb:/dev/bus/usb - - /dev/dri:/dev/dri # for intel hwaccel, needs to be updated for your hardware + #devices: + # - /dev/bus/usb:/dev/bus/usb + # - /dev/dri:/dev/dri # for intel hwaccel, needs to be updated for your hardware volumes: - /etc/localtime:/etc/localtime:ro - .:/lab/frigate:cached diff --git a/frigate/app.py b/frigate/app.py index 47e8a3329..fa0cee49b 100644 --- a/frigate/app.py +++ b/frigate/app.py @@ -103,8 +103,15 @@ class FrigateApp: "frame_queue": mp.Queue(maxsize=2), "capture_process": None, "process": None, - "birdseye_enabled": mp.Value("i", self.config.cameras[camera_name].birdseye.enabled), - "birdseye_mode": mp.Value("i", int_from_birdseye_mode(self.config.cameras[camera_name].birdseye.mode)), + "birdseye_enabled": mp.Value( + "i", self.config.cameras[camera_name].birdseye.enabled + ), + "birdseye_mode": mp.Value( + "i", + int_from_birdseye_mode( + self.config.cameras[camera_name].birdseye.mode + ), + ), } def set_log_levels(self) -> None: diff --git a/frigate/mqtt.py b/frigate/mqtt.py index ad6a91744..8edb659e1 100644 --- a/frigate/mqtt.py +++ b/frigate/mqtt.py @@ -217,19 +217,46 @@ def create_mqtt_client(config: FrigateConfig, camera_metrics): birdseye_settings = config.cameras[camera_name].birdseye if payload == BirdseyeModeEnum.continuous: - if birdseye_mode_from_int(camera_metrics[camera_name]["birdseye_mode"].value) != BirdseyeModeEnum.continuous: - logger.info(f"Setting birdseye mode for {camera_name} to {payload} via mqtt") - camera_metrics[camera_name]["birdseye_mode"].value = int_from_birdseye_mode(BirdseyeModeEnum.continuous) + if ( + birdseye_mode_from_int( + camera_metrics[camera_name]["birdseye_mode"].value + ) + != BirdseyeModeEnum.continuous + ): + logger.info( + f"Setting birdseye mode for {camera_name} to {payload} via mqtt" + ) + camera_metrics[camera_name][ + "birdseye_mode" + ].value = int_from_birdseye_mode(BirdseyeModeEnum.continuous) birdseye_settings.mode = BirdseyeModeEnum.continuous elif payload == BirdseyeModeEnum.motion: - if birdseye_mode_from_int(camera_metrics[camera_name]["birdseye_mode"].value) != BirdseyeModeEnum.motion: - logger.info(f"Setting birdseye mode for {camera_name} to {payload} via mqtt") - camera_metrics[camera_name]["birdseye_mode"].value = int_from_birdseye_mode(BirdseyeModeEnum.motion) + if ( + birdseye_mode_from_int( + camera_metrics[camera_name]["birdseye_mode"].value + ) + != BirdseyeModeEnum.motion + ): + logger.info( + f"Setting birdseye mode for {camera_name} to {payload} via mqtt" + ) + camera_metrics[camera_name][ + "birdseye_mode" + ].value = int_from_birdseye_mode(BirdseyeModeEnum.motion) birdseye_settings.mode = BirdseyeModeEnum.motion elif payload == BirdseyeModeEnum.objects: - if birdseye_mode_from_int(camera_metrics[camera_name]["birdseye_mode"].value) != BirdseyeModeEnum.objects: - logger.info(f"Setting birdseye mode for {camera_name} to {payload} via mqtt") - camera_metrics[camera_name]["birdseye_mode"].value = int_from_birdseye_mode(BirdseyeModeEnum.objects) + if ( + birdseye_mode_from_int( + camera_metrics[camera_name]["birdseye_mode"].value + ) + != BirdseyeModeEnum.objects + ): + logger.info( + f"Setting birdseye mode for {camera_name} to {payload} via mqtt" + ) + camera_metrics[camera_name][ + "birdseye_mode" + ].value = int_from_birdseye_mode(BirdseyeModeEnum.objects) birdseye_settings.mode = BirdseyeModeEnum.objects else: logger.warning(f"Received unsupported value at {message.topic}: {payload}") diff --git a/frigate/output.py b/frigate/output.py index ed901f375..fd81e674a 100644 --- a/frigate/output.py +++ b/frigate/output.py @@ -325,7 +325,9 @@ class BirdsEyeFrameManager: # update the last active frame for the camera self.cameras[camera]["current_frame"] = frame_time - if self.camera_active(camera_info["birdseye_mode"].value, object_count, motion_count): + if self.camera_active( + camera_info["birdseye_mode"].value, object_count, motion_count + ): self.cameras[camera]["last_active_frame"] = frame_time now = datetime.datetime.now().timestamp()