mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-26 19:06:11 +01:00
parent
97e8258288
commit
89e02b6956
@ -216,7 +216,9 @@ CAMERAS_SCHEMA = vol.Schema(vol.All(
|
|||||||
},
|
},
|
||||||
'objects': OBJECTS_SCHEMA,
|
'objects': OBJECTS_SCHEMA,
|
||||||
vol.Optional('motion', default={}): MOTION_SCHEMA,
|
vol.Optional('motion', default={}): MOTION_SCHEMA,
|
||||||
vol.Optional('detect', default={}): DETECT_SCHEMA
|
vol.Optional('detect', default={}): DETECT_SCHEMA.extend({
|
||||||
|
vol.Optional('enabled', default=True): bool
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}, vol.Msg(ensure_zones_and_cameras_have_different_names, msg='Zones cannot share names with cameras'))
|
}, vol.Msg(ensure_zones_and_cameras_have_different_names, msg='Zones cannot share names with cameras'))
|
||||||
)
|
)
|
||||||
@ -737,14 +739,20 @@ class MotionConfig():
|
|||||||
|
|
||||||
class DetectConfig():
|
class DetectConfig():
|
||||||
def __init__(self, global_config, config, camera_fps):
|
def __init__(self, global_config, config, camera_fps):
|
||||||
|
self._enabled = config['enabled']
|
||||||
self._max_disappeared = config.get('max_disappeared', global_config.get('max_disappeared', camera_fps*2))
|
self._max_disappeared = config.get('max_disappeared', global_config.get('max_disappeared', camera_fps*2))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def enabled(self):
|
||||||
|
return self._enabled
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def max_disappeared(self):
|
def max_disappeared(self):
|
||||||
return self._max_disappeared
|
return self._max_disappeared
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
return {
|
return {
|
||||||
|
'enabled': self.enabled,
|
||||||
'max_disappeared': self._max_disappeared,
|
'max_disappeared': self._max_disappeared,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,14 +65,18 @@ def create_mqtt_client(config: FrigateConfig, camera_metrics):
|
|||||||
camera_name = message.topic.split('/')[-3]
|
camera_name = message.topic.split('/')[-3]
|
||||||
command = message.topic.split('/')[-1]
|
command = message.topic.split('/')[-1]
|
||||||
|
|
||||||
|
detect_settings = config.cameras[camera_name].detect
|
||||||
|
|
||||||
if payload == 'ON':
|
if payload == 'ON':
|
||||||
if not camera_metrics[camera_name]["detection_enabled"].value:
|
if not camera_metrics[camera_name]["detection_enabled"].value:
|
||||||
logger.info(f"Turning on detection for {camera_name} via mqtt")
|
logger.info(f"Turning on detection for {camera_name} via mqtt")
|
||||||
camera_metrics[camera_name]["detection_enabled"].value = True
|
camera_metrics[camera_name]["detection_enabled"].value = True
|
||||||
|
detect_settings._enabled = True
|
||||||
elif payload == 'OFF':
|
elif payload == 'OFF':
|
||||||
if camera_metrics[camera_name]["detection_enabled"].value:
|
if camera_metrics[camera_name]["detection_enabled"].value:
|
||||||
logger.info(f"Turning off detection for {camera_name} via mqtt")
|
logger.info(f"Turning off detection for {camera_name} via mqtt")
|
||||||
camera_metrics[camera_name]["detection_enabled"].value = False
|
camera_metrics[camera_name]["detection_enabled"].value = False
|
||||||
|
detect_settings._enabled = False
|
||||||
else:
|
else:
|
||||||
logger.warning(f"Received unsupported value at {message.topic}: {payload}")
|
logger.warning(f"Received unsupported value at {message.topic}: {payload}")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user