mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
#2117 change entered_zones from set to list so that they are not automatically alphabetically ordered (#2212)
This commit is contained in:
parent
f91f4f0053
commit
1e7f196e5c
@ -71,7 +71,7 @@ class TrackedObject:
|
|||||||
self.camera_config = camera_config
|
self.camera_config = camera_config
|
||||||
self.frame_cache = frame_cache
|
self.frame_cache = frame_cache
|
||||||
self.current_zones = []
|
self.current_zones = []
|
||||||
self.entered_zones = set()
|
self.entered_zones = []
|
||||||
self.false_positive = True
|
self.false_positive = True
|
||||||
self.has_clip = False
|
self.has_clip = False
|
||||||
self.has_snapshot = False
|
self.has_snapshot = False
|
||||||
@ -147,7 +147,8 @@ class TrackedObject:
|
|||||||
# if the object passed the filters once, dont apply again
|
# if the object passed the filters once, dont apply again
|
||||||
if name in self.current_zones or not zone_filtered(self, zone.filters):
|
if name in self.current_zones or not zone_filtered(self, zone.filters):
|
||||||
current_zones.append(name)
|
current_zones.append(name)
|
||||||
self.entered_zones.add(name)
|
if name not in self.entered_zones:
|
||||||
|
self.entered_zones.append(name)
|
||||||
|
|
||||||
# if the zones changed, signal an update
|
# if the zones changed, signal an update
|
||||||
if not self.false_positive and set(self.current_zones) != set(current_zones):
|
if not self.false_positive and set(self.current_zones) != set(current_zones):
|
||||||
@ -178,7 +179,7 @@ class TrackedObject:
|
|||||||
"region": self.obj_data["region"],
|
"region": self.obj_data["region"],
|
||||||
"motionless_count": self.obj_data["motionless_count"],
|
"motionless_count": self.obj_data["motionless_count"],
|
||||||
"current_zones": self.current_zones.copy(),
|
"current_zones": self.current_zones.copy(),
|
||||||
"entered_zones": list(self.entered_zones).copy(),
|
"entered_zones": self.entered_zones.copy(),
|
||||||
"has_clip": self.has_clip,
|
"has_clip": self.has_clip,
|
||||||
"has_snapshot": self.has_snapshot,
|
"has_snapshot": self.has_snapshot,
|
||||||
}
|
}
|
||||||
@ -732,7 +733,7 @@ class TrackedObjectProcessor(threading.Thread):
|
|||||||
|
|
||||||
# if there are required zones and there is no overlap
|
# if there are required zones and there is no overlap
|
||||||
required_zones = snapshot_config.required_zones
|
required_zones = snapshot_config.required_zones
|
||||||
if len(required_zones) > 0 and not obj.entered_zones & set(required_zones):
|
if len(required_zones) > 0 and not set(obj.entered_zones) & set(required_zones):
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Not creating snapshot for {obj.obj_data['id']} because it did not enter required zones"
|
f"Not creating snapshot for {obj.obj_data['id']} because it did not enter required zones"
|
||||||
)
|
)
|
||||||
@ -773,7 +774,7 @@ class TrackedObjectProcessor(threading.Thread):
|
|||||||
def should_mqtt_snapshot(self, camera, obj: TrackedObject):
|
def should_mqtt_snapshot(self, camera, obj: TrackedObject):
|
||||||
# if there are required zones and there is no overlap
|
# if there are required zones and there is no overlap
|
||||||
required_zones = self.config.cameras[camera].mqtt.required_zones
|
required_zones = self.config.cameras[camera].mqtt.required_zones
|
||||||
if len(required_zones) > 0 and not obj.entered_zones & set(required_zones):
|
if len(required_zones) > 0 and not set(obj.entered_zones) & set(required_zones):
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Not sending mqtt for {obj.obj_data['id']} because it did not enter required zones"
|
f"Not sending mqtt for {obj.obj_data['id']} because it did not enter required zones"
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user