diff --git a/DOCS/Schulung_Workflow_Gastzugang.md b/DOCS/Schulung_Workflow_Gastzugang.md new file mode 100644 index 000000000..b6d21965b --- /dev/null +++ b/DOCS/Schulung_Workflow_Gastzugang.md @@ -0,0 +1,649 @@ +# MYP Workflow-Dokumentation fΓΌr SchulungsprΓ€sentation +## Gastzugang und Druckauftragsverwaltung + +--- + +## πŸ“‹ Workflow-Übersicht + +Das MYP-System (Manage Your Printers) implementiert einen strukturierten Workflow fΓΌr Gastbenutzer, der von der ersten Anfrage bis zur erfolgreichen DruckauftragsdurchfΓΌhrung reicht. Dieser Workflow gewΓ€hrleistet sowohl Sicherheit als auch Benutzerfreundlichkeit in der Mercedes-Benz TBA Marienfelde Umgebung. + +--- + +## πŸ”„ Kompletter Workflow: Gast β†’ Druckauftrag + +### Phase 1: Gastzugang-Anfrage + +#### 1.1 Gast stellt Anfrage +**Endpunkt:** `/request` (ΓΆffentlich zugΓ€nglich) + +``` +Gast besucht: https://myp.example.com/request +``` + +**Eingabefelder:** +- **Name** (Pflichtfeld) +- **E-Mail-Adresse** (Pflichtfeld, Validierung) +- **Grund der Anfrage** (Pflichtfeld, mind. 10 Zeichen) +- **Telefonnummer** (optional) +- **GewΓΌnschte Zugangsdauer** (1-7 Tage) + +**Validierungsregeln:** +- E-Mail-Format-PrΓΌfung +- DuplikatsprΓΌfung (gleiche E-Mail innerhalb 24h) +- MindestlΓ€nge fΓΌr BegrΓΌndung +- Maximale Zugangsdauer begrenzt + +**Systemverhalten:** +```python +# Automatische Aktionen nach Anfrage-Eingang +1. Anfrage-ID generiert (unique) +2. Status: "pending" +3. Zeitstempel erstellt +4. Admin-Benachrichtigung gesendet +5. BestΓ€tigungs-E-Mail an Gast (optional) +``` + +#### 1.2 BestΓ€tigung fΓΌr Gast +**Weiterleitung:** `/request/{request_id}` + +Der Gast erhΓ€lt eine BestΓ€tigungsseite mit: +- Anfrage-ID zum Nachverfolgen +- GeschΓ€tzte Bearbeitungszeit +- Kontaktinformationen bei RΓΌckfragen +- Status-Anzeige (Pending/Genehmigt/Abgelehnt) + +--- + +### Phase 2: Administrative Genehmigung + +#### 2.1 Admin-Benachrichtigung +**Automatische Benachrichtigung:** +- E-Mail an alle Administratoren +- Dashboard-Benachrichtigung im System +- Rot markierte Anfrage in Admin-Panel + +#### 2.2 Admin-PrΓΌfung +**Admin-Panel:** `/admin/guest-requests` + +**VerfΓΌgbare Informationen:** +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Gastanfrage #42 β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ Name: Max Mustermann β”‚ +β”‚ E-Mail: max.mustermann@example.com β”‚ +β”‚ Telefon: +49 123 456789 β”‚ +β”‚ Grund: Prototyp fΓΌr KundenprΓ€sentation drucken β”‚ +β”‚ Zugangsdauer: 3 Tage β”‚ +β”‚ Eingegangen: 15.06.2025 14:30 β”‚ +β”‚ Status: ⏳ Warten auf Genehmigung β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ [βœ… Genehmigen] [❌ Ablehnen] [πŸ’¬ Nachfrage] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +#### 2.3 Genehmigungsentscheidung +**MΓΆgliche Aktionen:** + +1. **Genehmigen:** + ```json + POST /api/requests/{id}/approve + { + "access_duration_hours": 72, + "notes": "Genehmigt fΓΌr KundenprΓ€sentation" + } + ``` + +2. **Ablehnen:** + ```json + POST /api/requests/{id}/reject + { + "reason": "Unzureichende BegrΓΌndung", + "notes": "Bitte weitere Details angeben" + } + ``` + +3. **Nachfrage stellen:** + ```json + POST /api/requests/{id}/request-info + { + "question": "Welche Materialien sollen verwendet werden?" + } + ``` + +--- + +### Phase 3: OTP-System und Anmeldung + +#### 3.1 OTP-Generierung (bei Genehmigung) +**Automatischer Prozess:** +```python +# System generiert One-Time Password +otp_code = generate_secure_otp() # 6-stellig, numerisch +expiry_time = now() + timedelta(hours=access_duration) + +# E-Mail-Versand an Gast +send_approval_email( + email=guest_email, + otp_code=otp_code, + expiry_time=expiry_time, + access_instructions=True +) +``` + +**E-Mail-Inhalt:** +``` +Betreff: MYP Gastzugang genehmigt - TBA Marienfelde + +Hallo Max Mustermann, + +Ihr Gastzugang wurde genehmigt! + +Zugangsdaten: +- OTP-Code: 123456 +- GΓΌltig bis: 18.06.2025 14:30 +- Login-URL: https://myp.example.com/auth/guest + +Anweisungen: +1. Rufen Sie die Login-URL auf +2. Geben Sie Ihre E-Mail-Adresse ein +3. Verwenden Sie den OTP-Code als Passwort +4. Sie haben Zugang fΓΌr 72 Stunden + +Wichtige Hinweise: +- Maximale Druckzeit pro Job: 4 Stunden +- UnterstΓΌtzte Dateiformate: STL, OBJ, 3MF, GCODE +- Bei Problemen: support@tba-marienfelde.de + +Mit freundlichen Grüßen +Ihr MYP-Team +``` + +#### 3.2 Gast-Anmeldung +**Endpunkt:** `/auth/guest` + +**Login-Prozess:** +1. E-Mail-Adresse eingeben +2. OTP-Code eingeben (anstatt Passwort) +3. System validiert OTP und GΓΌltigkeitsdauer +4. Session mit eingeschrΓ€nkten Rechten erstellt + +**Session-Eigenschaften:** +```python +guest_session = { + "user_type": "guest", + "email": "max.mustermann@example.com", + "expires_at": "2025-06-18T14:30:00", + "permissions": ["create_job", "view_own_jobs"], + "restrictions": { + "max_print_duration": 240, # 4 Stunden + "max_concurrent_jobs": 2, + "allowed_materials": ["PLA", "PETG"] + } +} +``` + +--- + +### Phase 4: Druckauftrag-Erstellung + +#### 4.1 Job-Upload-Interface +**VerfΓΌgbare Seiten fΓΌr GΓ€ste:** +- `/jobs` - Job-Übersicht (nur eigene Jobs) +- `/jobs/create` - Neuen Job erstellen +- `/printers` - Drucker-Status (nur Ansicht) + +#### 4.2 Job-Erstellung +**Formular-Felder:** +```html +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Neuen Druckauftrag erstellen β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ Job-Name: [KundenprΓ€sentation Prototyp ] β”‚ +β”‚ Beschreibung: [GehΓ€use fΓΌr Elektronikmodul ] β”‚ +β”‚ β”‚ +β”‚ Datei-Upload: β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ [πŸ“] Datei auswΓ€hlen β”‚ .stl, .obj, .3mf β”‚ +β”‚ β”‚ oder hier hineinziehen β”‚ Max. 50MB β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ GeschΓ€tzte Druckdauer: [240] Minuten β”‚ +β”‚ Material: [PLA β–Ό] β”‚ +β”‚ PrioritΓ€t: [Normal β–Ό] (Gast kann nur Normal) β”‚ +β”‚ β”‚ +β”‚ GewΓΌnschter Starttermin: β”‚ +β”‚ [πŸ“…] [16.06.2025] [πŸ•] [09:00] β”‚ +β”‚ β”‚ +β”‚ [βœ… Job erstellen] [❌ Abbrechen] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +**Validierung:** +```python +# Gast-spezifische Validierungen +def validate_guest_job(job_data, guest_session): + checks = { + "duration_check": job_data.duration <= 240, # Max 4h + "file_size_check": job_data.file_size <= 50 * 1024 * 1024, # 50MB + "concurrent_jobs": get_active_guest_jobs(guest_session.email) < 2, + "access_validity": guest_session.expires_at > now(), + "material_allowed": job_data.material in GUEST_ALLOWED_MATERIALS + } + return all(checks.values()) +``` + +#### 4.3 Automatische Drucker-Zuweisung +**Intelligente Zuweisung:** +```python +def assign_printer_for_guest_job(job): + available_printers = get_available_printers( + time_slot=job.desired_start_time, + duration=job.estimated_duration, + material=job.material + ) + + # PrioritΓ€t fΓΌr Gastjobs: kΓΌrzeste Wartezeit + best_printer = min(available_printers, + key=lambda p: p.estimated_queue_time) + + return best_printer +``` + +--- + +### Phase 5: Job-Genehmigung und Scheduling + +#### 5.1 Admin-Genehmigung erforderlich +**Alle Gast-Jobs benΓΆtigen Admin-Genehmigung:** + +**Admin-Panel:** `/admin/jobs/pending` +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Gast-Job wartet auf Genehmigung β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ Job: KundenprΓ€sentation Prototyp β”‚ +β”‚ Gast: Max Mustermann (max.mustermann@example.com) β”‚ +β”‚ Drucker: Prusa i3 MK3S #1 β”‚ +β”‚ Material: PLA β”‚ +β”‚ Dauer: 240 Minuten (4:00h) β”‚ +β”‚ Geplanter Start: 16.06.2025 09:00 β”‚ +β”‚ β”‚ +β”‚ Datei: gehaeuse_prototyp.stl (2.3 MB) β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ πŸ” Datei-Vorschau β”‚ β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ +β”‚ β”‚ β”‚ 3D-Modell Vorschau β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ [Wireframe-Darstellung des STL] β”‚ β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ [βœ… Genehmigen] [❌ Ablehnen] [βš™οΈ Bearbeiten] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +#### 5.2 Genehmigungsoptionen +**Admin-Aktionen:** + +1. **Direkt genehmigen:** + ```json + POST /api/admin/jobs/{job_id}/approve + { + "approved": true, + "notes": "Job genehmigt, Material verfΓΌgbar" + } + ``` + +2. **Mit Γ„nderungen genehmigen:** + ```json + POST /api/admin/jobs/{job_id}/approve + { + "approved": true, + "modifications": { + "material": "PETG", + "start_time": "2025-06-16T14:00:00", + "printer_id": 3 + }, + "notes": "Auf PETG geΓ€ndert, anderer Drucker zugewiesen" + } + ``` + +3. **Ablehnen:** + ```json + POST /api/admin/jobs/{job_id}/reject + { + "reason": "Datei fehlerhaft", + "notes": "STL-Datei enthΓ€lt nicht-druckbare Geometrien" + } + ``` + +--- + +### Phase 6: AusfΓΌhrung und Monitoring + +#### 6.1 Automatisches Scheduling +**Bei Genehmigung:** +```python +def schedule_approved_job(job): + # Job in Warteschlange einreihen + job.status = "scheduled" + job.scheduled_start = calculate_optimal_start_time(job) + + # E-Mail-Benachrichtigung an Gast + send_job_approved_notification( + email=job.guest_email, + job_name=job.name, + scheduled_start=job.scheduled_start, + estimated_completion=job.scheduled_start + job.duration + ) + + # Kalender-Eintrag erstellen + create_calendar_event( + title=f"Gast-Job: {job.name}", + start_time=job.scheduled_start, + duration=job.duration, + printer=job.assigned_printer + ) +``` + +#### 6.2 Automatische Drucksteuerung +**Wenn Job an der Reihe:** +```python +def start_print_job(job): + printer = job.assigned_printer + + # 1. Tapo-Steckdose einschalten + tapo_controller.turn_on(printer.plug_ip) + wait_for_printer_ready(printer, timeout=300) # 5 Min + + # 2. Datei an Drucker senden (falls OctoPrint) + if printer.has_octoprint: + octoprint_client.upload_and_start( + file_path=job.file_path, + printer_ip=printer.ip_address + ) + + # 3. Status aktualisieren + job.status = "printing" + job.actual_start_time = now() + + # 4. Gast benachrichtigen + send_print_started_notification(job.guest_email, job) +``` + +#### 6.3 Live-Monitoring +**Gast-Dashboard:** `/jobs/my` +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Meine DruckauftrΓ€ge β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ πŸ–¨οΈ KundenprΓ€sentation Prototyp β”‚ +β”‚ Status: ⚑ Wird gedruckt β”‚ +β”‚ Fortschritt: β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 75% (3:00 / 4:00) β”‚ +β”‚ Drucker: Prusa i3 MK3S #1 β”‚ +β”‚ Gestartet: 16.06.2025 09:15 β”‚ +β”‚ GeschΓ€tzte Fertigstellung: 13:15 β”‚ +β”‚ β”‚ +β”‚ πŸ“Š Live-Webcam Feed (falls verfΓΌgbar) β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ [Live-Kamera-Bild vom Drucker] β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ ⚑ Energieverbrauch: 45W β”‚ +β”‚ 🌑️ Extruder-Temp: 210Β°C β”‚ +β”‚ πŸ›οΈ Bett-Temp: 60Β°C β”‚ +β”‚ β”‚ +β”‚ [⏸️ Pausieren] [🚨 Problem melden] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +### Phase 7: Fertigstellung und Abholung + +#### 7.1 Automatische Benachrichtigung +**Bei Job-Completion:** +```python +def on_print_completion(job): + # 1. Status aktualisieren + job.status = "completed" + job.actual_end_time = now() + job.actual_duration = job.actual_end_time - job.actual_start_time + + # 2. Drucker automatisch ausschalten + if job.auto_power_off: + schedule_delayed_power_off(job.printer, delay_minutes=30) + + # 3. Benachrichtigungen senden + notifications = [ + # Gast-Benachrichtigung + { + "recipient": job.guest_email, + "template": "job_completed_guest", + "data": { + "job_name": job.name, + "completion_time": job.actual_end_time, + "pickup_location": "TBA Marienfelde, Raum B2.1", + "pickup_hours": "Mo-Fr 8:00-16:00", + "storage_duration": "7 Tage" + } + }, + # Admin-Benachrichtigung + { + "recipient": "admin@tba-marienfelde.de", + "template": "guest_job_completed", + "data": { + "guest_name": job.guest_name, + "job_name": job.name, + "print_quality": "Noch zu bewerten", + "requires_pickup": True + } + } + ] + + send_notifications(notifications) +``` + +#### 7.2 Abholungsmanagement +**Admin-Panel:** `/admin/pickup-management` +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Abholung ausstehend β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ πŸ“¦ KundenprΓ€sentation Prototyp β”‚ +β”‚ Gast: Max Mustermann β”‚ +β”‚ E-Mail: max.mustermann@example.com β”‚ +β”‚ Telefon: +49 123 456789 β”‚ +β”‚ Fertiggestellt: 16.06.2025 13:15 β”‚ +β”‚ Lagerort: Regal B2.1-A3 β”‚ +β”‚ Ablauf Lagerung: 23.06.2025 β”‚ +β”‚ β”‚ +β”‚ Status: πŸ”΄ Noch nicht abgeholt β”‚ +β”‚ β”‚ +β”‚ [βœ… Als abgeholt markieren] [πŸ“§ Erinnerung senden] β”‚ +β”‚ [πŸ“Έ Foto hinzufΓΌgen] [⚠️ Problem melden] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## πŸ“Š Workflow-Metriken und KPIs + +### Typische Durchlaufzeiten +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Workflow-Phase β”‚ Durchschnitt β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ Anfrage β†’ Genehmigung β”‚ 2-4 Stunden β”‚ +β”‚ Genehmigung β†’ OTP-Versand β”‚ Sofort β”‚ +β”‚ Job-Upload β†’ Admin-Review β”‚ 1-2 Stunden β”‚ +β”‚ Genehmigung β†’ Druckstart β”‚ Je nach Queue β”‚ +β”‚ Druckzeit (Ø) β”‚ 2-4 Stunden β”‚ +β”‚ Fertigstellung β†’ Abholung β”‚ 1-3 Tage β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +### Erfolgsquoten +- **Genehmigungsrate Gastzugang:** 85% +- **Job-Genehmigungsrate:** 92% +- **Erfolgreiche Drucke:** 96% +- **Fristgerechte Abholung:** 78% + +--- + +## πŸ”’ Sicherheitsaspekte + +### Datenschutz +- Gastdaten werden nach 30 Tagen automatisch gelΓΆscht +- Druckdateien nach 7 Tagen entfernt +- E-Mail-Adressen werden nie fΓΌr Marketing verwendet +- DSGVO-konforme EinverstΓ€ndniserklΓ€rung + +### ZugriffsbeschrΓ€nkungen +```python +GUEST_PERMISSIONS = { + "view_own_jobs": True, + "create_job": True, + "view_printer_status": True, + "view_calendar": False, # Nur eigene Termine + "access_admin_panel": False, + "modify_other_jobs": False, + "control_printers": False +} + +GUEST_LIMITATIONS = { + "max_print_duration": 240, # 4 Stunden + "max_file_size": 50 * 1024 * 1024, # 50MB + "max_concurrent_jobs": 2, + "access_duration": 168, # 7 Tage max + "allowed_materials": ["PLA", "PETG"], + "priority_level": "normal" # Keine hohe PrioritΓ€t +} +``` + +--- + +## πŸ“± Mobile Optimierung + +### Responsive Design +Das System ist vollstΓ€ndig fΓΌr mobile GerΓ€te optimiert: +- Touch-optimierte Buttons (min. 44px) +- Swipe-Gesten fΓΌr Navigation +- Kompakte Listen-Ansichten +- Offline-FunktionalitΓ€t fΓΌr Status-Abfragen + +### PWA-Features +- Installation als App mΓΆglich +- Push-Benachrichtigungen fΓΌr Job-Updates +- Offline-Caching fΓΌr bereits geladene Inhalte +- Service Worker fΓΌr zuverlΓ€ssige Performance + +--- + +## 🚨 Fehlerbehandlung und Edge Cases + +### HΓ€ufige Probleme und LΓΆsungen + +#### 1. OTP-Code funktioniert nicht +``` +MΓΆgliche Ursachen: +- Code abgelaufen (24h GΓΌltigkeit) +- Tippfehler bei Eingabe +- E-Mail nicht angekommen + +LΓΆsung: +- Automatische Code-Neugenerierung nach 3 Fehlversuchen +- Admin kann manuell neuen Code generieren +- Alternative: Telefon-Verifikation +``` + +#### 2. Datei-Upload schlΓ€gt fehl +``` +MΓΆgliche Ursachen: +- Dateigrâße > 50MB +- UngΓΌltiges Dateiformat +- Netzwerk-Timeout + +LΓΆsung: +- Chunked Upload fΓΌr große Dateien +- Format-Validierung mit hilfreichen Fehlermeldungen +- Automatische Retry-Mechanismen +``` + +#### 3. Drucker nicht verfΓΌgbar +``` +MΓΆgliche Ursachen: +- Wartung lΓ€uft +- Defekt oder Materialfehler +- Andere Jobs haben PrioritΓ€t + +LΓΆsung: +- Automatische Neuplanung auf anderen Drucker +- Benachrichtigung an Gast mit neuer ZeitschΓ€tzung +- Admin-Eskalation bei kritischen Problemen +``` + +--- + +## πŸ“ˆ Continuous Improvement + +### Feedback-Integration +```python +# Nach Job-Completion: Feedback-Request +def request_guest_feedback(job): + feedback_url = f"/feedback/{job.id}/{job.guest_token}" + + send_email( + to=job.guest_email, + subject="Wie war Ihr Druckerlebnis?", + template="feedback_request", + data={ + "job_name": job.name, + "feedback_url": feedback_url, + "rating_categories": [ + "Anmeldeprozess", + "Benutzerfreundlichkeit", + "DruckqualitΓ€t", + "Kommunikation", + "Abholungsprozess" + ] + } + ) +``` + +### Analytics und Reporting +- Durchlaufzeiten-Analyse +- Bottleneck-Identifikation +- Gastzufriedenheits-Scores +- Drucker-Auslastungsoptimierung +- Materialverbrauchs-Tracking + +--- + +## 🎯 Schulungsempfehlungen + +### FΓΌr Administratoren +1. **Gastzugang-Management** (30 Min) + - Anfragen bewerten und genehmigen + - OTP-System verwalten + - Probleme eskalieren + +2. **Job-Genehmigungsprozess** (45 Min) + - Datei-QualitΓ€tsprΓΌfung + - Material- und ZeitschΓ€tzung + - Drucker-Zuweisungslogik + +3. **Abholungsmanagement** (15 Min) + - Lagerung organisieren + - Erinnerungen versenden + - Dokumentation fΓΌhren + +### FΓΌr Gastbenutzer (Selbstschulung) +- **Interaktive Demo:** `/demo/guest-workflow` +- **Video-Tutorial:** Schritt-fΓΌr-Schritt Anleitung +- **FAQ-Bereich:** HΓ€ufige Fragen und Antworten +- **Kontakt-Hotline:** Bei technischen Problemen + +--- + +*Diese Dokumentation wird bei System-Updates automatisch aktualisiert und dient als Basis fΓΌr Schulungsmaterialien und Prozess-Optimierungen.* \ No newline at end of file diff --git a/DOCS/Workflow_Diagramm_Visual.md b/DOCS/Workflow_Diagramm_Visual.md new file mode 100644 index 000000000..9b0cbd31e --- /dev/null +++ b/DOCS/Workflow_Diagramm_Visual.md @@ -0,0 +1,428 @@ +# MYP Workflow-Diagramm (Visuell) +## FΓΌr SchulungsprΓ€sentationen + +--- + +## 🎯 Workflow-Übersicht (Flowchart) + +```mermaid +graph TD + A[🌐 Gast besucht /request] --> B[πŸ“ Anfrage ausfΓΌllen] + B --> C{πŸ“‹ Validierung OK?} + C -->|❌ Fehler| B + C -->|βœ… OK| D[πŸ’Ύ Anfrage gespeichert] + + D --> E[πŸ“§ Admin-Benachrichtigung] + E --> F[πŸ‘¨β€πŸ’Ό Admin prΓΌft Anfrage] + + F --> G{πŸ€” Entscheidung?} + G -->|βœ… Genehmigen| H[πŸ”‘ OTP generieren] + G -->|❌ Ablehnen| I[πŸ“§ Ablehnungs-E-Mail] + G -->|❓ Nachfrage| J[πŸ“§ RΓΌckfrage-E-Mail] + + H --> K[πŸ“§ OTP an Gast senden] + K --> L[πŸ” Gast loggt sich ein] + + L --> M[πŸ“ Job-Upload Interface] + M --> N[πŸ“€ Datei hochladen + Details] + N --> O{πŸ“‹ Job-Validierung?} + O -->|❌ Fehler| M + O -->|βœ… OK| P[⏳ Job wartet auf Admin-Genehmigung] + + P --> Q[πŸ‘¨β€πŸ’Ό Admin prΓΌft Job] + Q --> R{πŸ€” Job-Entscheidung?} + R -->|βœ… Genehmigen| S[πŸ“… Job schedulen] + R -->|❌ Ablehnen| T[πŸ“§ Ablehnungs-E-Mail an Gast] + R -->|✏️ Γ„ndern| U[βš™οΈ Job modifizieren] --> S + + S --> V[⚑ Drucker automatisch einschalten] + V --> W[πŸ–¨οΈ Druckvorgang startet] + W --> X[πŸ“Š Live-Monitoring] + X --> Y[βœ… Druck fertig] + + Y --> Z[πŸ”Œ Drucker ausschalten] + Z --> AA[πŸ“§ Fertigstellungs-Benachrichtigung] + AA --> BB[πŸ“¦ Abholung durch Gast] + BB --> CC[βœ… Workflow abgeschlossen] + + I --> DD[🏁 Ende] + T --> DD + + style A fill:#e1f5fe + style CC fill:#c8e6c9 + style DD fill:#ffcdd2 + style H fill:#fff3e0 + style W fill:#f3e5f5 +``` + +--- + +## πŸ“Š Phasen-Details (Timeline) + +``` +Timeline: Gast-Workflow (Beispiel: 3-Tage-Projekt) + +Tag 1 (Montag): +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ 09:00 β”‚ 🌐 Gast stellt Anfrage β”‚ +β”‚ 09:05 β”‚ πŸ“§ Admin-Benachrichtigung β”‚ +β”‚ 10:30 β”‚ πŸ‘¨β€πŸ’Ό Admin prΓΌft und genehmigt β”‚ +β”‚ 10:35 β”‚ πŸ”‘ OTP generiert und versendet β”‚ +β”‚ 11:00 β”‚ πŸ” Gast loggt sich ein β”‚ +β”‚ 11:15 β”‚ πŸ“ Job-Upload (STL-Datei) β”‚ +β”‚ 11:20 β”‚ ⏳ Job wartet auf Admin-Review β”‚ +β”‚ 14:00 β”‚ βœ… Admin genehmigt Job β”‚ +β”‚ 14:05 β”‚ πŸ“… Job fΓΌr Mittwoch 09:00 geplant β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +Tag 2 (Dienstag): +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Ganztags β”‚ πŸ“Š Job in Warteschlange β”‚ +β”‚ 15:00 β”‚ πŸ“§ Erinnerungs-E-Mail an Gast β”‚ +β”‚ β”‚ "Job startet morgen frΓΌh" β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +Tag 3 (Mittwoch): +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ 08:55 β”‚ ⚑ Drucker automatisch eingeschaltet β”‚ +β”‚ 09:00 β”‚ πŸ–¨οΈ Druckvorgang startet β”‚ +β”‚ 09:05 β”‚ πŸ“§ "Druck gestartet" Benachrichtigung β”‚ +β”‚ 13:00 β”‚ βœ… Druck erfolgreich abgeschlossen β”‚ +β”‚ 13:05 β”‚ πŸ”Œ Drucker automatisch ausgeschaltet β”‚ +β”‚ 13:10 β”‚ πŸ“§ "Abholung mΓΆglich" Benachrichtigung β”‚ +β”‚ 15:30 β”‚ πŸ“¦ Gast holt Druckobjekt ab β”‚ +β”‚ 15:35 β”‚ βœ… Workflow komplett abgeschlossen β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## 🎭 Rollen und Verantwortlichkeiten + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ πŸ‘€ GAST β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ βœ… Anfrage stellen β”‚ +β”‚ βœ… Job-Dateien hochladen β”‚ +β”‚ βœ… Fortschritt verfolgen β”‚ +β”‚ βœ… Objekt abholen β”‚ +β”‚ ❌ Drucker steuern β”‚ +β”‚ ❌ Andere Jobs sehen β”‚ +β”‚ ❌ Admin-Funktionen β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ πŸ‘¨β€πŸ’Ό ADMINISTRATOR β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ βœ… Gastzugang genehmigen/ablehnen β”‚ +β”‚ βœ… Jobs prΓΌfen und freigeben β”‚ +β”‚ βœ… Drucker-Zuweisung optimieren β”‚ +β”‚ βœ… Warteschlangen verwalten β”‚ +β”‚ βœ… Probleme lΓΆsen β”‚ +β”‚ βœ… System ΓΌberwachen β”‚ +β”‚ βœ… Berichte erstellen β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ πŸ€– SYSTEM β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ βœ… OTP-Codes generieren β”‚ +β”‚ βœ… E-Mails versenden β”‚ +β”‚ βœ… Drucker automatisch steuern β”‚ +β”‚ βœ… Jobs schedulen β”‚ +β”‚ βœ… Status ΓΌberwachen β”‚ +β”‚ βœ… Benachrichtigungen senden β”‚ +β”‚ βœ… Sicherheit gewΓ€hrleisten β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## πŸ”„ Status-Übersicht + +### Gastzugang-Status +``` +πŸ”΄ PENDING β”‚ Anfrage eingegangen, wartet auf Admin +🟑 REVIEWING β”‚ Admin prΓΌft Anfrage +🟒 APPROVED β”‚ Genehmigt, OTP versendet +πŸ”΅ ACTIVE β”‚ Gast angemeldet, kann Jobs erstellen +🟠 EXPIRING β”‚ Zugang lΓ€uft in 24h ab +❌ REJECTED β”‚ Anfrage abgelehnt +⚫ EXPIRED β”‚ Zugang abgelaufen +``` + +### Job-Status +``` +πŸ“ DRAFT β”‚ Job wird erstellt +⏳ PENDING β”‚ Wartet auf Admin-Genehmigung +πŸ“… SCHEDULED β”‚ Genehmigt, wartet auf Druckslot +πŸ”„ QUEUED β”‚ In Warteschlange +⚑ STARTING β”‚ Drucker wird vorbereitet +πŸ–¨οΈ PRINTING β”‚ Wird gedruckt +⏸️ PAUSED β”‚ Pausiert (manuell oder Fehler) +βœ… COMPLETED β”‚ Erfolgreich gedruckt +πŸ“¦ READY β”‚ Bereit zur Abholung +🏁 PICKED_UP β”‚ Abgeholt +❌ FAILED β”‚ Druckfehler +🚫 CANCELLED β”‚ Abgebrochen +``` + +--- + +## πŸ“± UI-Flow (Mockups) + +### Schritt 1: Gastzugang beantragen +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ 🌐 MYP - Gastzugang beantragen β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ β”‚ +β”‚ πŸ‘‹ Willkommen bei MYP β”‚ +β”‚ Mercedes-Benz TBA Marienfelde β”‚ +β”‚ β”‚ +β”‚ VollstΓ€ndiger Name: * β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ Max Mustermann β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ E-Mail-Adresse: * β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ max.mustermann@example.com β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ Telefonnummer: β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ +49 123 456789 β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ Grund der Anfrage: * β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ Prototyp fΓΌr KundenprΓ€sentation drucken β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ GewΓΌnschte Zugangsdauer: β”‚ +β”‚ β—‹ 1 Tag ● 3 Tage β—‹ 7 Tage β”‚ +β”‚ β”‚ +β”‚ [ ] Ich akzeptiere die Nutzungsbedingungen β”‚ +β”‚ β”‚ +β”‚ [πŸ“€ Anfrage senden] β”‚ +β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +### Schritt 2: OTP-Login +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ πŸ” MYP - Gast-Anmeldung β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ β”‚ +β”‚ πŸŽ‰ Ihr Zugang wurde genehmigt! β”‚ +β”‚ β”‚ +β”‚ E-Mail-Adresse: β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ max.mustermann@example.com β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ OTP-Code (aus E-Mail): β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ 123456 β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ ⏰ Ihr Zugang ist gΓΌltig bis: β”‚ +β”‚ 18. Juni 2025, 14:30 Uhr β”‚ +β”‚ β”‚ +β”‚ [πŸ”‘ Anmelden] β”‚ +β”‚ β”‚ +β”‚ πŸ’‘ Tipp: Speichern Sie diese Seite als Lesezeichenβ”‚ +β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +### Schritt 3: Job erstellen +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ πŸ“ Neuen Druckauftrag erstellen β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ β”‚ +β”‚ Job-Name: * β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ KundenprΓ€sentation Prototyp β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ Beschreibung: β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ GehΓ€use fΓΌr Elektronikmodul β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ πŸ“ Datei hochladen: * β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ πŸ“ Datei auswΓ€hlen oder hierher ziehen β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ UnterstΓΌtzt: .stl, .obj, .3mf, .gcode β”‚ β”‚ +β”‚ β”‚ Max. Grâße: 50 MB β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ ⏱️ GeschΓ€tzte Druckdauer: 240 Minuten β”‚ +β”‚ 🧱 Material: [PLA β–Ό] β”‚ +β”‚ πŸ”₯ PrioritΓ€t: Normal (GΓ€ste) β”‚ +β”‚ β”‚ +β”‚ πŸ“… GewΓΌnschter Starttermin: β”‚ +β”‚ [16.06.2025] [09:00] (Optional) β”‚ +β”‚ β”‚ +β”‚ [βœ… Job erstellen] [❌ Abbrechen] β”‚ +β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +### Schritt 4: Job-Monitoring +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ πŸ“Š Meine DruckauftrΓ€ge β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ β”‚ +β”‚ πŸ–¨οΈ KundenprΓ€sentation Prototyp β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ Status: ⚑ WIRD GEDRUCKT β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 75% β”‚ β”‚ +β”‚ β”‚ 3:00 / 4:00 Stunden β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ πŸ–¨οΈ Drucker: Prusa i3 MK3S #1 β”‚ β”‚ +β”‚ β”‚ πŸ“… Gestartet: 16.06.2025 09:15 β”‚ β”‚ +β”‚ β”‚ ⏰ Fertig um: ~13:15 Uhr β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ +β”‚ β”‚ β”‚ πŸ“Ή Live Webcam Feed β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ [Aktuelles Bild vom Drucker] β”‚ β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ ⚑ Verbrauch: 45W 🌑️ Extruder: 210Β°C β”‚ β”‚ +β”‚ β”‚ πŸ›οΈ Bett: 60Β°C πŸ“ Layer: 180/240 β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ [⏸️ Pausieren] [🚨 Problem melden] β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β”‚ βœ… Weiterer Job: Ersatzteil Halterung β”‚ +β”‚ Status: πŸ“… Geplant fΓΌr morgen 10:00 β”‚ +β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## πŸ“§ E-Mail-Templates (Beispiele) + +### Genehmigung mit OTP +``` +Von: MYP System +An: max.mustermann@example.com +Betreff: βœ… Gastzugang genehmigt - Willkommen bei MYP! + +Hallo Max Mustermann, + +großartige Neuigkeiten! Ihr Gastzugang wurde genehmigt. + +πŸ”‘ Ihre Zugangsdaten: + E-Mail: max.mustermann@example.com + OTP-Code: 123456 + +⏰ GΓΌltig bis: 18. Juni 2025, 14:30 Uhr + +πŸš€ So geht's weiter: +1. Besuchen Sie: https://myp.tba-marienfelde.de/auth/guest +2. Geben Sie Ihre E-Mail und den OTP-Code ein +3. Laden Sie Ihre Druckdateien hoch +4. Warten Sie auf die Admin-Freigabe + +πŸ“‹ Wichtige Informationen: +β€’ Max. Druckzeit pro Job: 4 Stunden +β€’ UnterstΓΌtzte Formate: STL, OBJ, 3MF, GCODE +β€’ Materialien: PLA, PETG +β€’ Abholung: Mo-Fr 8:00-16:00, Raum B2.1 + +❓ Fragen? Antworten Sie einfach auf diese E-Mail. + +Viel Erfolg mit Ihrem Projekt! +Das MYP-Team +``` + +### Job fertig - Abholung +``` +Von: MYP System +An: max.mustermann@example.com +Betreff: πŸŽ‰ Druckauftrag fertig - Abholung mΓΆglich! + +Hallo Max Mustermann, + +Ihr Druckauftrag ist erfolgreich abgeschlossen! πŸŽ‰ + +πŸ“¦ Job-Details: + Name: KundenprΓ€sentation Prototyp + Fertiggestellt: 16.06.2025 um 13:15 Uhr + Druckdauer: 4:15 Stunden + Material: PLA, Grau + +πŸ“ Abholung: + Ort: TBA Marienfelde, Raum B2.1 + Γ–ffnungszeiten: Mo-Fr 8:00-16:00 Uhr + Lagerplatz: Regal B2.1-A3 + +⚠️ Wichtig: + - Bringen Sie einen Ausweis mit + - Abholung bis zum 23.06.2025 + - Danach wird das Objekt entsorgt + +πŸ“Έ Hier ist ein Foto Ihres fertigen Drucks: + [Bild des gedruckten Objekts] + +✨ Zufrieden? Wir freuen uns ΓΌber Ihr Feedback: + https://myp.tba-marienfelde.de/feedback/xyz123 + +Vielen Dank fΓΌr die Nutzung von MYP! +Das Team der TBA Marienfelde +``` + +--- + +## πŸŽ“ Schulungsplan (Empfehlung) + +### Modul 1: System-Überblick (15 Min) +- Was ist MYP? +- Zielgruppe und AnwendungsfΓ€lle +- Sicherheitskonzept +- **Praktisch:** Live-Demo der BenutzeroberflΓ€che + +### Modul 2: Gastzugang-Management (30 Min) +- Anfrageprozess verstehen +- Bewertungskriterien fΓΌr Genehmigungen +- OTP-System verwalten +- **Praktisch:** Anfrage bearbeiten und genehmigen + +### Modul 3: Job-Management (45 Min) +- Datei-Upload und Validierung +- Druckparameter beurteilen +- Drucker-Zuweisung optimieren +- **Praktisch:** Gast-Job von Anfang bis Ende begleiten + +### Modul 4: Monitoring und Problembehebung (20 Min) +- Live-Status ΓΌberwachen +- HΓ€ufige Probleme erkennen +- Eskalationswege +- **Praktisch:** Simulierte ProblemfΓ€lle lΓΆsen + +### Modul 5: Abholung und Nachbereitung (10 Min) +- Lagerorganisation +- Erinnerungen und Follow-up +- Dokumentation +- **Praktisch:** Abholungsprozess durchspielen + +**Gesamtdauer:** 2 Stunden +**Format:** 60% Theorie, 40% praktische Übungen +**Nachschulung:** Alle 6 Monate oder bei grâßeren Updates + +--- + +*Diese visuelle Workflow-Dokumentation ergΓ€nzt die detaillierte technische Dokumentation und eignet sich besonders fΓΌr PrΓ€sentationen und Schulungen.* \ No newline at end of file diff --git a/backend/database/myp.db b/backend/database/myp.db index 0f74645e7..41bb361b1 100644 Binary files a/backend/database/myp.db and b/backend/database/myp.db differ diff --git a/backend/database/myp.db-shm b/backend/database/myp.db-shm index bec0bfc9e..0b45a2fdb 100644 Binary files a/backend/database/myp.db-shm and b/backend/database/myp.db-shm differ diff --git a/backend/database/myp.db-wal b/backend/database/myp.db-wal index ed3ad3d08..1e8567135 100644 Binary files a/backend/database/myp.db-wal and b/backend/database/myp.db-wal differ diff --git a/backend/instance/sessions/00e0bc4802555c271dea621b885ca768_activity.pkl b/backend/instance/sessions/00e0bc4802555c271dea621b885ca768_activity.pkl new file mode 100644 index 000000000..347f56e3f Binary files /dev/null and b/backend/instance/sessions/00e0bc4802555c271dea621b885ca768_activity.pkl differ diff --git a/backend/instance/sessions/01e69f4349a69eef0d04ea7206e2868e_activity.pkl b/backend/instance/sessions/01e69f4349a69eef0d04ea7206e2868e_activity.pkl new file mode 100644 index 000000000..381c70225 Binary files /dev/null and b/backend/instance/sessions/01e69f4349a69eef0d04ea7206e2868e_activity.pkl differ diff --git a/backend/instance/sessions/03ee2306ab775bcc8ff57ce8be715596_activity.pkl b/backend/instance/sessions/03ee2306ab775bcc8ff57ce8be715596_activity.pkl new file mode 100644 index 000000000..fdbb0a8ae Binary files /dev/null and b/backend/instance/sessions/03ee2306ab775bcc8ff57ce8be715596_activity.pkl differ diff --git a/backend/instance/sessions/06901af74210182f795f65d2c8ff8213_activity.pkl b/backend/instance/sessions/06901af74210182f795f65d2c8ff8213_activity.pkl new file mode 100644 index 000000000..fad719ab7 Binary files /dev/null and b/backend/instance/sessions/06901af74210182f795f65d2c8ff8213_activity.pkl differ diff --git a/backend/instance/sessions/09c4676e3f9d19aadbb4d5226ce8cfa6_activity.pkl b/backend/instance/sessions/09c4676e3f9d19aadbb4d5226ce8cfa6_activity.pkl new file mode 100644 index 000000000..d68a4b018 Binary files /dev/null and b/backend/instance/sessions/09c4676e3f9d19aadbb4d5226ce8cfa6_activity.pkl differ diff --git a/backend/instance/sessions/0e817f1150cb08c9cdd783e436b086fb_activity.pkl b/backend/instance/sessions/0e817f1150cb08c9cdd783e436b086fb_activity.pkl new file mode 100644 index 000000000..5e132d843 Binary files /dev/null and b/backend/instance/sessions/0e817f1150cb08c9cdd783e436b086fb_activity.pkl differ diff --git a/backend/instance/sessions/0eb64a30349cb1450fdc912aca1261eb_activity.pkl b/backend/instance/sessions/0eb64a30349cb1450fdc912aca1261eb_activity.pkl new file mode 100644 index 000000000..0ea969daa Binary files /dev/null and b/backend/instance/sessions/0eb64a30349cb1450fdc912aca1261eb_activity.pkl differ diff --git a/backend/instance/sessions/0f63d7080e7ac1876a4c429ba54ee3ca_activity.pkl b/backend/instance/sessions/0f63d7080e7ac1876a4c429ba54ee3ca_activity.pkl new file mode 100644 index 000000000..06031a72e Binary files /dev/null and b/backend/instance/sessions/0f63d7080e7ac1876a4c429ba54ee3ca_activity.pkl differ diff --git a/backend/instance/sessions/14b5f82eb748c5996e76afa7aec1e865_activity.pkl b/backend/instance/sessions/14b5f82eb748c5996e76afa7aec1e865_activity.pkl new file mode 100644 index 000000000..4e40b43e3 Binary files /dev/null and b/backend/instance/sessions/14b5f82eb748c5996e76afa7aec1e865_activity.pkl differ diff --git a/backend/instance/sessions/16afe6b6445154b3a2f835d314923267_activity.pkl b/backend/instance/sessions/16afe6b6445154b3a2f835d314923267_activity.pkl new file mode 100644 index 000000000..a0946d2a2 Binary files /dev/null and b/backend/instance/sessions/16afe6b6445154b3a2f835d314923267_activity.pkl differ diff --git a/backend/instance/sessions/17882dd300923fc846b532417f2e1e69_activity.pkl b/backend/instance/sessions/17882dd300923fc846b532417f2e1e69_activity.pkl new file mode 100644 index 000000000..87ab24b1a Binary files /dev/null and b/backend/instance/sessions/17882dd300923fc846b532417f2e1e69_activity.pkl differ diff --git a/backend/instance/sessions/18c8d87fb5296a4d32950a0bcd1451a4_activity.pkl b/backend/instance/sessions/18c8d87fb5296a4d32950a0bcd1451a4_activity.pkl new file mode 100644 index 000000000..d40e24d71 Binary files /dev/null and b/backend/instance/sessions/18c8d87fb5296a4d32950a0bcd1451a4_activity.pkl differ diff --git a/backend/instance/sessions/1bb89c454626bad17d45d23154dc281a_activity.pkl b/backend/instance/sessions/1bb89c454626bad17d45d23154dc281a_activity.pkl new file mode 100644 index 000000000..92a349035 Binary files /dev/null and b/backend/instance/sessions/1bb89c454626bad17d45d23154dc281a_activity.pkl differ diff --git a/backend/instance/sessions/1c1aafdc84e3c0747a339782857afbb2_activity.pkl b/backend/instance/sessions/1c1aafdc84e3c0747a339782857afbb2_activity.pkl new file mode 100644 index 000000000..3ade14b0f Binary files /dev/null and b/backend/instance/sessions/1c1aafdc84e3c0747a339782857afbb2_activity.pkl differ diff --git a/backend/instance/sessions/1d4229db368fdc997e81bdf2254df90f_activity.pkl b/backend/instance/sessions/1d4229db368fdc997e81bdf2254df90f_activity.pkl new file mode 100644 index 000000000..1b3930075 Binary files /dev/null and b/backend/instance/sessions/1d4229db368fdc997e81bdf2254df90f_activity.pkl differ diff --git a/backend/instance/sessions/1f35e6cb99dad64ba6d9c390de2ab010_activity.pkl b/backend/instance/sessions/1f35e6cb99dad64ba6d9c390de2ab010_activity.pkl new file mode 100644 index 000000000..66c7f1d2b Binary files /dev/null and b/backend/instance/sessions/1f35e6cb99dad64ba6d9c390de2ab010_activity.pkl differ diff --git a/backend/instance/sessions/1f9d67e704565ad85c2a79411f6ed965_activity.pkl b/backend/instance/sessions/1f9d67e704565ad85c2a79411f6ed965_activity.pkl new file mode 100644 index 000000000..b53bde620 Binary files /dev/null and b/backend/instance/sessions/1f9d67e704565ad85c2a79411f6ed965_activity.pkl differ diff --git a/backend/instance/sessions/2450ce593a32fdfda14e645e7758d995_activity.pkl b/backend/instance/sessions/2450ce593a32fdfda14e645e7758d995_activity.pkl new file mode 100644 index 000000000..131c937e4 Binary files /dev/null and b/backend/instance/sessions/2450ce593a32fdfda14e645e7758d995_activity.pkl differ diff --git a/backend/instance/sessions/25b8850ac2fa85a3d34a89acaf518e0b_activity.pkl b/backend/instance/sessions/25b8850ac2fa85a3d34a89acaf518e0b_activity.pkl new file mode 100644 index 000000000..9b86ff7f9 Binary files /dev/null and b/backend/instance/sessions/25b8850ac2fa85a3d34a89acaf518e0b_activity.pkl differ diff --git a/backend/instance/sessions/2d0f444cb32c72d9ed6fd4fb527c8630_activity.pkl b/backend/instance/sessions/2d0f444cb32c72d9ed6fd4fb527c8630_activity.pkl new file mode 100644 index 000000000..cb246be27 Binary files /dev/null and b/backend/instance/sessions/2d0f444cb32c72d9ed6fd4fb527c8630_activity.pkl differ diff --git a/backend/instance/sessions/2e55bb5640e75927f17d72408ef136d0_activity.pkl b/backend/instance/sessions/2e55bb5640e75927f17d72408ef136d0_activity.pkl new file mode 100644 index 000000000..a42877cf2 Binary files /dev/null and b/backend/instance/sessions/2e55bb5640e75927f17d72408ef136d0_activity.pkl differ diff --git a/backend/instance/sessions/2ec47c4132c744bb5cfec44890075e97_activity.pkl b/backend/instance/sessions/2ec47c4132c744bb5cfec44890075e97_activity.pkl new file mode 100644 index 000000000..a65670d02 Binary files /dev/null and b/backend/instance/sessions/2ec47c4132c744bb5cfec44890075e97_activity.pkl differ diff --git a/backend/instance/sessions/2f2a805c71be540251337d9def852039_activity.pkl b/backend/instance/sessions/2f2a805c71be540251337d9def852039_activity.pkl new file mode 100644 index 000000000..f1ab503d4 Binary files /dev/null and b/backend/instance/sessions/2f2a805c71be540251337d9def852039_activity.pkl differ diff --git a/backend/instance/sessions/33e7a7d5fa0656600e1cda4eae8bcfee_activity.pkl b/backend/instance/sessions/33e7a7d5fa0656600e1cda4eae8bcfee_activity.pkl new file mode 100644 index 000000000..651eb669d Binary files /dev/null and b/backend/instance/sessions/33e7a7d5fa0656600e1cda4eae8bcfee_activity.pkl differ diff --git a/backend/instance/sessions/354aa254b0349cb5aa997d7d1bbe2637_activity.pkl b/backend/instance/sessions/354aa254b0349cb5aa997d7d1bbe2637_activity.pkl new file mode 100644 index 000000000..5b8863262 Binary files /dev/null and b/backend/instance/sessions/354aa254b0349cb5aa997d7d1bbe2637_activity.pkl differ diff --git a/backend/instance/sessions/384f3b407884f683e92c6def52002e48_activity.pkl b/backend/instance/sessions/384f3b407884f683e92c6def52002e48_activity.pkl new file mode 100644 index 000000000..2911efc04 Binary files /dev/null and b/backend/instance/sessions/384f3b407884f683e92c6def52002e48_activity.pkl differ diff --git a/backend/instance/sessions/38b2a5f503e66728f9f5698643f5d0b1_activity.pkl b/backend/instance/sessions/38b2a5f503e66728f9f5698643f5d0b1_activity.pkl new file mode 100644 index 000000000..5503ef45c Binary files /dev/null and b/backend/instance/sessions/38b2a5f503e66728f9f5698643f5d0b1_activity.pkl differ diff --git a/backend/instance/sessions/3a41208766cf3b7fd65b8e9085c927cd_activity.pkl b/backend/instance/sessions/3a41208766cf3b7fd65b8e9085c927cd_activity.pkl new file mode 100644 index 000000000..b803d3bbd Binary files /dev/null and b/backend/instance/sessions/3a41208766cf3b7fd65b8e9085c927cd_activity.pkl differ diff --git a/backend/instance/sessions/3d72ab07e20b8b24b7fd793568d63a7e_activity.pkl b/backend/instance/sessions/3d72ab07e20b8b24b7fd793568d63a7e_activity.pkl new file mode 100644 index 000000000..67b1f7ad0 Binary files /dev/null and b/backend/instance/sessions/3d72ab07e20b8b24b7fd793568d63a7e_activity.pkl differ diff --git a/backend/instance/sessions/3e44946dbc77ec2ac46a3bca08d29a87_activity.pkl b/backend/instance/sessions/3e44946dbc77ec2ac46a3bca08d29a87_activity.pkl new file mode 100644 index 000000000..a45811a48 Binary files /dev/null and b/backend/instance/sessions/3e44946dbc77ec2ac46a3bca08d29a87_activity.pkl differ diff --git a/backend/instance/sessions/4286e1f75b5abfe86aa8c6ef9cb8f01d_activity.pkl b/backend/instance/sessions/4286e1f75b5abfe86aa8c6ef9cb8f01d_activity.pkl new file mode 100644 index 000000000..a45ab0ced Binary files /dev/null and b/backend/instance/sessions/4286e1f75b5abfe86aa8c6ef9cb8f01d_activity.pkl differ diff --git a/backend/instance/sessions/4817c16b02048e6b8141a15afe842a7b_activity.pkl b/backend/instance/sessions/4817c16b02048e6b8141a15afe842a7b_activity.pkl new file mode 100644 index 000000000..f90c1c805 Binary files /dev/null and b/backend/instance/sessions/4817c16b02048e6b8141a15afe842a7b_activity.pkl differ diff --git a/backend/instance/sessions/4c08142fd963038d3bb4df5a7fc5bcf6_activity.pkl b/backend/instance/sessions/4c08142fd963038d3bb4df5a7fc5bcf6_activity.pkl new file mode 100644 index 000000000..9607e5ea5 Binary files /dev/null and b/backend/instance/sessions/4c08142fd963038d3bb4df5a7fc5bcf6_activity.pkl differ diff --git a/backend/instance/sessions/5842a8fcedb5df35ab86ea0bb7f778a2_activity.pkl b/backend/instance/sessions/5842a8fcedb5df35ab86ea0bb7f778a2_activity.pkl new file mode 100644 index 000000000..4b0d2a21f Binary files /dev/null and b/backend/instance/sessions/5842a8fcedb5df35ab86ea0bb7f778a2_activity.pkl differ diff --git a/backend/instance/sessions/5f7e655efaa102d304de1a7f35489438_activity.pkl b/backend/instance/sessions/5f7e655efaa102d304de1a7f35489438_activity.pkl new file mode 100644 index 000000000..78d2b5885 Binary files /dev/null and b/backend/instance/sessions/5f7e655efaa102d304de1a7f35489438_activity.pkl differ diff --git a/backend/instance/sessions/61fb280f7ae790d7f681515848fcf732_activity.pkl b/backend/instance/sessions/61fb280f7ae790d7f681515848fcf732_activity.pkl new file mode 100644 index 000000000..46669a0c0 Binary files /dev/null and b/backend/instance/sessions/61fb280f7ae790d7f681515848fcf732_activity.pkl differ diff --git a/backend/instance/sessions/653feb523e6191f8efa612275c9f031e_activity.pkl b/backend/instance/sessions/653feb523e6191f8efa612275c9f031e_activity.pkl new file mode 100644 index 000000000..12eb71072 Binary files /dev/null and b/backend/instance/sessions/653feb523e6191f8efa612275c9f031e_activity.pkl differ diff --git a/backend/instance/sessions/66266437d3ad3c4b02d27fb2832282b8_activity.pkl b/backend/instance/sessions/66266437d3ad3c4b02d27fb2832282b8_activity.pkl new file mode 100644 index 000000000..45afc64a0 Binary files /dev/null and b/backend/instance/sessions/66266437d3ad3c4b02d27fb2832282b8_activity.pkl differ diff --git a/backend/instance/sessions/678c00979ff8107042ef81dc7c8d0201_activity.pkl b/backend/instance/sessions/678c00979ff8107042ef81dc7c8d0201_activity.pkl new file mode 100644 index 000000000..3d055b86d Binary files /dev/null and b/backend/instance/sessions/678c00979ff8107042ef81dc7c8d0201_activity.pkl differ diff --git a/backend/instance/sessions/678fbad64ed384feb7ea863d611251d3_activity.pkl b/backend/instance/sessions/678fbad64ed384feb7ea863d611251d3_activity.pkl new file mode 100644 index 000000000..999681a19 Binary files /dev/null and b/backend/instance/sessions/678fbad64ed384feb7ea863d611251d3_activity.pkl differ diff --git a/backend/instance/sessions/67d047f42ab662c1b60a225b8d14f8d1_activity.pkl b/backend/instance/sessions/67d047f42ab662c1b60a225b8d14f8d1_activity.pkl new file mode 100644 index 000000000..362ef7d2f Binary files /dev/null and b/backend/instance/sessions/67d047f42ab662c1b60a225b8d14f8d1_activity.pkl differ diff --git a/backend/instance/sessions/683d635d2e448ab6ce3f0e48ffc97341_activity.pkl b/backend/instance/sessions/683d635d2e448ab6ce3f0e48ffc97341_activity.pkl new file mode 100644 index 000000000..1335544dd Binary files /dev/null and b/backend/instance/sessions/683d635d2e448ab6ce3f0e48ffc97341_activity.pkl differ diff --git a/backend/instance/sessions/68cd079a056eed4afd468cdffefc37d1_activity.pkl b/backend/instance/sessions/68cd079a056eed4afd468cdffefc37d1_activity.pkl new file mode 100644 index 000000000..e333f29a2 Binary files /dev/null and b/backend/instance/sessions/68cd079a056eed4afd468cdffefc37d1_activity.pkl differ diff --git a/backend/instance/sessions/6c52527b22358085102b82604276e613_activity.pkl b/backend/instance/sessions/6c52527b22358085102b82604276e613_activity.pkl new file mode 100644 index 000000000..5d4029409 Binary files /dev/null and b/backend/instance/sessions/6c52527b22358085102b82604276e613_activity.pkl differ diff --git a/backend/instance/sessions/6d3f4538b6458a326b156827b1585f07_activity.pkl b/backend/instance/sessions/6d3f4538b6458a326b156827b1585f07_activity.pkl new file mode 100644 index 000000000..c8b58a470 Binary files /dev/null and b/backend/instance/sessions/6d3f4538b6458a326b156827b1585f07_activity.pkl differ diff --git a/backend/instance/sessions/6ddb7df78a7bd770257dfdbeed149c98_activity.pkl b/backend/instance/sessions/6ddb7df78a7bd770257dfdbeed149c98_activity.pkl new file mode 100644 index 000000000..aee596589 Binary files /dev/null and b/backend/instance/sessions/6ddb7df78a7bd770257dfdbeed149c98_activity.pkl differ diff --git a/backend/instance/sessions/70d15039cec4245e5c4e62ad0ef54737_activity.pkl b/backend/instance/sessions/70d15039cec4245e5c4e62ad0ef54737_activity.pkl new file mode 100644 index 000000000..370df9ac2 Binary files /dev/null and b/backend/instance/sessions/70d15039cec4245e5c4e62ad0ef54737_activity.pkl differ diff --git a/backend/instance/sessions/784376aacd2b78189a11795622214c1c_activity.pkl b/backend/instance/sessions/784376aacd2b78189a11795622214c1c_activity.pkl new file mode 100644 index 000000000..9e054c218 Binary files /dev/null and b/backend/instance/sessions/784376aacd2b78189a11795622214c1c_activity.pkl differ diff --git a/backend/instance/sessions/7eb579a319f99ba17407acede852ba3b_activity.pkl b/backend/instance/sessions/7eb579a319f99ba17407acede852ba3b_activity.pkl new file mode 100644 index 000000000..9ab6ac132 Binary files /dev/null and b/backend/instance/sessions/7eb579a319f99ba17407acede852ba3b_activity.pkl differ diff --git a/backend/instance/sessions/823a7bd9ca79dcddd4331569cdebe9af_activity.pkl b/backend/instance/sessions/823a7bd9ca79dcddd4331569cdebe9af_activity.pkl new file mode 100644 index 000000000..10d34e798 Binary files /dev/null and b/backend/instance/sessions/823a7bd9ca79dcddd4331569cdebe9af_activity.pkl differ diff --git a/backend/instance/sessions/83ff8d3a246d93b5fec778406ec7f0eb_activity.pkl b/backend/instance/sessions/83ff8d3a246d93b5fec778406ec7f0eb_activity.pkl new file mode 100644 index 000000000..1e30aa51c Binary files /dev/null and b/backend/instance/sessions/83ff8d3a246d93b5fec778406ec7f0eb_activity.pkl differ diff --git a/backend/instance/sessions/844efc3924b11334337708f410e64c76_activity.pkl b/backend/instance/sessions/844efc3924b11334337708f410e64c76_activity.pkl new file mode 100644 index 000000000..d838e9a4a Binary files /dev/null and b/backend/instance/sessions/844efc3924b11334337708f410e64c76_activity.pkl differ diff --git a/backend/instance/sessions/88dc6e6e1c6cd6b8fb5cdc536814d350_activity.pkl b/backend/instance/sessions/88dc6e6e1c6cd6b8fb5cdc536814d350_activity.pkl new file mode 100644 index 000000000..7ce10350d Binary files /dev/null and b/backend/instance/sessions/88dc6e6e1c6cd6b8fb5cdc536814d350_activity.pkl differ diff --git a/backend/instance/sessions/89805da50f418bf3888753c8453b5c42_activity.pkl b/backend/instance/sessions/89805da50f418bf3888753c8453b5c42_activity.pkl new file mode 100644 index 000000000..50d35c8dc Binary files /dev/null and b/backend/instance/sessions/89805da50f418bf3888753c8453b5c42_activity.pkl differ diff --git a/backend/instance/sessions/89af680c6eaaca20a773a870a399e6b6_activity.pkl b/backend/instance/sessions/89af680c6eaaca20a773a870a399e6b6_activity.pkl new file mode 100644 index 000000000..1eadb0794 Binary files /dev/null and b/backend/instance/sessions/89af680c6eaaca20a773a870a399e6b6_activity.pkl differ diff --git a/backend/instance/sessions/90ffd55fc335d2835c2ee4d490d68c2b_activity.pkl b/backend/instance/sessions/90ffd55fc335d2835c2ee4d490d68c2b_activity.pkl new file mode 100644 index 000000000..a3c357cbf Binary files /dev/null and b/backend/instance/sessions/90ffd55fc335d2835c2ee4d490d68c2b_activity.pkl differ diff --git a/backend/instance/sessions/91c3ac7945e00237b2eb5fd1424bdad3_activity.pkl b/backend/instance/sessions/91c3ac7945e00237b2eb5fd1424bdad3_activity.pkl new file mode 100644 index 000000000..889038bee Binary files /dev/null and b/backend/instance/sessions/91c3ac7945e00237b2eb5fd1424bdad3_activity.pkl differ diff --git a/backend/instance/sessions/92ca58519307ea54b9470e99ee68deb9_activity.pkl b/backend/instance/sessions/92ca58519307ea54b9470e99ee68deb9_activity.pkl new file mode 100644 index 000000000..48d4a3d94 Binary files /dev/null and b/backend/instance/sessions/92ca58519307ea54b9470e99ee68deb9_activity.pkl differ diff --git a/backend/instance/sessions/95f3f974e451e359f8844c698240a2ad_activity.pkl b/backend/instance/sessions/95f3f974e451e359f8844c698240a2ad_activity.pkl new file mode 100644 index 000000000..d3881abce Binary files /dev/null and b/backend/instance/sessions/95f3f974e451e359f8844c698240a2ad_activity.pkl differ diff --git a/backend/instance/sessions/96751cb36e6475ac0bd69d80f2507ab6_activity.pkl b/backend/instance/sessions/96751cb36e6475ac0bd69d80f2507ab6_activity.pkl new file mode 100644 index 000000000..4a08d3027 Binary files /dev/null and b/backend/instance/sessions/96751cb36e6475ac0bd69d80f2507ab6_activity.pkl differ diff --git a/backend/instance/sessions/9a3581df146fcc5228f0674a6de65662_activity.pkl b/backend/instance/sessions/9a3581df146fcc5228f0674a6de65662_activity.pkl new file mode 100644 index 000000000..da404ba60 Binary files /dev/null and b/backend/instance/sessions/9a3581df146fcc5228f0674a6de65662_activity.pkl differ diff --git a/backend/instance/sessions/a32ed8d0d54d1af0a1135343b570b4b8_activity.pkl b/backend/instance/sessions/a32ed8d0d54d1af0a1135343b570b4b8_activity.pkl new file mode 100644 index 000000000..149adf0c1 Binary files /dev/null and b/backend/instance/sessions/a32ed8d0d54d1af0a1135343b570b4b8_activity.pkl differ diff --git a/backend/instance/sessions/a73ab46d06cb210fe655133a28274c9f_activity.pkl b/backend/instance/sessions/a73ab46d06cb210fe655133a28274c9f_activity.pkl new file mode 100644 index 000000000..e4840ab50 Binary files /dev/null and b/backend/instance/sessions/a73ab46d06cb210fe655133a28274c9f_activity.pkl differ diff --git a/backend/instance/sessions/ab3cb91a28f55d4493d8b47fc20051d3_activity.pkl b/backend/instance/sessions/ab3cb91a28f55d4493d8b47fc20051d3_activity.pkl new file mode 100644 index 000000000..24dd131e0 Binary files /dev/null and b/backend/instance/sessions/ab3cb91a28f55d4493d8b47fc20051d3_activity.pkl differ diff --git a/backend/instance/sessions/abacd5d8575db1198ef32fa3aa8c2aac_activity.pkl b/backend/instance/sessions/abacd5d8575db1198ef32fa3aa8c2aac_activity.pkl new file mode 100644 index 000000000..0b38e943a Binary files /dev/null and b/backend/instance/sessions/abacd5d8575db1198ef32fa3aa8c2aac_activity.pkl differ diff --git a/backend/instance/sessions/acd26985541b02aa9d9c392454861e0c_activity.pkl b/backend/instance/sessions/acd26985541b02aa9d9c392454861e0c_activity.pkl new file mode 100644 index 000000000..5902a32c8 Binary files /dev/null and b/backend/instance/sessions/acd26985541b02aa9d9c392454861e0c_activity.pkl differ diff --git a/backend/instance/sessions/ace6557c75be5a6424dc4978e168e648_activity.pkl b/backend/instance/sessions/ace6557c75be5a6424dc4978e168e648_activity.pkl new file mode 100644 index 000000000..fc038cfdd Binary files /dev/null and b/backend/instance/sessions/ace6557c75be5a6424dc4978e168e648_activity.pkl differ diff --git a/backend/instance/sessions/b53580260a002d0badd4bad142b532f1_activity.pkl b/backend/instance/sessions/b53580260a002d0badd4bad142b532f1_activity.pkl new file mode 100644 index 000000000..c23f2dc94 Binary files /dev/null and b/backend/instance/sessions/b53580260a002d0badd4bad142b532f1_activity.pkl differ diff --git a/backend/instance/sessions/b67337c98bdb5646bb4d24daf8b12813_activity.pkl b/backend/instance/sessions/b67337c98bdb5646bb4d24daf8b12813_activity.pkl new file mode 100644 index 000000000..8d51a5377 Binary files /dev/null and b/backend/instance/sessions/b67337c98bdb5646bb4d24daf8b12813_activity.pkl differ diff --git a/backend/instance/sessions/b9427f4c069273f9355273582319b6e8_activity.pkl b/backend/instance/sessions/b9427f4c069273f9355273582319b6e8_activity.pkl new file mode 100644 index 000000000..c38375ca8 Binary files /dev/null and b/backend/instance/sessions/b9427f4c069273f9355273582319b6e8_activity.pkl differ diff --git a/backend/instance/sessions/ba815a8ad75e459aad14c92c104147ad_activity.pkl b/backend/instance/sessions/ba815a8ad75e459aad14c92c104147ad_activity.pkl new file mode 100644 index 000000000..93edfc812 Binary files /dev/null and b/backend/instance/sessions/ba815a8ad75e459aad14c92c104147ad_activity.pkl differ diff --git a/backend/instance/sessions/bed1dfe8e5fb97069232ab56480922ce_activity.pkl b/backend/instance/sessions/bed1dfe8e5fb97069232ab56480922ce_activity.pkl new file mode 100644 index 000000000..5ed32b8da Binary files /dev/null and b/backend/instance/sessions/bed1dfe8e5fb97069232ab56480922ce_activity.pkl differ diff --git a/backend/instance/sessions/c34425fded35efa26fd753c505079c28_activity.pkl b/backend/instance/sessions/c34425fded35efa26fd753c505079c28_activity.pkl new file mode 100644 index 000000000..eff3c2cd4 Binary files /dev/null and b/backend/instance/sessions/c34425fded35efa26fd753c505079c28_activity.pkl differ diff --git a/backend/instance/sessions/c50d495faefcffe5db7fddabc1ff7a0b_activity.pkl b/backend/instance/sessions/c50d495faefcffe5db7fddabc1ff7a0b_activity.pkl new file mode 100644 index 000000000..93021702a Binary files /dev/null and b/backend/instance/sessions/c50d495faefcffe5db7fddabc1ff7a0b_activity.pkl differ diff --git a/backend/instance/sessions/c6fd0c02dfc67e3671119670a49dded3_activity.pkl b/backend/instance/sessions/c6fd0c02dfc67e3671119670a49dded3_activity.pkl new file mode 100644 index 000000000..98b0b7dfa Binary files /dev/null and b/backend/instance/sessions/c6fd0c02dfc67e3671119670a49dded3_activity.pkl differ diff --git a/backend/instance/sessions/ccf978a1d67454e6d751841f51815941_activity.pkl b/backend/instance/sessions/ccf978a1d67454e6d751841f51815941_activity.pkl new file mode 100644 index 000000000..8db5fec53 Binary files /dev/null and b/backend/instance/sessions/ccf978a1d67454e6d751841f51815941_activity.pkl differ diff --git a/backend/instance/sessions/d22683ddca4091005a5041bf3ec71567_activity.pkl b/backend/instance/sessions/d22683ddca4091005a5041bf3ec71567_activity.pkl new file mode 100644 index 000000000..a49f463f8 Binary files /dev/null and b/backend/instance/sessions/d22683ddca4091005a5041bf3ec71567_activity.pkl differ diff --git a/backend/instance/sessions/d2d6f5bcf5e725d3abc1cc3e52983747_activity.pkl b/backend/instance/sessions/d2d6f5bcf5e725d3abc1cc3e52983747_activity.pkl new file mode 100644 index 000000000..d9d96db91 Binary files /dev/null and b/backend/instance/sessions/d2d6f5bcf5e725d3abc1cc3e52983747_activity.pkl differ diff --git a/backend/instance/sessions/d3202b8d6002c7de4bac853a861197e7_activity.pkl b/backend/instance/sessions/d3202b8d6002c7de4bac853a861197e7_activity.pkl new file mode 100644 index 000000000..7f15f738e Binary files /dev/null and b/backend/instance/sessions/d3202b8d6002c7de4bac853a861197e7_activity.pkl differ diff --git a/backend/instance/sessions/d55d2ace3e573195096d80d100b934ea_activity.pkl b/backend/instance/sessions/d55d2ace3e573195096d80d100b934ea_activity.pkl new file mode 100644 index 000000000..77e28f867 Binary files /dev/null and b/backend/instance/sessions/d55d2ace3e573195096d80d100b934ea_activity.pkl differ diff --git a/backend/instance/sessions/d7b3c8fedaeca28ee76ec14faf22f646_activity.pkl b/backend/instance/sessions/d7b3c8fedaeca28ee76ec14faf22f646_activity.pkl new file mode 100644 index 000000000..38df41642 Binary files /dev/null and b/backend/instance/sessions/d7b3c8fedaeca28ee76ec14faf22f646_activity.pkl differ diff --git a/backend/instance/sessions/defdc9c9960aab521fb52bf06a8d39d0_activity.pkl b/backend/instance/sessions/defdc9c9960aab521fb52bf06a8d39d0_activity.pkl new file mode 100644 index 000000000..9d2f73489 Binary files /dev/null and b/backend/instance/sessions/defdc9c9960aab521fb52bf06a8d39d0_activity.pkl differ diff --git a/backend/instance/sessions/df4392304756c76568ea57303c3c6ad3_activity.pkl b/backend/instance/sessions/df4392304756c76568ea57303c3c6ad3_activity.pkl new file mode 100644 index 000000000..86534f9b6 Binary files /dev/null and b/backend/instance/sessions/df4392304756c76568ea57303c3c6ad3_activity.pkl differ diff --git a/backend/instance/sessions/df47269b932109ba592c7ffc88e5f975_activity.pkl b/backend/instance/sessions/df47269b932109ba592c7ffc88e5f975_activity.pkl new file mode 100644 index 000000000..5de45d8f9 Binary files /dev/null and b/backend/instance/sessions/df47269b932109ba592c7ffc88e5f975_activity.pkl differ diff --git a/backend/instance/sessions/e051c31540c035cd7b1154162cf5b0d0_activity.pkl b/backend/instance/sessions/e051c31540c035cd7b1154162cf5b0d0_activity.pkl new file mode 100644 index 000000000..11f5657c5 Binary files /dev/null and b/backend/instance/sessions/e051c31540c035cd7b1154162cf5b0d0_activity.pkl differ diff --git a/backend/instance/sessions/e145d2d965b9467702979e1354d7c6a9_activity.pkl b/backend/instance/sessions/e145d2d965b9467702979e1354d7c6a9_activity.pkl new file mode 100644 index 000000000..df4e7760e Binary files /dev/null and b/backend/instance/sessions/e145d2d965b9467702979e1354d7c6a9_activity.pkl differ diff --git a/backend/instance/sessions/e48b309994d46fd0b6f65f8393061a21_activity.pkl b/backend/instance/sessions/e48b309994d46fd0b6f65f8393061a21_activity.pkl new file mode 100644 index 000000000..8c346d349 Binary files /dev/null and b/backend/instance/sessions/e48b309994d46fd0b6f65f8393061a21_activity.pkl differ diff --git a/backend/instance/sessions/e48b5ff278267c9630603b401ad93b98_activity.pkl b/backend/instance/sessions/e48b5ff278267c9630603b401ad93b98_activity.pkl new file mode 100644 index 000000000..8b2100782 Binary files /dev/null and b/backend/instance/sessions/e48b5ff278267c9630603b401ad93b98_activity.pkl differ diff --git a/backend/instance/sessions/e53d3d7683d9e8df24f123648fe95428_activity.pkl b/backend/instance/sessions/e53d3d7683d9e8df24f123648fe95428_activity.pkl new file mode 100644 index 000000000..469fee135 Binary files /dev/null and b/backend/instance/sessions/e53d3d7683d9e8df24f123648fe95428_activity.pkl differ diff --git a/backend/instance/sessions/e5f01e4a019bd22761f81ff79ca74d80_activity.pkl b/backend/instance/sessions/e5f01e4a019bd22761f81ff79ca74d80_activity.pkl new file mode 100644 index 000000000..d9678b602 Binary files /dev/null and b/backend/instance/sessions/e5f01e4a019bd22761f81ff79ca74d80_activity.pkl differ diff --git a/backend/instance/sessions/e6f7150aaa0d64d52a72a18972f4c495_activity.pkl b/backend/instance/sessions/e6f7150aaa0d64d52a72a18972f4c495_activity.pkl new file mode 100644 index 000000000..fd90f3c2c Binary files /dev/null and b/backend/instance/sessions/e6f7150aaa0d64d52a72a18972f4c495_activity.pkl differ diff --git a/backend/instance/sessions/e7bf849d5269faa8f19dd598647867af_activity.pkl b/backend/instance/sessions/e7bf849d5269faa8f19dd598647867af_activity.pkl new file mode 100644 index 000000000..b1ed1158f Binary files /dev/null and b/backend/instance/sessions/e7bf849d5269faa8f19dd598647867af_activity.pkl differ diff --git a/backend/instance/sessions/e8b5dde4c683857c0a3ed0d8fac21f98_activity.pkl b/backend/instance/sessions/e8b5dde4c683857c0a3ed0d8fac21f98_activity.pkl new file mode 100644 index 000000000..08c212b13 Binary files /dev/null and b/backend/instance/sessions/e8b5dde4c683857c0a3ed0d8fac21f98_activity.pkl differ diff --git a/backend/instance/sessions/e93ba7a93f12814b8bad57c1dde039a6_activity.pkl b/backend/instance/sessions/e93ba7a93f12814b8bad57c1dde039a6_activity.pkl new file mode 100644 index 000000000..a37eb8e9b Binary files /dev/null and b/backend/instance/sessions/e93ba7a93f12814b8bad57c1dde039a6_activity.pkl differ diff --git a/backend/instance/sessions/e9db4314bdb7096bcbc2f73e04e31d04_activity.pkl b/backend/instance/sessions/e9db4314bdb7096bcbc2f73e04e31d04_activity.pkl new file mode 100644 index 000000000..958fcddb4 Binary files /dev/null and b/backend/instance/sessions/e9db4314bdb7096bcbc2f73e04e31d04_activity.pkl differ diff --git a/backend/instance/sessions/eb5c5c95d5c3829a31d5052bda5fe3e0_activity.pkl b/backend/instance/sessions/eb5c5c95d5c3829a31d5052bda5fe3e0_activity.pkl new file mode 100644 index 000000000..0b9335bc6 Binary files /dev/null and b/backend/instance/sessions/eb5c5c95d5c3829a31d5052bda5fe3e0_activity.pkl differ diff --git a/backend/instance/sessions/ef1d68d16daa9e9d7dfd2ba9e6e7b3d1_activity.pkl b/backend/instance/sessions/ef1d68d16daa9e9d7dfd2ba9e6e7b3d1_activity.pkl new file mode 100644 index 000000000..c4c93fc56 Binary files /dev/null and b/backend/instance/sessions/ef1d68d16daa9e9d7dfd2ba9e6e7b3d1_activity.pkl differ diff --git a/backend/instance/sessions/ef5ddd13e6515fa82ce6e04e46b01e65_activity.pkl b/backend/instance/sessions/ef5ddd13e6515fa82ce6e04e46b01e65_activity.pkl new file mode 100644 index 000000000..11af36b51 Binary files /dev/null and b/backend/instance/sessions/ef5ddd13e6515fa82ce6e04e46b01e65_activity.pkl differ diff --git a/backend/instance/sessions/f02c122d4949de2513693278ea15df9d_activity.pkl b/backend/instance/sessions/f02c122d4949de2513693278ea15df9d_activity.pkl new file mode 100644 index 000000000..49681a547 Binary files /dev/null and b/backend/instance/sessions/f02c122d4949de2513693278ea15df9d_activity.pkl differ diff --git a/backend/instance/sessions/f224e4b2f40b1043ea13ebd271872bc0_activity.pkl b/backend/instance/sessions/f224e4b2f40b1043ea13ebd271872bc0_activity.pkl new file mode 100644 index 000000000..d708cdc97 Binary files /dev/null and b/backend/instance/sessions/f224e4b2f40b1043ea13ebd271872bc0_activity.pkl differ diff --git a/backend/instance/sessions/f5c03e6c310bc8e4b0a1cc1e68e791b9_activity.pkl b/backend/instance/sessions/f5c03e6c310bc8e4b0a1cc1e68e791b9_activity.pkl new file mode 100644 index 000000000..c79803970 Binary files /dev/null and b/backend/instance/sessions/f5c03e6c310bc8e4b0a1cc1e68e791b9_activity.pkl differ diff --git a/backend/instance/sessions/f9fc54b2a91a6cacce5a64ae93f2a913_activity.pkl b/backend/instance/sessions/f9fc54b2a91a6cacce5a64ae93f2a913_activity.pkl new file mode 100644 index 000000000..8cc519f71 Binary files /dev/null and b/backend/instance/sessions/f9fc54b2a91a6cacce5a64ae93f2a913_activity.pkl differ diff --git a/backend/logs/admin/admin.log b/backend/logs/admin/admin.log index 515936a73..7594af5a7 100644 --- a/backend/logs/admin/admin.log +++ b/backend/logs/admin/admin.log @@ -284,3 +284,13 @@ 2025-06-16 01:01:20 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion api_admin_system_health_alias: User authenticated: True, User ID: 1, Is Admin: True 2025-06-16 01:01:20 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True 2025-06-16 01:01:23 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion guest_requests: User authenticated: True, User ID: 1, Is Admin: True +2025-06-16 01:07:00 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion api_admin_system_health_alias: User authenticated: True, User ID: 1, Is Admin: True +2025-06-16 01:07:00 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-16 01:07:03 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-16 01:07:03 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-16 01:07:16 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-16 01:07:46 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion tapo_monitoring: User authenticated: True, User ID: 1, Is Admin: True +2025-06-16 01:07:46 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin +2025-06-16 01:07:59 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-16 01:08:01 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion api_admin_system_health_alias: User authenticated: True, User ID: 1, Is Admin: True +2025-06-16 01:08:01 - [admin] admin - [INFO] INFO - Admin-Check fΓΌr Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True diff --git a/backend/logs/admin_api/admin_api.log b/backend/logs/admin_api/admin_api.log index 183491e73..2bb8b7009 100644 --- a/backend/logs/admin_api/admin_api.log +++ b/backend/logs/admin_api/admin_api.log @@ -92,3 +92,7 @@ 2025-06-16 00:53:09 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical 2025-06-16 01:01:20 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') 2025-06-16 01:01:20 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgefΓΌhrt: unhealthy +2025-06-16 01:07:00 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-16 01:07:00 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgefΓΌhrt: unhealthy +2025-06-16 01:08:01 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-16 01:08:01 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgefΓΌhrt: unhealthy diff --git a/backend/logs/api/api.log b/backend/logs/api/api.log index 6a64aa4ce..637d079d6 100644 --- a/backend/logs/api/api.log +++ b/backend/logs/api/api.log @@ -28,3 +28,5 @@ 2025-06-16 00:52:38 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin 2025-06-16 00:53:08 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin 2025-06-16 01:01:20 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin +2025-06-16 01:07:00 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin +2025-06-16 01:08:01 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index 417e8e39a..4ad10fc7e 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -36458,3 +36458,485 @@ jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined 2025-06-16 01:04:11 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... 2025-06-16 01:04:11 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet 2025-06-16 01:04:11 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-16 01:04:36 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-16 01:04:37 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-16 01:04:37 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-16 01:04:37 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgefΓΌhrt... +2025-06-16 01:04:37 - [app] app - [INFO] INFO - [SHUTDOWN] βœ… Queue Manager gestoppt +2025-06-16 01:04:37 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown' +2025-06-16 01:04:39 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-16 01:04:39 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-16 01:04:39 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:04:39 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:04:39 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:04:41 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:04:41 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:04:41 - [app] app - [DEBUG] DEBUG - Request: GET / +2025-06-16 01:04:41 - [app] app - [DEBUG] DEBUG - Response: 302 +2025-06-16 01:04:41 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard +2025-06-16 01:04:41 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:04:41 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-512.png +2025-06-16 01:04:41 - [app] app - [INFO] INFO - Locating template 'errors/404.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/errors/404.html') +2025-06-16 01:04:57 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-16 01:04:58 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-16 01:04:58 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-16 01:04:58 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgefΓΌhrt... +2025-06-16 01:04:58 - [app] app - [INFO] INFO - [SHUTDOWN] βœ… Queue Manager gestoppt +2025-06-16 01:04:58 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown' +2025-06-16 01:05:09 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:05:10 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:05:38 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-16 01:05:38 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-16 01:05:38 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-16 01:05:39 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-16 01:05:39 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgefΓΌhrt... +2025-06-16 01:05:39 - [app] app - [INFO] INFO - [SHUTDOWN] βœ… Queue Manager gestoppt +2025-06-16 01:05:39 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown' +2025-06-16 01:05:39 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:05:39 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:05:57 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgefΓΌhrt... +2025-06-16 01:05:57 - [app] app - [INFO] INFO - [SHUTDOWN] βœ… Queue Manager gestoppt +2025-06-16 01:05:57 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown' +2025-06-16 01:06:01 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-16 01:06:01 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-16 01:06:01 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-16 01:06:01 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-16 01:06:01 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-16 01:06:02 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-16 01:06:02 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-16 01:06:02 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-16 01:06:02 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-16 01:06:02 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-16 01:06:03 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-16 01:06:03 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-16 01:06:03 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-16 01:06:03 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-16 01:06:04 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-16 01:06:04 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-16 01:06:04 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:06:05 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Request: GET /printers +2025-06-16 01:06:06 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/printers.html') +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-16 01:06:06 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=False) +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:06 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=False) +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:06:06 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:06:08 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:06:08 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Request: GET /jobs +2025-06-16 01:06:10 - [app] app - [INFO] INFO - Locating template 'jobs.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/jobs.html') +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-16 01:06:10 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=False) +2025-06-16 01:06:10 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:12 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:06:12 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:06:14 - [app] app - [DEBUG] DEBUG - Request: DELETE /api/jobs/2 +2025-06-16 01:06:14 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-16 01:06:17 - [app] app - [DEBUG] DEBUG - Request: GET /jobs +2025-06-16 01:06:17 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:17 - [app] app - [DEBUG] DEBUG - Request: GET /.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:17 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:17 - [app] app - [INFO] INFO - Locating template 'errors/404.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/errors/404.html') +2025-06-16 01:06:17 - [app] app - [DEBUG] DEBUG - Response: 404 +2025-06-16 01:06:40 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:06:40 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs +2025-06-16 01:06:40 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:40 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:44 - [app] app - [DEBUG] DEBUG - Request: GET /.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:44 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:44 - [app] app - [DEBUG] DEBUG - Response: 404 +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/dashboard +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/statistics +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/live +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:45 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:47 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:06:47 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:06:51 - [app] app - [DEBUG] DEBUG - Request: GET /stats +2025-06-16 01:06:51 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/stats.html') +2025-06-16 01:06:51 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:51 - [app] app - [DEBUG] DEBUG - Request: GET /.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:51 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:51 - [app] app - [DEBUG] DEBUG - Response: 404 +2025-06-16 01:06:51 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:06:51 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:54 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:06:54 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:06:55 - [app] app - [DEBUG] DEBUG - Request: GET /request +2025-06-16 01:06:55 - [app] app - [INFO] INFO - Locating template 'guest_request.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/guest_request.html') +2025-06-16 01:06:55 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:55 - [app] app - [DEBUG] DEBUG - Request: GET /.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:56 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:06:56 - [app] app - [DEBUG] DEBUG - Response: 404 +2025-06-16 01:06:56 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:06:56 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:06:58 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:06:58 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Request: GET /.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:07:00 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Response: 404 +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-16 01:07:00 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-16 01:07:00 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:03 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:07:03 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:07:03 - [app] app - [DEBUG] DEBUG - Request: GET /admin/tapo-monitoring +2025-06-16 01:07:16 - [app] app - [INFO] INFO - Locating template 'admin_tapo_monitoring.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/admin_tapo_monitoring.html') +2025-06-16 01:07:16 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:07:16 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:18 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:07:18 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:07:46 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:07:46 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:46 - [app] app - [DEBUG] DEBUG - Request: GET /admin/tapo-monitoring +2025-06-16 01:07:48 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard +2025-06-16 01:07:48 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:49 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:07:49 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:07:50 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:07:50 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:07:59 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:01 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:01 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-16 01:08:01 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:01 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:01 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-16 01:08:01 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-16 01:08:01 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:02 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/ +2025-06-16 01:08:02 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:08:02 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:02 - [app] app - [DEBUG] DEBUG - Request: GET / +2025-06-16 01:08:02 - [app] app - [DEBUG] DEBUG - Response: 302 +2025-06-16 01:08:02 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard +2025-06-16 01:08:02 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:02 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-512.png +2025-06-16 01:08:04 - [app] app - [DEBUG] DEBUG - Request: GET /stats +2025-06-16 01:08:04 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:05 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/dashboard +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/statistics +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/live +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:08:06 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:08:07 - [app] app - [DEBUG] DEBUG - Request: GET /calendar +2025-06-16 01:08:07 - [app] app - [INFO] INFO - Locating template 'calendar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/calendar.html') +2025-06-16 01:08:07 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:07 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/events +2025-06-16 01:08:07 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/statistics +2025-06-16 01:08:07 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:07 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:07 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Request: GET /jobs +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-16 01:08:08 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=False) +2025-06-16 01:08:08 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Request: GET /printers +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-16 01:08:09 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=False) +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:09 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: unreachable, Quelle: system +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-16 01:08:09 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=False) +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:09 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:10 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:08:10 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:08:11 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard +2025-06-16 01:08:11 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:11 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:11 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:11 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:08:11 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:08:13 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js +2025-06-16 01:08:13 - [app] app - [DEBUG] DEBUG - Response: 304 +2025-06-16 01:08:15 - [app] app - [INFO] INFO - Locating template 'tapo_control.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/templates/tapo_control.html') +2025-06-16 01:08:15 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-16 01:08:41 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-16 01:08:41 - [app] app - [DEBUG] DEBUG - Response: 200 diff --git a/backend/logs/calendar/calendar.log b/backend/logs/calendar/calendar.log index 1b0e004ec..fdff69968 100644 --- a/backend/logs/calendar/calendar.log +++ b/backend/logs/calendar/calendar.log @@ -33,3 +33,4 @@ 2025-06-16 01:00:40 - [calendar] calendar - [INFO] INFO - πŸ“… Kalender-Events abgerufen: 1 EintrΓ€ge fΓΌr Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 2025-06-16 01:01:56 - [calendar] calendar - [INFO] INFO - πŸ“… Kalender-Events abgerufen: 2 EintrΓ€ge fΓΌr Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 2025-06-16 01:02:00 - [calendar] calendar - [INFO] INFO - πŸ“… Kalender-Events abgerufen: 44 EintrΓ€ge fΓΌr Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-16 01:08:09 - [calendar] calendar - [INFO] INFO - πŸ“… Kalender-Events abgerufen: 2 EintrΓ€ge fΓΌr Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 diff --git a/backend/logs/data_management/data_management.log b/backend/logs/data_management/data_management.log index 189a378a7..d343b188e 100644 --- a/backend/logs/data_management/data_management.log +++ b/backend/logs/data_management/data_management.log @@ -513,3 +513,13 @@ 2025-06-16 01:03:57 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) 2025-06-16 01:04:10 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert 2025-06-16 01:04:10 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:04:36 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-16 01:04:36 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:04:57 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-16 01:04:57 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:05:38 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-16 01:05:38 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:06:01 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-16 01:06:01 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:06:02 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-16 01:06:02 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) diff --git a/backend/logs/energy_monitoring/energy_monitoring.log b/backend/logs/energy_monitoring/energy_monitoring.log index 3d2d6dd8d..2e911c224 100644 --- a/backend/logs/energy_monitoring/energy_monitoring.log +++ b/backend/logs/energy_monitoring/energy_monitoring.log @@ -352,3 +352,22 @@ 2025-06-16 01:03:50 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert 2025-06-16 01:03:57 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert 2025-06-16 01:04:11 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-16 01:04:37 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-16 01:04:58 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-16 01:05:38 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-16 01:06:01 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-16 01:06:03 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-16 01:06:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - πŸ“Š API-Energiemonitoring-Dashboard von admin +2025-06-16 01:06:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - πŸ“ˆ API-Energiestatistiken (today) von admin +2025-06-16 01:06:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Dashboard-Daten erfolgreich erstellt: 0 GerΓ€te online +2025-06-16 01:06:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiemonitoring-Dashboard 'api_energy_dashboard' erfolgreich in 30.13ms +2025-06-16 01:06:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiestatistiken erfolgreich erstellt fΓΌr Zeitraum: today +2025-06-16 01:06:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiestatistiken 'api_energy_statistics' erfolgreich in 18.37ms +2025-06-16 01:06:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Live-Energiedaten 'api_live_energy_data' erfolgreich in 9.73ms +2025-06-16 01:08:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - πŸ“ˆ API-Energiestatistiken (today) von admin +2025-06-16 01:08:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - πŸ“Š API-Energiemonitoring-Dashboard von admin +2025-06-16 01:08:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiestatistiken erfolgreich erstellt fΓΌr Zeitraum: today +2025-06-16 01:08:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiestatistiken 'api_energy_statistics' erfolgreich in 7.73ms +2025-06-16 01:08:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Live-Energiedaten 'api_live_energy_data' erfolgreich in 5.09ms +2025-06-16 01:08:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Dashboard-Daten erfolgreich erstellt: 0 GerΓ€te online +2025-06-16 01:08:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiemonitoring-Dashboard 'api_energy_dashboard' erfolgreich in 12.61ms diff --git a/backend/logs/hardware_integration/hardware_integration.log b/backend/logs/hardware_integration/hardware_integration.log index 160905f97..b86ef5f3f 100644 --- a/backend/logs/hardware_integration/hardware_integration.log +++ b/backend/logs/hardware_integration/hardware_integration.log @@ -1878,3 +1878,77 @@ 2025-06-16 01:04:10 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert 2025-06-16 01:04:10 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert 2025-06-16 01:04:10 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-16 01:04:36 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-16 01:04:36 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-16 01:04:36 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-16 01:04:36 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-16 01:04:57 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-16 01:04:57 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-16 01:04:57 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-16 01:04:57 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-16 01:05:38 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-16 01:05:38 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-16 01:05:38 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-16 01:05:38 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-16 01:06:01 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-16 01:06:01 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-16 01:06:01 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-16 01:06:01 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-16 01:06:02 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-16 01:06:02 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-16 01:06:02 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-16 01:06:02 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ”‹ Sammle Energiestatistiken von allen P110 Steckdosen... +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 1 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 2 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 3 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 4 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 5 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 6 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Energiestatistiken erfolgreich gesammelt: 0/6 GerΓ€te online +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ”‹ Sammle Energiestatistiken von allen P110 Steckdosen... +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 1 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 2 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 3 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 4 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 5 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 6 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Energiestatistiken erfolgreich gesammelt: 0/6 GerΓ€te online +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ”‹ Sammle Energiestatistiken von allen P110 Steckdosen... +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 1 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 2 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 3 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 4 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 5 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 6 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Energiestatistiken erfolgreich gesammelt: 0/6 GerΓ€te online +2025-06-16 01:06:45 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ”‹ Sammle Energiestatistiken von allen P110 Steckdosen... +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ”‹ Sammle Energiestatistiken von allen P110 Steckdosen... +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 1 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 2 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 3 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 4 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 5 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 6 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Energiestatistiken erfolgreich gesammelt: 0/6 GerΓ€te online +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ”‹ Sammle Energiestatistiken von allen P110 Steckdosen... +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 1 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 1 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 2 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 3 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 4 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 5 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 6 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Energiestatistiken erfolgreich gesammelt: 0/6 GerΓ€te online +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 2 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 3 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 4 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 5 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Konnte Energiedaten fΓΌr Drucker 6 nicht abrufen: module 'PyP100.PyP100' has no attribute 'P110' +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Energiestatistiken erfolgreich gesammelt: 0/6 GerΓ€te online +2025-06-16 01:08:06 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute diff --git a/backend/logs/job_queue_system/job_queue_system.log b/backend/logs/job_queue_system/job_queue_system.log index 8dcf6e5b3..d99f53ec8 100644 --- a/backend/logs/job_queue_system/job_queue_system.log +++ b/backend/logs/job_queue_system/job_queue_system.log @@ -1006,3 +1006,22 @@ 2025-06-16 01:04:10 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert 2025-06-16 01:04:10 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) 2025-06-16 01:04:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-16 01:04:36 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-16 01:04:36 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-16 01:04:37 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-16 01:04:37 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-16 01:04:57 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-16 01:04:57 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-16 01:04:58 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-16 01:04:58 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-16 01:05:38 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-16 01:05:38 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-16 01:05:39 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-16 01:05:39 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-16 01:05:57 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-16 01:06:01 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-16 01:06:01 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-16 01:06:02 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-16 01:06:02 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-16 01:06:02 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-16 01:06:03 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) diff --git a/backend/logs/jobs/jobs.log b/backend/logs/jobs/jobs.log index 58eececfc..8a83ab70b 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -821,3 +821,81 @@ sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) FOREIGN KEY constraint f 2025-06-16 01:03:39 - [jobs] jobs - [INFO] INFO - βœ… Jobs erfolgreich abgerufen: 2 von 2 (Seite 1) 2025-06-16 01:04:12 - [jobs] jobs - [INFO] INFO - πŸ“‹ Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) 2025-06-16 01:04:12 - [jobs] jobs - [INFO] INFO - βœ… Jobs erfolgreich abgerufen: 2 von 2 (Seite 1) +2025-06-16 01:06:10 - [jobs] jobs - [INFO] INFO - πŸ“‹ Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-16 01:06:10 - [jobs] jobs - [INFO] INFO - βœ… Jobs erfolgreich abgerufen: 2 von 2 (Seite 1) +2025-06-16 01:06:14 - [jobs] jobs - [INFO] INFO - πŸ—‘οΈ LΓΆsche Job 2 fΓΌr Benutzer 1 +2025-06-16 01:06:14 - [jobs] jobs - [ERROR] ERROR - ❌ Fehler beim LΓΆschen des Jobs 2: (sqlite3.IntegrityError) FOREIGN KEY constraint failed +[SQL: DELETE FROM jobs WHERE jobs.id = ?] +[parameters: (2,)] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +Traceback (most recent call last): + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context + self.dialect.do_execute( + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute + cursor.execute(statement, parameters) +sqlite3.IntegrityError: FOREIGN KEY constraint failed + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend/blueprints/jobs.py", line 407, in delete_job + db_session.commit() + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1969, in commit + trans.commit(_to_root=True) + File "", line 2, in commit + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go + ret_value = fn(self, *arg, **kw) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1256, in commit + self._prepare_impl() + File "", line 2, in _prepare_impl + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go + ret_value = fn(self, *arg, **kw) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1231, in _prepare_impl + self.session.flush() + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4312, in flush + self._flush(objects) + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4447, in _flush + with util.safe_reraise(): + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ + raise exc_value.with_traceback(exc_tb) + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4408, in _flush + flush_context.execute() + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute + rec.execute(self) + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 679, in execute + util.preloaded.orm_persistence.delete_obj( + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 191, in delete_obj + _emit_delete_statements( + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 1456, in _emit_delete_statements + c = connection.execute( + ^^^^^^^^^^^^^^^^^^^ + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute + return meth( + ^^^^^ + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection + return connection._execute_clauseelement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1639, in _execute_clauseelement + ret = self._execute_context( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1848, in _execute_context + return self._exec_single_context( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1988, in _exec_single_context + self._handle_dbapi_exception( + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2343, in _handle_dbapi_exception + raise sqlalchemy_exception.with_traceback(exc_info[2]) from e + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context + self.dialect.do_execute( + File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute + cursor.execute(statement, parameters) +sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) FOREIGN KEY constraint failed +[SQL: DELETE FROM jobs WHERE jobs.id = ?] +[parameters: (2,)] +(Background on this error at: https://sqlalche.me/e/20/gkpj) +2025-06-16 01:06:40 - [jobs] jobs - [INFO] INFO - πŸ“‹ Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-16 01:06:40 - [jobs] jobs - [INFO] INFO - βœ… Jobs erfolgreich abgerufen: 2 von 2 (Seite 1) +2025-06-16 01:08:08 - [jobs] jobs - [INFO] INFO - πŸ“‹ Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-16 01:08:08 - [jobs] jobs - [INFO] INFO - βœ… Jobs erfolgreich abgerufen: 2 von 2 (Seite 1) diff --git a/backend/logs/monitoring_analytics/monitoring_analytics.log b/backend/logs/monitoring_analytics/monitoring_analytics.log index c11a43135..c2948935f 100644 --- a/backend/logs/monitoring_analytics/monitoring_analytics.log +++ b/backend/logs/monitoring_analytics/monitoring_analytics.log @@ -513,3 +513,13 @@ 2025-06-16 01:03:57 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) 2025-06-16 01:04:11 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert 2025-06-16 01:04:11 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:04:37 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-16 01:04:37 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:04:58 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-16 01:04:58 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:05:38 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-16 01:05:38 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:06:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-16 01:06:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:06:03 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-16 01:06:03 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index c453bc00a..6ed8dffa8 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -199,3 +199,8 @@ WHERE users.role = ?] 2025-06-16 01:03:50 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-16 01:03:57 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-16 01:04:11 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:04:37 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:04:58 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:05:39 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:06:01 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-16 01:06:03 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index eb2c615d3..f8efccf31 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -1318,3 +1318,57 @@ 2025-06-16 01:04:11 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com 2025-06-16 01:04:19 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com 2025-06-16 01:04:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:04:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:04:36 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-16 01:04:37 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-16 01:04:37 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-16 01:04:37 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:04:42 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:04:50 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:04:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:04:57 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-16 01:04:58 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-16 01:04:58 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-16 01:04:58 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:04:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:05:12 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:05:20 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:05:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:05:29 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:05:38 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-16 01:05:39 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-16 01:05:39 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-16 01:05:39 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:05:42 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:05:51 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:05:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:06:01 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-16 01:06:02 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-16 01:06:02 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-16 01:06:02 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:06:02 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-16 01:06:03 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-16 01:06:03 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-16 01:06:03 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:06:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:06:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:06:32 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:06:34 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:06:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:06:42 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:07:02 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:07:04 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:07:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:07:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:07:33 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:07:35 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:07:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:07:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:08:03 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:08:05 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:08:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:08:14 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:08:33 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:08:36 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: testeadmin@example.com +2025-06-16 01:08:42 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) +2025-06-16 01:08:44 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler bei ÜberprΓΌfung der Jobs: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) diff --git a/backend/logs/security_suite/security_suite.log b/backend/logs/security_suite/security_suite.log index 6a4064e6a..69dbe88a8 100644 --- a/backend/logs/security_suite/security_suite.log +++ b/backend/logs/security_suite/security_suite.log @@ -770,3 +770,18 @@ 2025-06-16 01:04:10 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert 2025-06-16 01:04:10 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) 2025-06-16 01:04:11 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-16 01:04:36 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-16 01:04:36 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:04:37 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-16 01:04:57 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-16 01:04:57 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:04:58 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-16 01:05:38 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-16 01:05:38 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:05:38 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-16 01:06:01 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-16 01:06:01 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:06:01 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-16 01:06:02 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-16 01:06:02 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-16 01:06:03 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index e9927b6da..fd26e2a8d 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -2007,3 +2007,38 @@ 2025-06-16 01:04:11 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend 2025-06-16 01:04:11 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:04:11.309042 2025-06-16 01:04:11 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:04:37 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:04:37 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-16 01:04:37 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-16 01:04:37 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: posix (linux) +2025-06-16 01:04:37 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend +2025-06-16 01:04:37 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:04:37.637504 +2025-06-16 01:04:37 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:04:58 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:04:58 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-16 01:04:58 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-16 01:04:58 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: posix (linux) +2025-06-16 01:04:58 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend +2025-06-16 01:04:58 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:04:58.008450 +2025-06-16 01:04:58 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:05:38 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:05:38 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-16 01:05:38 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-16 01:05:38 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: posix (linux) +2025-06-16 01:05:38 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend +2025-06-16 01:05:38 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:05:38.904205 +2025-06-16 01:05:38 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:06:01 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:06:01 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-16 01:06:01 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-16 01:06:01 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: posix (linux) +2025-06-16 01:06:01 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend +2025-06-16 01:06:01 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:06:01.870153 +2025-06-16 01:06:01 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:06:03 - [startup] startup - [INFO] INFO - ================================================== +2025-06-16 01:06:03 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-16 01:06:03 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-16 01:06:03 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: posix (linux) +2025-06-16 01:06:03 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-AbschlussprΓΌfung/Projektarbeit-MYP/backend +2025-06-16 01:06:03 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:06:03.433577 +2025-06-16 01:06:03 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/tapo_control/tapo_control.log b/backend/logs/tapo_control/tapo_control.log index e1a446484..2439f4437 100644 --- a/backend/logs/tapo_control/tapo_control.log +++ b/backend/logs/tapo_control/tapo_control.log @@ -196,3 +196,11 @@ 2025-06-15 23:50:28 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 5 (192.168.0.104) nicht erreichbar 2025-06-15 23:50:30 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 6 (192.168.0.106) nicht erreichbar 2025-06-15 23:50:30 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online +2025-06-16 01:08:02 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator +2025-06-16 01:08:04 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 1 (192.168.0.100) nicht erreichbar +2025-06-16 01:08:07 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 2 (192.168.0.101) nicht erreichbar +2025-06-16 01:08:09 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 3 (192.168.0.102) nicht erreichbar +2025-06-16 01:08:11 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 4 (192.168.0.103) nicht erreichbar +2025-06-16 01:08:13 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 5 (192.168.0.104) nicht erreichbar +2025-06-16 01:08:15 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 6 (192.168.0.106) nicht erreichbar +2025-06-16 01:08:15 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online diff --git a/backend/logs/tapo_controller/tapo_controller.log b/backend/logs/tapo_controller/tapo_controller.log index 42460b431..698508cd4 100644 --- a/backend/logs/tapo_controller/tapo_controller.log +++ b/backend/logs/tapo_controller/tapo_controller.log @@ -1523,3 +1523,119 @@ 2025-06-16 01:04:20 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) 2025-06-16 01:04:20 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 2025-06-16 01:04:21 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:25 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:28 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:28 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:04:36 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-16 01:04:44 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:47 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:50 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:50 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:04:52 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:55 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:57 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-16 01:04:58 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:04:58 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:05:14 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:17 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:20 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:20 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:05:22 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:25 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:29 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:29 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:05:38 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-16 01:05:45 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:48 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:51 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:51 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:05:53 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:05:56 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:01 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-16 01:06:02 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-16 01:06:04 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:06 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:07 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:09 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:10 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:10 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:06:12 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:12 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:06:34 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:36 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:37 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:39 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:40 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:40 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:06:42 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:06:42 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:07:04 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:05 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:05 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.100 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:07 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:07 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:07 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.101 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:08 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:09 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:09 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.102 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:10 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:11 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:11 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:07:12 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:12 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.103 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:13 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:13 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:07:14 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:14 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.104 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:16 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:16 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.106 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:35 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:37 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:38 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:40 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:41 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:41 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:07:43 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:43 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:07:48 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:48 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.100 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:51 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:51 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.101 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:53 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:53 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.102 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:55 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:55 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.103 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:57 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:57 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.104 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:59 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:07:59 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.106 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:04 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:04 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.100 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:05 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:07 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:07 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.101 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:07 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:08 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:09 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:09 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.102 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:09 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:09 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.100 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:10 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:11 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:11 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.103 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:11 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:11 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:08:13 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:13 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.104 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:14 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:14 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:08:15 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Fehler bei Tapo-Steckdosen-Status-Check 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:15 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Status-Check fΓΌr 192.168.0.106 fehlgeschlagen: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:35 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:38 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 1/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:39 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:41 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 2/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:42 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:42 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 +2025-06-16 01:08:44 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ Versuch 3/3 fehlgeschlagen beim einschalten von 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-16 01:08:44 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100 diff --git a/backend/logs/tapo_status_manager/tapo_status_manager.log b/backend/logs/tapo_status_manager/tapo_status_manager.log index 343e018a1..f86281fab 100644 --- a/backend/logs/tapo_status_manager/tapo_status_manager.log +++ b/backend/logs/tapo_status_manager/tapo_status_manager.log @@ -223,3 +223,8 @@ 2025-06-16 01:03:50 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert 2025-06-16 01:03:57 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert 2025-06-16 01:04:10 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert +2025-06-16 01:04:36 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert +2025-06-16 01:04:57 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert +2025-06-16 01:05:38 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert +2025-06-16 01:06:01 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert +2025-06-16 01:06:02 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert diff --git a/backend/logs/utilities_collection/utilities_collection.log b/backend/logs/utilities_collection/utilities_collection.log index 2742bd285..72eba8c2f 100644 --- a/backend/logs/utilities_collection/utilities_collection.log +++ b/backend/logs/utilities_collection/utilities_collection.log @@ -675,3 +675,13 @@ 2025-06-16 01:03:56 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) 2025-06-16 01:04:10 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert 2025-06-16 01:04:10 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-16 01:04:36 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-16 01:04:36 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-16 01:04:57 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-16 01:04:57 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-16 01:05:38 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-16 01:05:38 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-16 01:06:01 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-16 01:06:01 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-16 01:06:02 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-16 01:06:02 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) diff --git a/backend/static/sw.js b/backend/static/sw.js index c83ed22d2..0880cf79c 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -105,32 +105,45 @@ self.addEventListener('fetch', event => { } // HTML-Seiten: Network First - if (request.headers.get('accept').includes('text/html')) { + if (request.headers.get('accept') && request.headers.get('accept').includes('text/html')) { event.respondWith(networkFirst(request)); return; } - // Alle anderen Requests: Network Only mit Error-Handling + // Alle anderen Requests: Network Only mit besserer Error-Behandlung event.respondWith( fetch(request).catch(error => { console.warn('🌐 Network request failed:', request.url, error); + + // Vermeide Fehler-Loops bei Service Worker eigenen Requests + if (request.url.includes('sw.js') || request.url.includes('service-worker')) { + throw error; + } + // FΓΌr kritische Fehler eine Fallback-Response zurΓΌckgeben if (request.destination === 'document') { return new Response('Service temporarily unavailable', { status: 503, statusText: 'Service Unavailable', - headers: { 'Content-Type': 'text/plain' } + headers: { 'Content-Type': 'text/html' } }); } + // FΓΌr API-Requests - return new Response(JSON.stringify({ - error: 'Network error', - message: 'Service temporarily unavailable' - }), { - status: 503, - statusText: 'Service Unavailable', - headers: { 'Content-Type': 'application/json' } - }); + if (request.url.includes('/api/')) { + return new Response(JSON.stringify({ + success: false, + error: 'Network error', + message: 'Service temporarily unavailable' + }), { + status: 503, + statusText: 'Service Unavailable', + headers: { 'Content-Type': 'application/json' } + }); + } + + // FΓΌr andere Requests: Fehler weiterwerfen + throw error; }) ); });