Send and save score for external events

This commit is contained in:
Nick Mowen 2023-07-16 16:48:43 -06:00
parent c6d0e93157
commit fbbd55149a
4 changed files with 9 additions and 2 deletions

View File

@ -233,7 +233,7 @@ class AudioEventMaintainer(threading.Thread):
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, "source_type": "audio"}, json={"duration": None, "score": score, "source_type": "audio"},
) )
if resp.status_code == 200: if resp.status_code == 200:

View File

@ -31,6 +31,7 @@ class ExternalEventProcessor:
label: str, label: str,
source_type: str, source_type: str,
sub_label: Optional[str], sub_label: Optional[str],
score: int,
duration: Optional[int], duration: Optional[int],
include_recording: bool, include_recording: bool,
draw: dict[str, any], draw: dict[str, any],
@ -56,6 +57,7 @@ class ExternalEventProcessor:
"id": event_id, "id": event_id,
"label": label, "label": label,
"sub_label": sub_label, "sub_label": sub_label,
"score": score,
"camera": camera, "camera": camera,
"start_time": now - camera_config.record.events.pre_capture, "start_time": now - camera_config.record.events.pre_capture,
"end_time": now "end_time": now

View File

@ -230,7 +230,11 @@ 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: {"type": event_data["type"]}, Event.data: {
"type": event_data["type"],
"score": event_data["score"],
"top_score": event_data["score"],
},
} }
Event.insert(event).execute() Event.insert(event).execute()
elif event_type == "end": elif event_type == "end":

View File

@ -899,6 +899,7 @@ def create_event(camera_name, label):
label, label,
json.get("source_type", "api"), json.get("source_type", "api"),
json.get("sub_label", None), json.get("sub_label", None),
json.get("score", 0),
json.get("duration", 30), json.get("duration", 30),
json.get("include_recording", True), json.get("include_recording", True),
json.get("draw", {}), json.get("draw", {}),