📊 Bee movement metric reporting

📊 Berichterstattung über Bienenbewegungs-Metriken

🎯 Zweck

Sammelt, verarbeitet und überträgt umfassende Bienenbewegungs-Analysen aus der Eingangsmessung, um Imkern verwertbare Erkenntnisse zu liefern.

🎭 Benutzerstory

  • Als Imker, der Eingangsüberwachungssysteme nutzt
  • möchte ich detaillierte Berichte über Bienentransportmuster und -trends erhalten
  • damit ich fundierte Entscheidungen über die Stockverwaltung treffen und potenzielle Probleme frühzeitig erkennen kann

🚀 Hauptvorteile

  • Umfassende Analytik: Detaillierte Bewegungsmuster, Spitzen-Aktivitätszeiten und saisonale Trends
  • Frühwarnsystem: Anomalieerkennung für ungewöhnliche Aktivitätssituationen
  • Historische Verfolgung: Langzeitdaten zum Verständnis der Vol development
  • Integrationsbereit: Standardisierte Metriken für Dashboard- und Alarmsysteme

🔧 Technischer Überblick

Das Metrik-Berechnungssystem (src/metrics.py) verarbeitet Track-History-Daten, um abgeleitete Analysen zu generieren, einschließlich Durchschnittsgeschwindigkeit, 95%-Perzentil-Geschwindigkeit und Erkennung stationärer Bienen. Daten werden lokal in täglich rotierenden JSONL-Dateien gespeichert und über Telemetrie-API mit konfigurierbaren Endpunkten und Authentifizierung übertragen.

📋 Akzeptanzkriterien

  • Berechnet abgeleitete Metriken: avg_speed_px_per_frame, p95_speed_px_per_frame, stationary_bees_count
  • Verarbeitet Track-History unter Verwendung von NumPy für Geschwindigkeitsberechnungen und Distanzanalyse
  • Speichert Telemetriedaten lokal in täglich rotierenden JSONL-Dateien (metrics_YYYY-MM-DD.jsonl)
  • Überträgt Daten an konfigurierbare TELEMETRY_BASE_URL mit API-Token-Authentifizierung
  • Enthält Kernmetriken: bees_in, bees_out, detected_bees, bee_interactions, net_flow
  • Unterstützt konfigurierbaren Schwellenwert für Stationarität (Standard: 10px Bewegung)
  • Thread-sichere Telemetrieübertragung mit asynchroner Verarbeitung

🚫 Nicht im Umfang

  • Langzeit-Datenspeicherung (wird von Cloud-Infrastruktur behandelt)
  • Echtzeit-Videostreaming

🏗️ Implementierungsansatz

  • Metrik-Berechnung: NumPy-basierte Metrikberechnung mit angemessener Rundung auf 2 Dezimalstellen
  • Lokale Datenspeicherung: Tägliche Datei-Rotation
  • HTTP-Telemetrieübertragung: Erfolgsmeldungen mit ordnungsgemäßer Fehlerbehandlung
  • Track-History-Serialisierung: Konvertierung ganzzahliger Koordinaten
  • Thread-sichere asynchrone Verarbeitung: Nicht blockierende Video-Pipeline

📊 Erfolgskriterien

  • NumPy-basierte Metrikberechnung mit korrekter Rundung auf 2 Dezimalstellen
  • Lokale Datenspeicherung mit täglicher Datei-Rotation
  • HTTP-Telemetrieübertragungserfolg mit ordnungsgemäßer Fehlerbehandlung
  • Track-History-Serialisierung mit Integer-Koordinatenkonvertierung
  • Thread-sichere asynchrone Verarbeitung ohne Blockieren der Video-Pipeline

🔗 Verwandte Funktionen

📚 Ressourcen & Referenzen

  • Implementierungsdetails der Metrikberechnung (src/metrics.py)
  • Telemetrie-API-Dokumentation von Gratheon
  • NumPy-Dokumentation für numerische Berechnungen

💬 Hinweise

Dieses Feature ist ein Kernstück der Entrance Observer-Funktionalität und liefert entscheidende Daten für die Bienenüberwachung. Die Metriken werden regelmäßig an die Cloud gesendet und sind im Dashboard sowie in Alarmen verfügbar.