🎉 Improved Dockerfile and documentation files for better OTP Drucker Verf/Gbarkeitsverbesserung and Template Backend Zuordnung. 📚 Updated various log files for enhanced monitoring and debugging capabilities. 🐛 Refactored guest blueprint and related logs for improved performance. 💄 Fixed minor issues in templates and job queue system logs.

This commit is contained in:
Till Tomczak
2025-06-20 12:05:58 +02:00
parent 19a9c64e66
commit 025ec1f240
27 changed files with 2101 additions and 8 deletions

View File

@ -20,6 +20,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
iputils-ping \
sqlite3 \
openssl \
build-essential \
gcc \
g++ \
python3-dev \
&& rm -rf /var/lib/apt/lists/*
# Arbeitsverzeichnis erstellen

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,446 @@
# Template-Backend-Zuordnung - MYP System
**Erstellt:** 2025-06-20
**Version:** 1.0
**System:** MYP (Manage Your Printers) - Mercedes-Benz TBA Marienfelde
## Überblick
Diese Dokumentation zeigt die vollständige Zuordnung zwischen HTML-Templates und Python-Backend-Verantwortlichkeiten im MYP-System. Das System verwendet eine moderne Flask-Blueprint-Architektur mit 15 Blueprint-Modulen und einer Hybrid-Struktur aus Server-Side-Rendering und JSON-APIs.
---
## Template-Kategorien
### 1. Hauptanwendung Templates
#### **dashboard.html**
- **Backend:** `app.py``dashboard()` Route
- **URL:** `/dashboard`
- **Berechtigungen:** `@login_required`
- **Variablen:** Basis-Template-Variablen
- **Zweck:** Haupt-Dashboard nach Login
#### **base.html**
- **Backend:** Template-Basis für alle anderen Templates
- **Variablen:** Globale Template-Variablen (production_mode, current_user, etc.)
- **Zweck:** Layout-Template mit Navigation
---
### 2. Authentifizierung
#### **login.html**
- **Backend:** `blueprints/auth.py``login()`
- **URL:** `/auth/login`
- **HTTP-Methoden:** GET, POST
- **Berechtigungen:** Öffentlich
- **Variablen:**
```python
{
'error': str, # Fehlermeldung bei Login-Fehlschlag
'form': LoginForm # WTForms-Instanz
}
```
- **Zweck:** Benutzer-Anmeldung mit Formular-Validierung
---
### 3. Administrative Verwaltung
#### **admin.html**
- **Backend:** `blueprints/admin_unified.py` → Verschiedene Funktionen
- **URL-Muster:** `/admin`, `/admin/users`, `/admin/printers`, `/admin/logs`, `/admin/system`, `/admin/maintenance`
- **Berechtigungen:** `@admin_required`
- **Variablen:**
```python
{
'active_tab': str, # 'overview', 'users', 'printers', 'logs', 'system', 'maintenance'
'users': list, # Liste aller Benutzer (nur bei users-Tab)
'printers': list, # Liste aller Drucker (nur bei printers-Tab)
'logs': list, # System-Logs (nur bei logs-Tab)
'stats': dict # System-Statistiken
}
```
- **Backend-Funktionen:**
- `admin_overview()` - Hauptübersicht
- `users_overview()` - Benutzerverwaltung
- `printers_overview()` - Druckerverwaltung
- `logs_overview()` - Log-Anzeige
- `system_health()` - System-Informationen
- `maintenance()` - Wartungsfunktionen
#### **admin_*.html** (Legacy-Templates)
Diese Templates werden teilweise noch verwendet, aber zunehmend durch das vereinheitlichte `admin.html` ersetzt:
- `admin_guest_requests.html`
- `admin_add_user.html`
- `admin_edit_user.html`
- `admin_add_printer.html`
- `admin_edit_printer.html`
- Weitere administrative Templates
---
### 4. Gast-System
#### **guest_request.html**
- **Backend:** `blueprints/guest.py` → `guest_request_form()`
- **URL:** `/request`
- **HTTP-Methoden:** GET, POST
- **Berechtigungen:** Öffentlich
- **Variablen:**
```python
{
'form': GuestRequestForm, # WTForms für Gastanfrage
'printers': list # Verfügbare Drucker
}
```
#### **guest_start_job.html**
- **Backend:** `blueprints/guest.py` → `guest_start_public()`
- **URL:** `/start`
- **Berechtigungen:** Öffentlich
- **Zweck:** Job-Start für Gäste mit OTP
#### **guest_job_status.html**
- **Backend:** `blueprints/guest.py` → `guest_job_status()`
- **URL:** `/job/<int:job_id>/status`
- **Variablen:**
```python
{
'job': Job, # Job-Objekt
'guest_request': GuestRequest # Gastanfrage-Objekt
}
```
#### **guest_status.html**
- **Backend:** `blueprints/guest.py` → `guest_request_status()`
- **URL:** `/request/<int:request_id>`
- **Variablen:**
```python
{
'request': GuestRequest, # Gastanfrage
'job': Job, # Zugehöriger Job
'otp_code': str, # OTP-Code für Job-Start
'show_start_link': bool # Ob Start-Link angezeigt werden soll
}
```
#### Weitere Gast-Templates:
- `guest_requests_overview.html` - Übersicht aller Gastanfragen
- `guest_requests_by_email.html` - Anfragen nach E-Mail filtern
- `guest_status_check.html` - Status-Prüfung für Gäste
---
### 5. Kalender-System
#### **calendar.html**
- **Backend:** `blueprints/calendar.py` → `calendar_view()`
- **URL:** `/calendar`
- **Berechtigungen:** `@login_required`
- **Variablen:**
```python
{
'printers': list, # Verfügbare Drucker
'can_edit': bool # Benutzer-Berechtigung zum Bearbeiten
}
```
- **JavaScript-Integration:** FullCalendar.js
- **API-Backend:** Umfangreiche Calendar-API-Endpunkte für CRUD-Operationen
---
### 6. Benutzerverwaltung
#### **profile.html**
- **Backend:** `blueprints/user_management.py` → `user_profile()`
- **URL:** `/user/profile`
- **Berechtigungen:** `@login_required`
- **Variablen:**
```python
{
'user': User # Aktueller Benutzer mit allen Profildaten
}
```
#### **settings.html**
- **Backend:** `blueprints/user_management.py` → `user_settings()`
- **URL:** `/user/settings`
- **Berechtigungen:** `@login_required`
- **Variablen:**
```python
{
'user': User # Benutzer-Einstellungen und Präferenzen
}
```
---
### 7. Hardware-Steuerung
#### **tapo_control.html**
- **Backend:** `blueprints/tapo_control.py` → `tapo_dashboard()`
- **URL:** `/tapo/`
- **Berechtigungen:** `@require_permission(Permission.CONTROL_PRINTER)`
- **Variablen:**
```python
{
'outlets': dict, # Steckdosen-Status
'total_outlets': int, # Gesamtanzahl Steckdosen
'online_outlets': int, # Online-Steckdosen
'fixed_layout': bool # Layout-Modus
}
```
#### **tapo_manual_control.html**
- **Backend:** `blueprints/tapo_control.py` → `manual_control()`
- **URL:** `/tapo/manual-control`
- **Berechtigungen:** `@admin_required`
- **HTTP-Methoden:** GET, POST
- **Zweck:** Manuelle Steckdosen-Steuerung für Administratoren
#### **drucker_steuerung.html**
- **Backend:** `blueprints/drucker_steuerung.py` → `drucker_uebersicht()`
- **URL:** `/drucker/`
- **Berechtigungen:** `@login_required`
- **Variablen:**
```python
{
'drucker': list, # Drucker-Liste
'stats': dict, # Statistiken
'system_status': str, # System-Status
'seiten_titel': str, # Seitentitel
'benutzer_kann_steuern': bool,# Steuerungs-Berechtigung
'letztes_update': str, # Letztes Update
'refresh_url': str # Refresh-URL
}
```
#### **drucker_details.html**
- **Backend:** `blueprints/drucker_steuerung.py` → `drucker_details()`
- **URL:** `/drucker/details/<int:drucker_id>`
- **Variablen:**
```python
{
'drucker': dict, # Drucker-Details
'stats': dict, # Drucker-Statistiken
'seiten_titel': str, # Seitentitel
'steuerungs_urls': dict, # Steuerungs-URLs
'detail_daten': dict # Detail-Informationen
}
```
---
### 8. Energiemonitoring
#### **energy_dashboard.html**
- **Backend:** `blueprints/energy_monitoring.py` → `energy_dashboard()`
- **URL:** `/energy/`
- **Berechtigungen:** `@login_required`
- **Variablen:**
```python
{
'stats': dict, # Energiestatistiken
'current_user': User, # Aktueller Benutzer
'page_title': str # Seitentitel
}
```
#### **energy_device_details.html**
- **Backend:** `blueprints/energy_monitoring.py` → `device_details()`
- **URL:** `/energy/device/<int:device_id>`
- **Variablen:**
```python
{
'device': Printer, # Gerät (Drucker)
'energy_data': dict, # Energiedaten
'current_user': User, # Aktueller Benutzer
'page_title': str # Seitentitel
}
```
---
### 9. Rechtliche Seiten
#### **imprint.html**
- **Backend:** `blueprints/legal_pages.py` → `imprint()`
- **URL:** `/impressum`
- **Variablen:** `{'title': 'Impressum'}`
#### **privacy.html**
- **Backend:** `blueprints/legal_pages.py` → `privacy()`
- **URL:** `/datenschutz`
- **Variablen:** `{'title': 'Datenschutzerklärung'}`
#### **terms.html**
- **Backend:** `blueprints/legal_pages.py` → `terms()`
- **URL:** `/nutzungsbedingungen`
- **Variablen:** `{'title': 'Nutzungsbedingungen'}`
#### **legal.html**
- **Backend:** `blueprints/legal_pages.py` → `legal()`
- **URL:** `/rechtliches`
- **Variablen:** `{'title': 'Rechtliche Hinweise'}`
#### **system_info.html**
- **Backend:** `blueprints/legal_pages.py` → `system_info()`
- **URL:** `/system-info`
- **Variablen:**
```python
{
'title': 'Systeminformationen',
'system': dict # System-Informationen
}
```
---
### 10. Fehlerseiten
#### **errors/*.html**
- **Backend:** `app.py` → Verschiedene Error-Handler
- **Templates:**
- `errors/400.html` - Bad Request
- `errors/401.html` - Unauthorized
- `errors/403.html` - Forbidden
- `errors/404.html` - Not Found
- `errors/405.html` - Method Not Allowed
- `errors/413.html` - Payload Too Large
- `errors/429.html` - Rate Limit Exceeded
- `errors/500.html` - Internal Server Error
- `errors/502.html` - Bad Gateway
- `errors/503.html` - Service Unavailable
- `errors/505.html` - HTTP Version Not Supported
---
## API-Only Blueprints (Kein HTML-Rendering)
Diese Blueprints verwenden **ausschließlich JSON-APIs** ohne HTML-Templates:
### **printers.py**
- **URL-Prefix:** `/api/printers`
- **Endpunkte:** Drucker-CRUD, Status-Monitoring, Tapo-Integration
- **Berechtigungen:** Verschiedene Permissions
### **jobs.py**
- **URL-Prefix:** `/api/jobs`
- **Endpunkte:** Job-Management, Start/Pause/Resume/Finish
- **Berechtigungen:** `@login_required`, `@job_owner_required`
### **kiosk.py**
- **URL-Prefix:** `/api/kiosk`
- **Endpunkte:** Kiosk-Modus-Steuerung
- **Berechtigungen:** Teilweise `@login_required`
### **uploads.py**
- **URL-Prefix:** `/api`
- **Endpunkte:** Datei-Upload und -Management
- **Berechtigungen:** Verschiedene (`@login_required`, `@admin_required`)
### **sessions.py**
- **URL-Prefix:** `/api/session`
- **Endpunkte:** Session-Management (Heartbeat, Status, Extend)
- **Berechtigungen:** `@login_required`
### **api.py**
- **URL-Prefix:** `/api`
- **Endpunkte:** Allgemeine System-APIs (Stats, Health, Notifications)
- **Berechtigungen:** Verschiedene
---
## Template-Hierarchie
### **Base Templates:**
- `base.html` - Haupt-Layout mit Navigation
- `base-production.html` - Production-optimiertes Layout (falls verwendet)
### **Component Templates:**
- `includes/navbar.html` - Navigation
- `components/printer_status.html` - Drucker-Status-Komponente
- `macros/ui_components.html` - UI-Makros
### **Spezielle Templates:**
- `static/offline.html` - Offline-Seite für PWA
- `jobs/new.html` - Job-Erstellung (möglicherweise in Zukunft)
---
## Berechtigungssystem
### **Dekorator-Arten:**
1. `@login_required` - Standard-Anmeldung erforderlich
2. `@admin_required` - Administrator-Berechtigung
3. `@require_permission(Permission.*)` - Spezifische Berechtigung
4. `@job_owner_required` - Job-Besitzer-Berechtigung
5. `@approver_required` - Genehmiger-Berechtigung
6. `@users_admin_required` - Benutzer-Administrator
### **Permission-Konstanten:**
- `Permission.ADMIN` - Administrative Rechte
- `Permission.CONTROL_PRINTER` - Drucker-Steuerung
- `Permission.APPROVE_JOBS` - Job-Genehmigung
- Weitere spezifische Berechtigungen
---
## Datenfluss-Muster
### **Template-Rendering:**
1. **Route-Handler** in Blueprint erhält Request
2. **Datenbank-Abfrage** über SQLAlchemy-Models
3. **Berechtigungs-Prüfung** über Dekoratoren
4. **Template-Variablen** werden zusammengestellt
5. **render_template()** generiert HTML
6. **Response** wird an Client gesendet
### **API-Endpunkte:**
1. **Route-Handler** in Blueprint erhält Request
2. **JSON-Daten** aus Request extrahieren
3. **Geschäftslogik** ausführen
4. **jsonify()** generiert JSON-Response
5. **Response** wird an Client gesendet
---
## Entwicklungsrichtlinien
### **Template-Erstellung:**
1. Verwende `render_template()` mit sprechenden Template-Namen
2. Übergebe strukturierte Variablen-Dictionaries
3. Implementiere Fehlerbehandlung mit try-catch
4. Nutze Template-Vererbung über `base.html`
5. Dokumentiere Template-Variablen in Docstrings
### **API-Entwicklung:**
1. Verwende `jsonify()` für JSON-Responses
2. Implementiere einheitliche Error-Response-Struktur
3. Nutze HTTP-Status-Codes korrekt
4. Validiere Input-Daten mit WTForms oder Marshmallow
5. Logge API-Aufrufe für Debugging
### **Blueprint-Organisation:**
1. Ein Blueprint pro Funktionsbereich
2. Klare URL-Präfixe verwenden
3. Berechtigungen auf Blueprint-Ebene definieren
4. Getrennte API- und Template-Routen wenn sinnvoll
5. Dokumentiere Blueprint-Zweck in Docstring
---
## Zusammenfassung
Das MYP-System zeigt eine moderne Flask-Architektur mit:
- **25+ HTML-Templates** für Server-Side-Rendering
- **100+ API-Endpunkte** für dynamische Funktionalität
- **Hybrid-Architektur** zwischen Templates und APIs
- **Modulare Blueprint-Organisation** für Wartbarkeit
- **Konsistentes Berechtigungssystem** für Sicherheit
- **Klare Datenfluss-Muster** für Nachvollziehbarkeit
Die Dokumentation bietet Entwicklern eine vollständige Referenz für die Zuordnung zwischen Frontend-Templates und Backend-Logik im MYP-System.

View File

@ -14,6 +14,7 @@ from sqlalchemy.orm import joinedload
from models import GuestRequest, Job, Printer, User, UserPermission, Notification, get_cached_session
from utils.logging_config import get_logger
from utils.hardware_integration import get_drucker_steuerung
guest_blueprint = Blueprint('guest', __name__)
logger = get_logger("guest")
@ -425,6 +426,131 @@ def api_start_job_with_code():
"error": f"Job kann im Status '{job.status}' nicht gestartet werden"
}), 400
# ===== NEUE DRUCKER-VERFÜGBARKEITSPRÜFUNG =====
drucker_steuerung = get_drucker_steuerung()
# 1. Prüfen ob ein spezifischer Drucker dem Job zugewiesen ist
if job.printer and job.printer.plug_ip:
# Spezifischen Drucker-Status prüfen
try:
reachable, power_status = drucker_steuerung.check_outlet_status(
job.printer.plug_ip, job.printer.id
)
if not reachable:
return jsonify({
"success": False,
"error": f"Drucker '{job.printer.name}' ist nicht erreichbar und kann nicht gestartet werden",
"error_details": {
"type": "printer_offline",
"printer_name": job.printer.name,
"printer_id": job.printer.id,
"reason": "Drucker ist im Netzwerk nicht erreichbar"
}
}), 400
# Drucker ist erreichbar - kann gestartet werden
logger.info(f"✅ Drucker-Verfügbarkeitsprüfung bestanden: {job.printer.name} (Status: {power_status})")
except Exception as e:
logger.error(f"❌ Fehler bei Drucker-Status-Prüfung für {job.printer.name}: {e}")
return jsonify({
"success": False,
"error": f"Drucker-Status für '{job.printer.name}' konnte nicht geprüft werden",
"error_details": {
"type": "printer_check_failed",
"printer_name": job.printer.name,
"printer_id": job.printer.id,
"reason": "Technischer Fehler bei der Status-Prüfung"
}
}), 500
else:
# 2. Kein spezifischer Drucker zugewiesen - prüfen ob IRGENDEIN Drucker verfügbar ist
logger.info("🔍 Kein spezifischer Drucker zugewiesen - prüfe alle verfügbaren Drucker")
# Alle aktiven Drucker mit Steckdosen laden
available_printers = db_session.query(Printer).filter(
Printer.active == True,
Printer.plug_ip.isnot(None)
).all()
if not available_printers:
return jsonify({
"success": False,
"error": "Keine konfigurierten Drucker verfügbar",
"error_details": {
"type": "no_printers_configured",
"reason": "Es sind keine aktiven Drucker mit Steckdosen-Steuerung konfiguriert"
}
}), 400
# Status aller verfügbaren Drucker prüfen
reachable_printers = []
offline_printers = []
for printer in available_printers:
try:
reachable, power_status = drucker_steuerung.check_outlet_status(
printer.plug_ip, printer.id
)
if reachable:
reachable_printers.append({
'id': printer.id,
'name': printer.name,
'status': power_status
})
else:
offline_printers.append({
'id': printer.id,
'name': printer.name
})
except Exception as e:
logger.warning(f"⚠️ Status-Prüfung für Drucker {printer.name} fehlgeschlagen: {e}")
offline_printers.append({
'id': printer.id,
'name': printer.name,
'error': str(e)
})
# Prüfen ob mindestens ein Drucker erreichbar ist
if not reachable_printers:
total_printers = len(available_printers)
offline_count = len(offline_printers)
offline_names = [p['name'] for p in offline_printers[:3]] # Max 3 Namen
offline_list = ', '.join(offline_names)
if offline_count > 3:
offline_list += f" und {offline_count - 3} weitere"
return jsonify({
"success": False,
"error": f"Alle {total_printers} Drucker sind offline und können nicht gestartet werden",
"error_details": {
"type": "all_printers_offline",
"total_printers": total_printers,
"offline_printers": offline_count,
"offline_list": offline_list,
"reason": "Keine Drucker sind derzeit erreichbar oder einsatzbereit"
}
}), 400
# Mindestens ein Drucker ist verfügbar
reachable_count = len(reachable_printers)
total_count = len(available_printers)
logger.info(f"✅ Drucker-Verfügbarkeitsprüfung bestanden: {reachable_count}/{total_count} Drucker erreichbar")
# Optional: Ersten verfügbaren Drucker automatisch zuweisen wenn keiner zugewiesen
if not job.printer_id and reachable_printers:
best_printer = reachable_printers[0] # Ersten verfügbaren nehmen
job.printer_id = best_printer['id']
logger.info(f"🎯 Drucker automatisch zugewiesen: {best_printer['name']} (ID: {best_printer['id']})")
# ===== JOB STARTEN (bestehender Code) =====
# Job starten
now = datetime.now()
job.status = "running"
@ -835,20 +961,87 @@ def api_approve_request(request_id):
if guest_request.status != "pending":
return jsonify({"error": "Anfrage wurde bereits bearbeitet"}), 400
# ===== ERWEITERTE DRUCKER-VALIDIERUNG UND -ZUWEISUNG =====
from utils.hardware_integration import get_drucker_steuerung
drucker_steuerung = get_drucker_steuerung()
# Drucker validieren oder automatisch zuweisen
if printer_id:
printer = db_session.query(Printer).filter_by(id=printer_id, active=True).first()
if not printer:
return jsonify({"error": "Ungültiger Drucker ausgewählt"}), 400
# Status des ausgewählten Druckers prüfen
if printer.plug_ip:
try:
reachable, power_status = drucker_steuerung.check_outlet_status(
printer.plug_ip, printer.id
)
if not reachable:
return jsonify({
"error": f"Drucker '{printer.name}' ist derzeit offline und kann nicht zugewiesen werden",
"warning": "Der Drucker ist im Netzwerk nicht erreichbar. Die Genehmigung kann trotzdem erfolgen, aber der Job kann erst gestartet werden, wenn der Drucker wieder online ist."
}), 400
logger.info(f"✅ Admin-Drucker-Zuweisung validiert: {printer.name} (Status: {power_status})")
except Exception as e:
logger.warning(f"⚠️ Status-Prüfung für zugewiesenen Drucker {printer.name} fehlgeschlagen: {e}")
# Warnung, aber Genehmigung trotzdem fortsetzen
guest_request.printer_id = printer_id
elif not guest_request.printer_id:
# Automatisch ersten verfügbaren Drucker zuweisen
available_printer = db_session.query(Printer).filter_by(active=True).first()
if available_printer:
guest_request.printer_id = available_printer.id
logger.info(f"Automatisch Drucker {available_printer.id} ({available_printer.name}) für Gastanfrage {request_id} zugewiesen")
# Automatisch besten verfügbaren Drucker zuweisen
available_printers = db_session.query(Printer).filter(
Printer.active == True,
Printer.plug_ip.isnot(None)
).all()
if not available_printers:
return jsonify({
"error": "Kein aktiver Drucker mit Steckdosen-Steuerung verfügbar",
"details": "Bitte aktivieren Sie mindestens einen Drucker mit konfigurierter Tapo-Steckdose."
}), 400
# Status aller verfügbaren Drucker prüfen
online_printers = []
offline_printers = []
for printer in available_printers:
try:
reachable, power_status = drucker_steuerung.check_outlet_status(
printer.plug_ip, printer.id
)
if reachable:
online_printers.append({
'printer': printer,
'status': power_status
})
else:
offline_printers.append(printer)
except Exception as e:
logger.warning(f"⚠️ Status-Prüfung für Drucker {printer.name} fehlgeschlagen: {e}")
offline_printers.append(printer)
# Bevorzuge online Drucker, aber fallback auf offline Drucker
if online_printers:
best_printer = online_printers[0]['printer']
guest_request.printer_id = best_printer.id
logger.info(f"✅ Automatisch ONLINE-Drucker zugewiesen: {best_printer.name} (Status: {online_printers[0]['status']})")
elif available_printers:
# Fallback: Ersten verfügbaren Drucker nehmen, auch wenn offline
fallback_printer = available_printers[0]
guest_request.printer_id = fallback_printer.id
logger.warning(f"⚠️ Automatisch OFFLINE-Drucker zugewiesen: {fallback_printer.name} (alle Drucker sind offline)")
else:
return jsonify({"error": "Kein aktiver Drucker verfügbar. Bitte aktivieren Sie mindestens einen Drucker."}), 400
return jsonify({
"error": "Kein Drucker verfügbar",
"details": "Es sind keine aktiven Drucker konfiguriert."
}), 400
# Drucker-Objekt für Job-Erstellung laden
printer = db_session.query(Printer).filter_by(id=guest_request.printer_id).first()
@ -1143,4 +1336,130 @@ def api_guest_status_by_otp():
@guest_blueprint.route('/status-check')
def guest_status_check_page():
"""Status-Check-Seite für Gäste."""
return render_template('guest_status_check.html')
return render_template('guest_status_check.html')
@guest_blueprint.route('/api/admin/printer-status', methods=['GET'])
@approver_required
def api_get_printer_status_for_admin():
"""
Drucker-Status für Admin-Oberfläche abrufen.
Zeigt welche Drucker verfügbar sind für die Zuweisung bei Gastanfragen.
"""
try:
from utils.hardware_integration import get_drucker_steuerung
with get_cached_session() as db_session:
# Alle aktiven Drucker laden
printers = db_session.query(Printer).filter(Printer.active == True).all()
if not printers:
return jsonify({
"success": True,
"printers": [],
"summary": {
"total": 0,
"online": 0,
"offline": 0,
"unconfigured": 0
},
"message": "Keine aktiven Drucker konfiguriert"
})
drucker_steuerung = get_drucker_steuerung()
printer_status_list = []
summary = {
"total": len(printers),
"online": 0,
"offline": 0,
"unconfigured": 0
}
for printer in printers:
printer_info = {
"id": printer.id,
"name": printer.name,
"model": printer.model or "Unbekannt",
"location": printer.location or "TBA Marienfelde",
"ip_address": printer.ip_address,
"plug_ip": printer.plug_ip,
"active": printer.active,
"status": "unknown",
"reachable": False,
"power_state": "unknown",
"can_be_assigned": False,
"status_message": "",
"last_checked": datetime.now().isoformat()
}
if printer.plug_ip:
try:
# Echtzeit-Status prüfen
reachable, power_status = drucker_steuerung.check_outlet_status(
printer.plug_ip, printer.id
)
printer_info["reachable"] = reachable
printer_info["power_state"] = power_status
if reachable:
printer_info["status"] = "online"
printer_info["can_be_assigned"] = True
printer_info["status_message"] = f"Online ({power_status.upper()})"
summary["online"] += 1
else:
printer_info["status"] = "offline"
printer_info["can_be_assigned"] = False
printer_info["status_message"] = "Offline - Nicht erreichbar"
summary["offline"] += 1
except Exception as e:
printer_info["status"] = "error"
printer_info["can_be_assigned"] = False
printer_info["status_message"] = f"Fehler: {str(e)}"
printer_info["error"] = str(e)
summary["offline"] += 1
logger.warning(f"⚠️ Admin-Status-Prüfung für {printer.name} fehlgeschlagen: {e}")
else:
printer_info["status"] = "unconfigured"
printer_info["can_be_assigned"] = False
printer_info["status_message"] = "Keine Steckdose konfiguriert"
summary["unconfigured"] += 1
printer_status_list.append(printer_info)
# Nach Status sortieren: Online zuerst, dann offline, dann unkonfiguriert
printer_status_list.sort(key=lambda x: (
0 if x["status"] == "online" else
1 if x["status"] == "offline" else
2 # unconfigured oder error
))
# Empfehlung für Admin generieren
recommendations = []
if summary["online"] == 0:
if summary["unconfigured"] > 0:
recommendations.append("Konfigurieren Sie Tapo-Steckdosen für die Drucker ohne Steuerung")
if summary["offline"] > 0:
recommendations.append("Prüfen Sie die Netzwerkverbindungen der offline Drucker")
recommendations.append("Aktuell können keine Gastanfragen automatisch gestartet werden")
elif summary["online"] < summary["total"]:
recommendations.append(f"Nur {summary['online']} von {summary['total']} Druckern sind verfügbar")
return jsonify({
"success": True,
"printers": printer_status_list,
"summary": summary,
"recommendations": recommendations,
"timestamp": datetime.now().isoformat(),
"message": f"Status von {len(printer_status_list)} Druckern abgerufen"
})
except Exception as e:
logger.error(f"Fehler beim Abrufen des Admin-Drucker-Status: {str(e)}")
return jsonify({
"success": False,
"error": "Fehler beim Abrufen des Drucker-Status",
"details": str(e)
}), 500

View File

@ -2072,3 +2072,29 @@ jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined
2025-06-20 10:41:19 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 10:41:19 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 10:41:20 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin
2025-06-20 11:58:18 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 11:58:18 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin
2025-06-20 11:58:18 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers'
2025-06-20 11:58:19 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 11:58:19 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 11:58:20 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin
2025-06-20 11:58:21 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_requests: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:02:50 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:02:50 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin
2025-06-20 12:02:50 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers'
2025-06-20 12:02:50 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:02:51 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:02:52 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin
2025-06-20 12:03:02 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_requests: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:03:16 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:03:16 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin
2025-06-20 12:03:16 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers'
2025-06-20 12:03:16 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:03:16 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:03:17 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin
2025-06-20 12:03:21 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_otps_management: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:03:21 - [admin] admin - [INFO] INFO - Gast-OTP-Verwaltung aufgerufen von Admin Administrator
2025-06-20 12:03:22 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:03:22 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True
2025-06-20 12:03:22 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 6 Codes
2025-06-20 12:03:22 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 6 Einträge für Admin Administrator

View File

@ -793,3 +793,6 @@
2025-06-20 10:30:08 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
2025-06-20 10:30:08 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical
2025-06-20 10:41:19 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin
2025-06-20 11:58:19 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin
2025-06-20 12:02:50 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin
2025-06-20 12:03:16 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin

View File

@ -132,3 +132,17 @@
2025-06-20 10:10:43 - [api] api - [INFO] INFO - Jobs-Timeline-Chart-Daten abgerufen von Benutzer admin
2025-06-20 10:10:43 - [api] api - [INFO] INFO - Drucker-Nutzung-Chart-Daten abgerufen von Benutzer admin
2025-06-20 10:10:43 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
2025-06-20 11:58:05 - [api] api - [INFO] INFO - Job-Status-Chart-Daten abgerufen von Benutzer admin
2025-06-20 11:58:05 - [api] api - [INFO] INFO - Drucker-Nutzung-Chart-Daten abgerufen von Benutzer admin
2025-06-20 11:58:05 - [api] api - [INFO] INFO - Jobs-Timeline-Chart-Daten abgerufen von Benutzer admin
2025-06-20 11:58:05 - [api] api - [ERROR] ERROR - Fehler beim Abrufen der Benutzer-Aktivität-Chart-Daten: Can't determine join between 'users' and 'jobs'; tables have more than one foreign key constraint relationship between them. Please specify the 'onclause' of this join explicitly.
2025-06-20 11:58:05 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
2025-06-20 12:05:10 - [api] api - [INFO] INFO - Jobs-Timeline-Chart-Daten abgerufen von Benutzer admin
2025-06-20 12:05:10 - [api] api - [INFO] INFO - Job-Status-Chart-Daten abgerufen von Benutzer admin
2025-06-20 12:05:10 - [api] api - [INFO] INFO - Drucker-Nutzung-Chart-Daten abgerufen von Benutzer admin
2025-06-20 12:05:10 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
2025-06-20 12:05:12 - [api] api - [ERROR] ERROR - Fehler beim Abrufen der Benutzer-Aktivität-Chart-Daten: Can't determine join between 'users' and 'jobs'; tables have more than one foreign key constraint relationship between them. Please specify the 'onclause' of this join explicitly.
2025-06-20 12:05:12 - [api] api - [INFO] INFO - Jobs-Timeline-Chart-Daten abgerufen von Benutzer admin
2025-06-20 12:05:12 - [api] api - [INFO] INFO - Job-Status-Chart-Daten abgerufen von Benutzer admin
2025-06-20 12:05:12 - [api] api - [INFO] INFO - Drucker-Nutzung-Chart-Daten abgerufen von Benutzer admin
2025-06-20 12:05:12 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin

View File

@ -63837,3 +63837,915 @@ WHERE users.role = ?]
2025-06-20 11:56:45 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-20 11:56:45 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-20 11:56:45 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler:
2025-06-20 11:56:47 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung:
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [CONFIG] Production-Modus:
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment:
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode:
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo:
2025-06-20 11:56:49 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-20 11:56:49 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] 🏢
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped:
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-20 11:56:49 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-20 11:56:49 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-20 11:56:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-20 11:56:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-20 11:56:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-20 11:56:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-20 11:56:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-20 11:56:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-20 11:56:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-20 11:56:50 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-20 11:56:50 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-20 11:56:50 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-20 11:56:50 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-20 11:56:50 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-20 11:56:50 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-20 11:56:50 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-20 11:56:50 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-20 11:56:50 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)...
2025-06-20 11:57:08 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden
2025-06-20 11:57:08 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://:
2025-06-20 11:57:58 - [app] app - [INFO] INFO - Locating template 'energy_dashboard.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\energy_dashboard.html')
2025-06-20 11:57:58 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 11:57:58 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:57:58 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:57:58 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:57:58 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:05 - [app] app - [INFO] INFO - Locating template 'stats.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\stats.html')
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:05 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers :
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:05 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:07 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:07 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_request.html')
2025-06-20 11:58:08 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:08 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:08 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:12 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 5
2025-06-20 11:58:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:12 - [app] app - [INFO] INFO - Locating template 'guest_status.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_status.html')
2025-06-20 11:58:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:16 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:16 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:16 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers :
2025-06-20 11:58:16 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:16 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:18 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:18 - [app] app - [INFO] INFO - Locating template 'admin.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin.html')
2025-06-20 11:58:18 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:19 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:19 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:19 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:19 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:19 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:20 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:21 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:21 - [app] app - [INFO] INFO - Locating template 'admin_guest_requests.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin_guest_requests.html')
2025-06-20 11:58:21 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:21 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:21 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:21 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:21 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:29 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:29 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 5
2025-06-20 11:58:29 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:29 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:29 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:34 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:38 - [app] app - [ERROR] ERROR - CSRF-Fehler für :
2025-06-20 11:58:38 - [app] app - [ERROR] ERROR - Request Headers:
2025-06-20 11:58:38 - [app] app - [ERROR] ERROR - Request Form:
2025-06-20 11:58:38 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:38 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:38 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:38 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:38 - [app] app - [INFO] INFO - Locating template 'login.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\login.html')
2025-06-20 11:58:38 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:40 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:40 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:44 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:44 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_requests_overview.html')
2025-06-20 11:58:44 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:46 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:47 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 1
2025-06-20 11:58:47 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 2
2025-06-20 11:58:47 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 3
2025-06-20 11:58:47 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 4
2025-06-20 11:58:47 - [app] app - [INFO] INFO - OTP erfolgreich verifiziert für Guest Request 5
2025-06-20 11:58:47 - [app] app - [INFO] INFO - OTP als verwendet markiert für Guest Request 5
2025-06-20 11:58:47 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:58:50 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:58:50 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:59:21 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:59:21 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 11:59:51 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 11:59:51 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:08 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:08 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:08 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:08 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:12 - [app] app - [INFO] INFO - Locating template 'dashboard.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html')
2025-06-20 12:00:12 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\macros\\ui_components.html')
2025-06-20 12:00:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:13 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-20 12:00:13 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-20 12:00:13 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler:
2025-06-20 12:00:15 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung:
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [CONFIG] Production-Modus:
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment:
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode:
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo:
2025-06-20 12:00:16 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] 🏢
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped:
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-20 12:00:16 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-20 12:00:16 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-20 12:00:16 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)...
2025-06-20 12:00:34 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden
2025-06-20 12:00:34 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://:
2025-06-20 12:00:34 - [app] app - [INFO] INFO - Locating template 'jobs.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\jobs.html')
2025-06-20 12:00:34 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 12:00:34 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:35 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:35 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:35 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:35 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:00:35 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:00:35 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=)
2025-06-20 12:00:35 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:01 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:01 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:01:01 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html')
2025-06-20 12:01:01 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:02 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:03 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:03 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=)
2025-06-20 12:01:03 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:04 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-20 12:01:04 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-20 12:01:04 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler:
2025-06-20 12:01:05 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung:
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [CONFIG] Production-Modus:
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment:
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode:
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo:
2025-06-20 12:01:07 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] 🏢
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped:
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-20 12:01:07 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-20 12:01:07 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-20 12:01:07 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)...
2025-06-20 12:01:25 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden
2025-06-20 12:01:25 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://:
2025-06-20 12:01:25 - [app] app - [INFO] INFO - Locating template 'dashboard.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html')
2025-06-20 12:01:25 - [app] app - [INFO] INFO - Locating template 'jobs.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\jobs.html')
2025-06-20 12:01:25 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 12:01:25 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 12:01:25 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:25 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\macros\\ui_components.html')
2025-06-20 12:01:25 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:25 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:25 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:01:25 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html')
2025-06-20 12:01:25 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:26 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:26 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:30 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:30 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:31 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:31 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=)
2025-06-20 12:01:31 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:36 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:36 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_request.html')
2025-06-20 12:01:36 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:36 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:36 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:01:36 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:36 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:36 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:41 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:41 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 6
2025-06-20 12:01:41 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:41 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:41 - [app] app - [INFO] INFO - Locating template 'guest_status.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_status.html')
2025-06-20 12:01:41 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:45 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:45 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:45 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:45 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:01:45 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:01:45 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:01:45 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:01 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-20 12:02:01 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-20 12:02:01 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler:
2025-06-20 12:02:03 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung:
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [CONFIG] Production-Modus:
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment:
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode:
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo:
2025-06-20 12:02:04 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] 🏢
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped:
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-20 12:02:04 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-20 12:02:04 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-20 12:02:04 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)...
2025-06-20 12:02:22 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden
2025-06-20 12:02:22 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://:
2025-06-20 12:02:22 - [app] app - [INFO] INFO - Locating template 'guest_status.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_status.html')
2025-06-20 12:02:22 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 12:02:22 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:22 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:22 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:02:22 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html')
2025-06-20 12:02:22 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:22 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:22 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:28 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:28 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_requests_overview.html')
2025-06-20 12:02:28 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:28 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:28 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:02:28 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:28 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:28 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:29 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-20 12:02:29 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-20 12:02:29 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler:
2025-06-20 12:02:30 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung:
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [CONFIG] Production-Modus:
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment:
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode:
2025-06-20 12:02:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo:
2025-06-20 12:02:32 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] 🏢
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped:
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-20 12:02:32 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-20 12:02:32 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-20 12:02:32 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)...
2025-06-20 12:02:50 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden
2025-06-20 12:02:50 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://:
2025-06-20 12:02:50 - [app] app - [INFO] INFO - Locating template 'admin.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin.html')
2025-06-20 12:02:50 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:50 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:02:50 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html')
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:02:50 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:02:52 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:02 - [app] app - [INFO] INFO - Locating template 'admin_guest_requests.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin_guest_requests.html')
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:02 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:02 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:08 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:09 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 6
2025-06-20 12:03:09 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:09 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:09 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:13 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:13 - [app] app - [INFO] INFO - Locating template 'dashboard.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html')
2025-06-20 12:03:13 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\macros\\ui_components.html')
2025-06-20 12:03:13 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:13 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:13 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:03:13 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:13 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:13 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:16 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:16 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:17 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:21 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:21 - [app] app - [INFO] INFO - Locating template 'admin_guest_otps.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin_guest_otps.html')
2025-06-20 12:03:21 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:22 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:22 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:44 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:44 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_request.html')
2025-06-20 12:03:44 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:44 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:44 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:03:44 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:44 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:44 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:47 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:47 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_requests_overview.html')
2025-06-20 12:03:47 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:47 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:47 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:03:47 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:47 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:47 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:03:50 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:03:51 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 1
2025-06-20 12:03:51 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 2
2025-06-20 12:03:51 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 3
2025-06-20 12:03:51 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 4
2025-06-20 12:03:51 - [app] app - [WARNING] WARNING - Ungültiger OTP-Code für Guest Request 5
2025-06-20 12:03:52 - [app] app - [INFO] INFO - OTP erfolgreich verifiziert für Guest Request 6
2025-06-20 12:03:57 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:04:03 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:04:07 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:04:07 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:04:07 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:04:07 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:04:07 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:04:07 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:04:07 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:04:09 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system
2025-06-20 12:04:09 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker ->
2025-06-20 12:04:15 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system
2025-06-20 12:04:15 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker ->
2025-06-20 12:04:21 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system
2025-06-20 12:04:21 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker ->
2025-06-20 12:04:27 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system
2025-06-20 12:04:27 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker ->
2025-06-20 12:04:33 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system
2025-06-20 12:04:33 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker ->
2025-06-20 12:04:37 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:04:37 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:04:39 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system
2025-06-20 12:04:39 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker ->
2025-06-20 12:04:39 - [app] app - [DEBUG] DEBUG - ✅ Status-Updates für Drucker erfolgreich gespeichert
2025-06-20 12:04:39 - [app] app - [INFO] INFO - Locating template 'printers.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\printers.html')
2025-06-20 12:04:39 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:07 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:07 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [INFO] INFO - Locating template 'stats.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\stats.html')
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:10 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:12 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:12 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-20 12:05:12 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-20 12:05:12 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler:
2025-06-20 12:05:13 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung:
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [CONFIG] Production-Modus:
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment:
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode:
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo:
2025-06-20 12:05:14 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-20 12:05:14 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [STARTUP] 🏢
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped:
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-20 12:05:14 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-20 12:05:14 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-20 12:05:15 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-20 12:05:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-20 12:05:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-20 12:05:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-20 12:05:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-20 12:05:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-20 12:05:15 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-20 12:05:15 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-20 12:05:15 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-20 12:05:15 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-20 12:05:15 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)...
2025-06-20 12:05:33 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden
2025-06-20 12:05:33 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://:
2025-06-20 12:05:33 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_request.html')
2025-06-20 12:05:33 - [app] app - [INFO] INFO - Locating template 'calendar.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\calendar.html')
2025-06-20 12:05:33 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 12:05:33 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:33 - [app] app - [INFO] INFO - Not Found (404):
2025-06-20 12:05:33 - [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:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html')
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Request:
2025-06-20 12:05:33 - [app] app - [INFO] INFO - Locating template 'dashboard.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html')
2025-06-20 12:05:33 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\macros\\ui_components.html')
2025-06-20 12:05:33 - [app] app - [DEBUG] DEBUG - Response:
2025-06-20 12:05:52 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db
2025-06-20 12:05:52 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)

View File

@ -176,3 +176,6 @@ WHERE users.username = ? OR users.email = ?
2025-06-20 10:24:24 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet
2025-06-20 11:55:29 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)
2025-06-20 11:55:29 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet
2025-06-20 11:58:38 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich abgemeldet
2025-06-20 12:00:10 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)
2025-06-20 12:00:10 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet

View File

@ -494,3 +494,13 @@
2025-06-20 11:54:41 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-20 11:55:07 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-20 11:55:07 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-20 11:56:47 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-20 11:56:47 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-20 12:00:14 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-20 12:00:14 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-20 12:01:05 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-20 12:01:05 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-20 12:02:02 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-20 12:02:02 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-20 12:02:30 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-20 12:02:30 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)

View File

@ -1033,3 +1033,13 @@
2025-06-20 11:54:42 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 11:55:07 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-20 11:55:07 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 11:56:48 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-20 11:56:48 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:00:15 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-20 12:00:15 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:01:05 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-20 12:01:05 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:02:03 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-20 12:02:03 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:02:31 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-20 12:02:31 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)

View File

@ -104,3 +104,8 @@
2025-06-20 11:19:32 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-20 11:54:47 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-20 11:55:08 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-20 11:56:49 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-20 12:00:16 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-20 12:01:07 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-20 12:02:04 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-20 12:02:32 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen

View File

@ -829,3 +829,12 @@
2025-06-20 11:19:32 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-20 11:54:47 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-20 11:55:08 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-20 11:56:49 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-20 11:57:58 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin
2025-06-20 11:57:58 - [energy_monitoring] energy_monitoring - [INFO] INFO - 📊 API-Energiemonitoring-Dashboard von admin
2025-06-20 11:58:34 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Dashboard-Daten erfolgreich erstellt: 0 Geräte online
2025-06-20 11:58:34 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiemonitoring-Dashboard 'api_energy_dashboard' erfolgreich in 35847.58ms
2025-06-20 12:00:16 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-20 12:01:07 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-20 12:02:04 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-20 12:02:32 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert

View File

@ -87,3 +87,9 @@ WHERE user_permissions.can_approve_jobs = 1]
2025-06-20 10:20:34 - [guest] guest - [INFO] INFO - Gastanfrage 4 genehmigt von Admin 1 (admin), Drucker: Drucker 2
2025-06-20 10:21:06 - [guest] guest - [WARNING] WARNING - ⚠️ Steckdose für Gast-Job 2 konnte nicht eingeschaltet werden
2025-06-20 10:21:06 - [guest] guest - [INFO] INFO - Job 2 mit 6-stelligem OTP-Code gestartet für Gastanfrage 4
2025-06-20 11:58:12 - [guest] guest - [INFO] INFO - Neue Gastanfrage erstellt: ID 5, Name: Till Tomczaktet, OTP generiert
2025-06-20 11:58:29 - [guest] guest - [INFO] INFO - Gastanfrage 5 genehmigt von Admin 1 (admin), Drucker: Drucker 2
2025-06-20 11:58:47 - [guest] guest - [WARNING] WARNING - ⚠️ Steckdose für Gast-Job 1 konnte nicht eingeschaltet werden
2025-06-20 11:58:47 - [guest] guest - [INFO] INFO - Job 1 mit 6-stelligem OTP-Code gestartet für Gastanfrage 5
2025-06-20 12:01:41 - [guest] guest - [INFO] INFO - Neue Gastanfrage erstellt: ID 6, Name: Till Tomczaktet, OTP generiert
2025-06-20 12:03:09 - [guest] guest - [INFO] INFO - Gastanfrage 6 genehmigt von Admin 1 (admin), Drucker: Drucker 2

View File

@ -3851,3 +3851,40 @@
2025-06-20 11:56:02 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.104 ist im Netzwerk nicht erreichbar
2025-06-20 11:56:08 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.106 ist über keine Methode erreichbar
2025-06-20 11:56:08 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.106 ist im Netzwerk nicht erreichbar
2025-06-20 11:56:48 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-20 11:56:50 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE
2025-06-20 11:58:04 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.100 ist über keine Methode erreichbar
2025-06-20 11:58:04 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.100 ist im Netzwerk nicht erreichbar
2025-06-20 11:58:10 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.101 ist über keine Methode erreichbar
2025-06-20 11:58:10 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.101 ist im Netzwerk nicht erreichbar
2025-06-20 11:58:16 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.102 ist über keine Methode erreichbar
2025-06-20 11:58:16 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.102 ist im Netzwerk nicht erreichbar
2025-06-20 11:58:22 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.103 ist über keine Methode erreichbar
2025-06-20 11:58:22 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.103 ist im Netzwerk nicht erreichbar
2025-06-20 11:58:28 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.104 ist über keine Methode erreichbar
2025-06-20 11:58:28 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.104 ist im Netzwerk nicht erreichbar
2025-06-20 11:58:34 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.106 ist über keine Methode erreichbar
2025-06-20 11:58:34 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.106 ist im Netzwerk nicht erreichbar
2025-06-20 11:58:34 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Energiestatistiken erstellt: 0/6 Drucker online
2025-06-20 12:00:15 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-20 12:00:16 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE
2025-06-20 12:01:05 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-20 12:01:07 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE
2025-06-20 12:02:03 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-20 12:02:04 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE
2025-06-20 12:02:31 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-20 12:02:32 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE
2025-06-20 12:03:57 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.101 ist über keine Methode erreichbar
2025-06-20 12:03:57 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.101 ist im Netzwerk nicht erreichbar
2025-06-20 12:04:09 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.100 ist über keine Methode erreichbar
2025-06-20 12:04:09 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.100 ist im Netzwerk nicht erreichbar
2025-06-20 12:04:15 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.101 ist über keine Methode erreichbar
2025-06-20 12:04:15 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.101 ist im Netzwerk nicht erreichbar
2025-06-20 12:04:21 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.102 ist über keine Methode erreichbar
2025-06-20 12:04:21 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.102 ist im Netzwerk nicht erreichbar
2025-06-20 12:04:27 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.103 ist über keine Methode erreichbar
2025-06-20 12:04:27 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.103 ist im Netzwerk nicht erreichbar
2025-06-20 12:04:33 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.104 ist über keine Methode erreichbar
2025-06-20 12:04:33 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.104 ist im Netzwerk nicht erreichbar
2025-06-20 12:04:39 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ 192.168.0.106 ist über keine Methode erreichbar
2025-06-20 12:04:39 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Steckdose 192.168.0.106 ist im Netzwerk nicht erreichbar

View File

@ -1998,3 +1998,23 @@
2025-06-20 11:55:07 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-20 11:55:08 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-20 11:56:45 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
2025-06-20 11:56:48 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-20 11:56:48 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-20 11:56:50 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-20 12:00:13 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
2025-06-20 12:00:15 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-20 12:00:15 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-20 12:00:16 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-20 12:01:04 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
2025-06-20 12:01:05 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-20 12:01:05 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-20 12:01:07 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-20 12:02:01 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
2025-06-20 12:02:03 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-20 12:02:03 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-20 12:02:04 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-20 12:02:29 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
2025-06-20 12:02:31 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-20 12:02:31 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-20 12:02:32 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-20 12:05:12 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)

View File

@ -1097,3 +1097,9 @@ sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) FOREIGN KEY constraint f
2025-06-20 10:41:53 - [jobs] jobs - [INFO] INFO - ✅ Job 'Gastauftrag: Till Tomczaktet' (ID: 1) erfolgreich gelöscht von Benutzer 1
2025-06-20 10:41:53 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
2025-06-20 10:41:53 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1)
2025-06-20 12:00:35 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
2025-06-20 12:00:35 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 1 von 1 (Seite 1)
2025-06-20 12:01:02 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
2025-06-20 12:01:02 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 1 von 1 (Seite 1)
2025-06-20 12:01:30 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
2025-06-20 12:01:30 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 1 von 1 (Seite 1)

View File

@ -30,3 +30,7 @@
2025-06-20 10:09:18 - [models] models - [INFO] INFO - Erfolgreich 1 Benachrichtigungen erstellt für 'guest_request'
2025-06-20 10:19:53 - [models] models - [INFO] INFO - Gefunden: 1 Genehmiger für Benachrichtigung 'guest_request'
2025-06-20 10:19:53 - [models] models - [INFO] INFO - Erfolgreich 1 Benachrichtigungen erstellt für 'guest_request'
2025-06-20 11:58:12 - [models] models - [INFO] INFO - Gefunden: 1 Genehmiger für Benachrichtigung 'guest_request'
2025-06-20 11:58:12 - [models] models - [INFO] INFO - Erfolgreich 1 Benachrichtigungen erstellt für 'guest_request'
2025-06-20 12:01:41 - [models] models - [INFO] INFO - Gefunden: 1 Genehmiger für Benachrichtigung 'guest_request'
2025-06-20 12:01:41 - [models] models - [INFO] INFO - Erfolgreich 1 Benachrichtigungen erstellt für 'guest_request'

View File

@ -1021,3 +1021,13 @@
2025-06-20 11:54:47 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 11:55:08 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-20 11:55:08 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 11:56:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-20 11:56:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:00:16 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-20 12:00:16 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:01:07 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-20 12:01:07 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:02:04 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-20 12:02:04 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:02:31 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-20 12:02:31 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)

View File

@ -559,3 +559,14 @@ WHERE users.role = ?]
2025-06-20 11:19:32 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 11:54:48 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 11:55:08 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 11:56:49 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 11:58:21 - [permissions] permissions - [INFO] INFO - UserPermission für Admin-Benutzer 1 aktualisiert
2025-06-20 11:58:29 - [permissions] permissions - [INFO] INFO - UserPermission für Admin-Benutzer 1 aktualisiert
2025-06-20 11:58:29 - [permissions] permissions - [INFO] INFO - UserPermission für Admin-Benutzer 1 aktualisiert
2025-06-20 12:00:16 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 12:01:07 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 12:02:04 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 12:02:32 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 12:03:02 - [permissions] permissions - [INFO] INFO - UserPermission für Admin-Benutzer 1 aktualisiert
2025-06-20 12:03:08 - [permissions] permissions - [INFO] INFO - UserPermission für Admin-Benutzer 1 aktualisiert
2025-06-20 12:03:09 - [permissions] permissions - [INFO] INFO - UserPermission für Admin-Benutzer 1 aktualisiert

View File

@ -4544,3 +4544,120 @@
2025-06-20 11:55:26 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0
2025-06-20 11:55:26 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden!
2025-06-20 11:55:26 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 11:56:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-20 11:56:50 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-20 11:56:50 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-20 11:56:50 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart...
2025-06-20 11:56:50 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen...
2025-06-20 11:56:53 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar
2025-06-20 11:56:56 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar
2025-06-20 11:56:59 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar
2025-06-20 11:57:02 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar
2025-06-20 11:57:05 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar
2025-06-20 11:57:08 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar
2025-06-20 11:57:08 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 11:57:08 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN
2025-06-20 11:57:08 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen
2025-06-20 11:57:08 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0
2025-06-20 11:57:08 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6
2025-06-20 11:57:08 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0
2025-06-20 11:57:08 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden!
2025-06-20 11:57:08 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 11:58:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:00:15 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-20 12:00:16 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-20 12:00:16 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-20 12:00:16 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart...
2025-06-20 12:00:16 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen...
2025-06-20 12:00:19 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar
2025-06-20 12:00:22 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar
2025-06-20 12:00:25 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar
2025-06-20 12:00:28 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar
2025-06-20 12:00:31 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar
2025-06-20 12:00:34 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar
2025-06-20 12:00:34 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:00:34 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN
2025-06-20 12:00:34 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen
2025-06-20 12:00:34 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0
2025-06-20 12:00:34 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6
2025-06-20 12:00:34 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0
2025-06-20 12:00:34 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden!
2025-06-20 12:00:34 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:01:05 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-20 12:01:07 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-20 12:01:07 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-20 12:01:07 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart...
2025-06-20 12:01:07 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen...
2025-06-20 12:01:10 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar
2025-06-20 12:01:13 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar
2025-06-20 12:01:16 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar
2025-06-20 12:01:19 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar
2025-06-20 12:01:22 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar
2025-06-20 12:01:25 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar
2025-06-20 12:01:25 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:01:25 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN
2025-06-20 12:01:25 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen
2025-06-20 12:01:25 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0
2025-06-20 12:01:25 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6
2025-06-20 12:01:25 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0
2025-06-20 12:01:25 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden!
2025-06-20 12:01:25 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:02:03 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-20 12:02:04 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-20 12:02:04 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-20 12:02:04 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart...
2025-06-20 12:02:04 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen...
2025-06-20 12:02:07 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar
2025-06-20 12:02:10 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar
2025-06-20 12:02:13 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar
2025-06-20 12:02:16 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar
2025-06-20 12:02:19 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar
2025-06-20 12:02:22 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar
2025-06-20 12:02:22 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:02:22 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN
2025-06-20 12:02:22 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen
2025-06-20 12:02:22 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0
2025-06-20 12:02:22 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6
2025-06-20 12:02:22 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0
2025-06-20 12:02:22 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden!
2025-06-20 12:02:22 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:02:31 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-20 12:02:32 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-20 12:02:32 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-20 12:02:32 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart...
2025-06-20 12:02:32 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen...
2025-06-20 12:02:35 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar
2025-06-20 12:02:38 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar
2025-06-20 12:02:41 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar
2025-06-20 12:02:44 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar
2025-06-20 12:02:47 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar
2025-06-20 12:02:50 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar
2025-06-20 12:02:50 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:02:50 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN
2025-06-20 12:02:50 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen
2025-06-20 12:02:50 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0
2025-06-20 12:02:50 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6
2025-06-20 12:02:50 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0
2025-06-20 12:02:50 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden!
2025-06-20 12:02:50 - [scheduler] scheduler - [INFO] INFO - ============================================================
2025-06-20 12:03:32 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet
2025-06-20 12:03:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:03:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-20 12:03:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet
2025-06-20 12:03:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:03:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-20 12:04:02 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet
2025-06-20 12:04:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:04:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-20 12:04:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet
2025-06-20 12:04:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:04:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-20 12:04:32 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet
2025-06-20 12:04:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:04:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-20 12:04:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet
2025-06-20 12:04:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:04:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-20 12:05:02 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet
2025-06-20 12:05:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined
2025-06-20 12:05:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten

View File

@ -1544,3 +1544,18 @@
2025-06-20 11:55:07 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-20 11:55:07 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 11:55:08 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
2025-06-20 11:56:48 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-20 11:56:48 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 11:56:49 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
2025-06-20 12:00:15 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-20 12:00:15 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:00:16 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
2025-06-20 12:01:05 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-20 12:01:05 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:01:07 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
2025-06-20 12:02:03 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-20 12:02:03 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:02:04 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
2025-06-20 12:02:31 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-20 12:02:31 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-20 12:02:32 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert

View File

@ -4079,3 +4079,48 @@
2025-06-20 11:55:08 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-20 11:55:08 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-20 11:55:08 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T11:56:49.488080
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-20 11:56:49 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:00:16.188427
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-20 12:00:16 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:01:07.081539
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-20 12:01:07 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:02:04.019319
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-20 12:02:04 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - ==================================================
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:02:31.953306
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-20 12:02:31 - [startup] startup - [INFO] INFO - ==================================================

View File

@ -1351,3 +1351,17 @@
2025-06-20 11:54:42 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 11:55:07 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 11:55:07 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 11:56:47 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 11:56:47 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 12:00:15 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 12:00:15 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 12:01:05 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 12:01:05 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 12:02:02 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 12:02:02 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 12:02:30 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 12:02:30 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 12:05:13 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 12:05:13 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-20 12:05:52 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-20 12:05:52 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)

View File

@ -497,3 +497,13 @@
2025-06-20 11:54:41 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-20 11:55:07 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-20 11:55:07 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-20 11:56:47 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-20 11:56:47 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-20 12:00:14 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-20 12:00:14 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-20 12:01:05 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-20 12:01:05 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-20 12:02:02 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-20 12:02:02 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-20 12:02:30 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-20 12:02:30 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet

View File

@ -293,7 +293,43 @@ document.addEventListener('DOMContentLoaded', function() {
}, 3000);
} else {
showError('Code ungültig', result.error || 'Der eingegebene Code ist ungültig oder bereits verwendet.');
// Erweiterte Fehlerbehandlung mit detaillierten Informationen
let errorTitle = 'Code ungültig';
let errorMessage = result.error || 'Der eingegebene Code ist ungültig oder bereits verwendet.';
// Spezifische Behandlung für Drucker-bezogene Fehler
if (result.error_details) {
const details = result.error_details;
switch (details.type) {
case 'printer_offline':
errorTitle = 'Drucker nicht verfügbar';
errorMessage = `Der zugewiesene Drucker "${details.printer_name}" ist derzeit offline und kann nicht gestartet werden. Bitte wenden Sie sich an den Administrator oder versuchen Sie es später erneut.`;
break;
case 'all_printers_offline':
errorTitle = 'Alle Drucker offline';
errorMessage = `Derzeit sind alle ${details.total_printers} Drucker offline (${details.offline_list}). Jobs können momentan nicht gestartet werden. Bitte warten Sie, bis mindestens ein Drucker wieder online ist, oder wenden Sie sich an den Administrator.`;
break;
case 'no_printers_configured':
errorTitle = 'Keine Drucker konfiguriert';
errorMessage = 'Es sind derzeit keine aktiven Drucker für das System konfiguriert. Bitte wenden Sie sich an den Administrator.';
break;
case 'printer_check_failed':
errorTitle = 'Drucker-Status unbekannt';
errorMessage = `Der Status des Druckers "${details.printer_name}" konnte nicht ermittelt werden. Bitte versuchen Sie es in wenigen Minuten erneut oder wenden Sie sich an den Administrator.`;
break;
default:
// Standardverhalten für unbekannte Fehlertypen
errorTitle = 'Fehler beim Starten';
break;
}
}
showError(errorTitle, errorMessage);
clearCode();
}