🎉 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:
@ -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
|
||||
|
1
backend/DOCS/OTP_DRUCKER_VERFÜGBARKEIT_VERBESSERUNG.md
Normal file
1
backend/DOCS/OTP_DRUCKER_VERFÜGBARKEIT_VERBESSERUNG.md
Normal file
@ -0,0 +1 @@
|
||||
|
446
backend/DOCS/Template-Backend-Zuordnung.md
Normal file
446
backend/DOCS/Template-Backend-Zuordnung.md
Normal 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.
|
Binary file not shown.
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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'
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 - ==================================================
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user