addet test set

This commit is contained in:
marcinator_2 committed 2026-10-14 17:40:31 +02:00
1 parent d370f992ce
commit b0f35bf3cc
21 files changed
+1796 -183

No files matched your search

+41 -1
View File
@@ -13,7 +13,8 @@ Hier liegt die erste Pi-WebUI. `run.py` im Projektstamm startet sie.
bindet an `127.0.0.1`, Zugriff vom Laptop erfolgt per SSH-Tunnel.
Für den vom Nutzer gewünschten direkten Heimnetzzugriff kann Uvicorn
`halloween.web:create_app` als Factory auf `0.0.0.0:8000` starten;
siehe `SOFTWARE.md`. `run.py` und systemd bleiben bei Loopback.
siehe `SOFTWARE.md`. `run.py` bleibt bei Loopback; systemd nutzt die
beim Upload gewählte Bind-Adresse, initial Loopback.
- `event_store.py` verwaltet `data/events.sqlite3`. Erfolgreiche manuelle
Testauslösungen werden als Ereignisse gespeichert; Profile besitzen
Kennungen und können Ereignissen zugeordnet werden. Profil-Löschen entfernt
@@ -53,3 +54,42 @@ unter `tests/` und die Bedienhinweise in `SOFTWARE.md` prüfen.
mit Canvas; keine Tracking-ID als Besucherprofil verwenden.
- Automatische Ereignisse tragen `person_line_crossing`, ohne Profilzuordnung.
Die vorhandene Steuerung bleibt ausschließlich simuliert.
## Bewegungs-Test
- `motion.py` bietet OpenCV-Optical-Flow im gewählten Bereich ohne Personenmodell.
Zwei aufeinanderfolgende gerichtete Bewegungen entlang der Pfeilnormalen
bestätigen einen Trigger; die Linie muss dabei nicht überquert werden.
- `method=motion_test` ausdrücklich als Test kennzeichnen; `person_line` bleibt
der Default und die Migration für alte gespeicherte Konfigurationen/Clients.
Beide Methoden speichern Geometrie/Aktivierung unter data/detection.json.
- Beim Test bedeutet Bereichsfreigabe zwei Sekunden Bildruhe, KEINE bestätigte
Personenfreiheit. Zehn Sekunden Sperrzeit, Stopp, bewusster Reset und Watchdog
beibehalten. Nach Konfigurations-/Controllerwechsel neue Bildbasis verlangen;
veraltete Inferenzfehler und Resultate dürfen den neuen Modus nicht beeinflussen.
- Ereignisse getrennt als motion_direction_test, ohne Profile; mit Auslösebild
gemäß den folgenden Bildregeln.
Aktoren bleiben simuliert; keine Zusage für Außenbetrieb, Licht oder Kostüme.
- Kleine Nahbereichbewegung nicht durch einen prozentual großen Mindestanteil
am gesamten Rechteck verwerfen; Schwellen mit kleinem/langsamem synthetischem
Stimulus regressionsprüfen, Gegenrichtung/Lichtwechsel weiter ablehnen.
- Bewegungswerte enthalten flüchtige Bildänderung, Hinweis und bestätigte
Frames. UI zeigt diese zur Diagnose und verwendet bei aktivierter Automatik
deren Freigabe für die Bereitschaftsanzeige. Manuelles Bereich-frei ersetzt
diese nicht; Sequenz, Stopp und Sperrzeit behalten ihren Vorrang.
## Auslösebilder
- Automatische akzeptierte Trigger speichern den grünen Bereich des auslösenden
Frames als JPEG unter data/event-images/, ohne EXIF/Originalbild außerhalb
des Rechtecks. Konfiguration beim Trigger kopieren; keine neuere Kameraaufnahme
oder später geänderte Geometrie verwenden. Manuelle Tests speichern kein Bild.
- SQLite migriert image_filename; öffentlicher Abruf nur über Ereignis-ID und
geprüfte generierte Dateinamen. Keine statische Freigabe des data/-Ordners.
Ordner 0700, Dateien 0600; Bilder nicht cachen. Bildspeicherung/SQLite außerhalb
des Detection-Locks, Fehler nutzen die bestehende Fehlersperre.
- Nutzerwahl: bis manuelle Löschung behalten. UI bietet Vorschau, Ansehen und
bestätigtes Bildlöschen; Ereignis/Profilzuordnung bleiben bestehen. Löschen
betrifft den aktiven Bestand, keine Upload-Sicherungen. Keine automatische
Alterslöschung von Bildern und keine Änderung der Auto-Profil-Frist.