mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-07-30 13:48:07 +02:00
Add designator when events are from the api (#6997)
* Add designator when events are custom * Add type field and set via API
This commit is contained in:
parent
83edf9574e
commit
58c6ef1e12
@ -187,7 +187,7 @@ class AudioEventMaintainer(threading.Thread):
|
|||||||
else:
|
else:
|
||||||
resp = requests.post(
|
resp = requests.post(
|
||||||
f"{FRIGATE_LOCALHOST}/api/events/{self.config.name}/{label}/create",
|
f"{FRIGATE_LOCALHOST}/api/events/{self.config.name}/{label}/create",
|
||||||
json={"duration": None},
|
json={"duration": None, "source_type": "audio"},
|
||||||
)
|
)
|
||||||
|
|
||||||
if resp.status_code == 200:
|
if resp.status_code == 200:
|
||||||
|
@ -29,6 +29,7 @@ class ExternalEventProcessor:
|
|||||||
self,
|
self,
|
||||||
camera: str,
|
camera: str,
|
||||||
label: str,
|
label: str,
|
||||||
|
source_type: str,
|
||||||
sub_label: Optional[str],
|
sub_label: Optional[str],
|
||||||
duration: Optional[int],
|
duration: Optional[int],
|
||||||
include_recording: bool,
|
include_recording: bool,
|
||||||
@ -61,6 +62,7 @@ class ExternalEventProcessor:
|
|||||||
"thumbnail": thumbnail,
|
"thumbnail": thumbnail,
|
||||||
"has_clip": camera_config.record.enabled and include_recording,
|
"has_clip": camera_config.record.enabled and include_recording,
|
||||||
"has_snapshot": True,
|
"has_snapshot": True,
|
||||||
|
"type": source_type,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -193,6 +193,7 @@ class EventProcessor(threading.Thread):
|
|||||||
"score": score,
|
"score": score,
|
||||||
"top_score": event_data["top_score"],
|
"top_score": event_data["top_score"],
|
||||||
"attributes": attributes,
|
"attributes": attributes,
|
||||||
|
"type": "object",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,8 +217,8 @@ class EventProcessor(threading.Thread):
|
|||||||
del self.events_in_process[event_data["id"]]
|
del self.events_in_process[event_data["id"]]
|
||||||
self.event_processed_queue.put((event_data["id"], camera))
|
self.event_processed_queue.put((event_data["id"], camera))
|
||||||
|
|
||||||
def handle_external_detection(self, type: str, event_data: Event) -> None:
|
def handle_external_detection(self, event_type: str, event_data: Event) -> None:
|
||||||
if type == "new":
|
if event_type == "new":
|
||||||
event = {
|
event = {
|
||||||
Event.id: event_data["id"],
|
Event.id: event_data["id"],
|
||||||
Event.label: event_data["label"],
|
Event.label: event_data["label"],
|
||||||
@ -229,10 +230,10 @@ class EventProcessor(threading.Thread):
|
|||||||
Event.has_clip: event_data["has_clip"],
|
Event.has_clip: event_data["has_clip"],
|
||||||
Event.has_snapshot: event_data["has_snapshot"],
|
Event.has_snapshot: event_data["has_snapshot"],
|
||||||
Event.zones: [],
|
Event.zones: [],
|
||||||
Event.data: {},
|
Event.data: {"type": event_data["type"]},
|
||||||
}
|
}
|
||||||
Event.insert(event).execute()
|
Event.insert(event).execute()
|
||||||
elif type == "end":
|
elif event_type == "end":
|
||||||
event = {
|
event = {
|
||||||
Event.id: event_data["id"],
|
Event.id: event_data["id"],
|
||||||
Event.end_time: event_data["end_time"],
|
Event.end_time: event_data["end_time"],
|
||||||
|
@ -884,6 +884,7 @@ def create_event(camera_name, label):
|
|||||||
event_id = current_app.external_processor.create_manual_event(
|
event_id = current_app.external_processor.create_manual_event(
|
||||||
camera_name,
|
camera_name,
|
||||||
label,
|
label,
|
||||||
|
json.get("source_type", "api"),
|
||||||
json.get("sub_label", None),
|
json.get("sub_label", None),
|
||||||
json.get("duration", 30),
|
json.get("duration", 30),
|
||||||
json.get("include_recording", True),
|
json.get("include_recording", True),
|
||||||
|
Loading…
Reference in New Issue
Block a user