diff --git a/backend/README.md b/backend/README.md index f5d94692..bfc12456 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,282 +1,459 @@ -# Mercedes-Benz TBA Marienfelde - 3D-Drucker Management System +# MYP Druckerverwaltung -## Übersicht +Ein umfassendes Druckerverwaltungssystem für Mercedes-Benz, optimiert für Debian/Linux-Systeme mit HTTPS-Kiosk-Modus. -Ein umfassendes Management-System für 3D-Drucker in der Mercedes-Benz Technischen Berufsausbildung (TBA) Marienfelde. Das System ermöglicht die zentrale Verwaltung, Überwachung und Steuerung von 3D-Druckern und deren Stromversorgung. +## 🚀 Schnellstart -## Hauptfunktionen +### Debian/Linux Kiosk-Installation (Empfohlen) -### 🖨️ Drucker-Management -- Zentrale Verwaltung aller 3D-Drucker -- Echtzeit-Statusüberwachung -- Druckjob-Verwaltung und -Scheduling -- Benutzer- und Rechteverwaltung - -### ⚡ **NEU: Steckdosen-Test-System** -Sichere Testfunktion für Ausbilder und Administratoren zur Steuerung der Druckerstromversorgung: - -- **Sicherheitsprüfungen**: Automatische Warnungen bei aktiven Druckjobs -- **Risikobewertung**: Intelligente Analyse basierend auf Stromverbrauch und Gerätestatus -- **Force-Modus**: Notfallsteuerung mit erweiterten Sicherheitsabfragen -- **Audit-Trail**: Vollständige Protokollierung aller Testaktivitäten -- **Echtzeit-Monitoring**: Live-Status aller konfigurierten Steckdosen - -**Zugriff:** `/socket-test` (nur für Administratoren) - -### 📊 Monitoring & Analytics -- Live-Dashboard mit Druckerstatus -- Energieverbrauchsüberwachung -- Statistiken und Berichte -- Fehlerprotokollierung - -### 👤 Benutzer-System -- Rollenbasierte Zugriffskontrolle -- Gastanfragen für externe Nutzer -- Admin-Bereich für Systemverwaltung -- Session-Management mit automatischem Logout - -## Technische Spezifikationen - -### Backend -- **Framework:** Flask (Python) -- **Datenbank:** SQLite mit WAL-Modus -- **ORM:** SQLAlchemy -- **Authentifizierung:** Flask-Login -- **API:** RESTful JSON-API - -### ⚡ **NEU: Sofort-Shutdown-System** -Aggressiver Signal-Handler für sofortiges und sicheres Herunterfahren: - -- **Strg+C Unterstützung**: Sofortiges Shutdown bei SIGINT/SIGTERM -- **Datenbank-Schutz**: Automatischer WAL-Checkpoint vor Beendigung -- **Session-Cleanup**: Alle DB-Sessions werden ordnungsgemäß geschlossen -- **Plattform-übergreifend**: Windows (SIGBREAK) und Unix/Linux (SIGHUP) Support -- **Fehlerresistent**: Robuste Behandlung auch bei Cleanup-Fehlern -- **Sofortiger Exit**: Verwendet `os._exit(0)` für garantierte Beendigung - -**Funktion:** Drücken Sie `Strg+C` um die Anwendung sofort und sicher zu beenden. -**Dokumentation:** [`docs/STRG_C_SHUTDOWN.md`](docs/STRG_C_SHUTDOWN.md) - -### Frontend -- **Framework:** Vanilla JavaScript + Tailwind CSS -- **Design:** Mercedes-Benz Corporate Design -- **Responsive:** Mobile-first Design -- **Interaktion:** AJAX-basierte Real-time Updates - -### Hardware-Integration -- **Steckdosen:** TP-Link Tapo P110 Smart Plugs -- **Protokoll:** PyP100 für Tapo-Kommunikation -- **Netzwerk:** Lokales Subnetz für Geräte-Kommunikation - -## Installation - -### Voraussetzungen -- Python 3.8+ -- Node.js 16+ (für Frontend-Build) -- Netzwerkzugang zu den Steckdosen - -### Setup ```bash # Repository klonen git clone cd backend -# Python-Abhängigkeiten installieren -pip install -r requirements.txt +# Konsolidiertes Setup-Skript ausführen +sudo ./setup.sh +``` -# Frontend-Abhängigkeiten installieren +**Installationsoptionen**: +1. **Nur Abhängigkeiten installieren** - System vorbereiten ohne Kiosk-Modus +2. **Finale Kiosk-Installation** - Vollständige Kiosk-Konfiguration +3. **Nur Services installieren** - Systemd-Services aktualisieren +4. **System-Test** - Funktionalität überprüfen + +**Nach der Installation**: System mit `sudo reboot` neustarten für automatischen Kiosk-Modus. + +### Entwicklungsumgebung (Windows) + +```bash +# Abhängigkeiten installieren +pip install -r requirements.txt npm install -# CSS kompilieren -npm run build-css - -# Datenbank initialisieren -python -c "from models import init_database; init_database()" - -# Anwendung starten -python app.py +# Entwicklungsserver starten +python app.py --debug ``` -### Erste Schritte -1. **Admin-Account erstellen**: Beim ersten Start wird automatisch ein Admin-Account erstellt -2. **Drucker hinzufügen**: Über das Admin-Panel Drucker und Steckdosen konfigurieren -3. **Benutzer verwalten**: Weitere Benutzer und Rollen zuweisen -4. **Steckdosen testen**: Über `/socket-test` die neue Testfunktionalität nutzen +## 📋 Systemanforderungen -## Konfiguration +### Produktionsumgebung (Kiosk) +- **Debian/Raspbian** (Raspberry Pi OS empfohlen) +- Raspberry Pi 4 mit 2GB+ RAM +- 16GB+ SD-Karte +- HDMI-Monitor +- Netzwerkverbindung -### Umgebungsvariablen -```bash -# Grundkonfiguration -SECRET_KEY= -DATABASE_PATH=database/app.db -ENVIRONMENT=production +### Entwicklungsumgebung +- **Windows 10/11** (nur für Entwicklung) +- Python 3.8+ +- Node.js 18+ +- Git -# Steckdosen-Konfiguration -TAPO_USERNAME= -TAPO_PASSWORD= -``` +## 🔧 Features -### Drucker-Steckdosen-Zuordnung -Jeder Drucker kann mit einer Steckdose verknüpft werden: -- **IP-Adresse** der Steckdose -- **Benutzername/Passwort** für Authentifizierung -- **MAC-Adresse** für eindeutige Identifikation +### Kern-Funktionalitäten +- **Druckerverwaltung** mit Smart-Plug-Integration (TP-Link Tapo) +- **Job-Management** mit Warteschlangen-System +- **Benutzerverwaltung** mit Rollen und Berechtigungen +- **Gast-Anfragen** für temporären Zugriff +- **Echtzeit-Dashboard** mit Live-Statistiken +- **Automatische Backups** und Wartung -## Sicherheit +### Kiosk-Modus Features +- **HTTPS auf Port 443** mit automatischen SSL-Zertifikaten +- **Chromium-Vollbildmodus** ohne Desktop-Environment +- **Automatischer Login** und Browser-Start +- **Watchdog-Überwachung** für Systemstabilität +- **Responsive Design** für Desktop-Nutzung -### Zugriffskontrolle -- **CSRF-Schutz** für alle Formulare -- **Session-basierte Authentifizierung** -- **Rollenbasierte Berechtigungen** (Admin/User) -- **Automatisches Session-Timeout** +### Sicherheit +- **SSL/TLS-Verschlüsselung** (selbstsignierte Zertifikate) +- **CSRF-Schutz** und Session-Management +- **Rate-Limiting** und Eingabevalidierung +- **Systemd-Service-Isolation** -### Steckdosen-Sicherheit -- **Risikobewertung** vor jeder Aktion -- **Automatische Warnungen** bei aktiven Jobs -- **Force-Modus** nur mit expliziter Bestätigung -- **Vollständige Audit-Logs** aller Aktionen +## 🏗️ Architektur -## API-Dokumentation +### Backend +- **Flask 3.1.1** - Web-Framework +- **SQLAlchemy 2.0.36** - ORM und Datenbankzugriff +- **SQLite** - Eingebettete Datenbank +- **Gunicorn** - WSGI-Server für Produktion -### Steckdosen-Test-Endpunkte +### Frontend +- **TailwindCSS** - Utility-First CSS Framework +- **Chart.js** - Datenvisualisierung +- **FontAwesome** - Icons +- **Vanilla JavaScript** - Interaktivität -```http -GET /api/printers/test/socket/{printer_id} -``` -Detaillierter Status einer Steckdose mit Sicherheitsbewertung +### System-Integration +- **systemd** - Service-Management +- **OpenSSL** - SSL-Zertifikat-Generierung +- **Chromium** - Kiosk-Browser +- **X11** - Minimale Grafikumgebung -```http -POST /api/printers/test/socket/{printer_id}/control -``` -Steckdose für Tests ein-/ausschalten mit Sicherheitsprüfungen - -```http -GET /api/printers/test/all-sockets -``` -Übersicht aller Steckdosen mit Zusammenfassung - -Vollständige API-Dokumentation: [docs/STECKDOSEN_TEST_DOKUMENTATION.md](docs/STECKDOSEN_TEST_DOKUMENTATION.md) - -## Projektstruktur +## 📁 Projektstruktur ``` backend/ -├── app.py # Hauptanwendung -├── models.py # Datenmodelle -├── requirements.txt # Python-Abhängigkeiten -├── blueprints/ # Modulare Routen -│ ├── printers.py # Drucker-Management (inkl. Steckdosen-Tests) -│ ├── users.py # Benutzerverwaltung -│ ├── guest.py # Gastanfragen -│ └── calendar.py # Terminplanung -├── templates/ # HTML-Templates -│ ├── base.html # Basis-Template -│ ├── socket_test.html # Steckdosen-Test-Interface -│ └── ... -├── static/ # Statische Dateien -├── utils/ # Hilfsfunktionen -├── config/ # Konfigurationsdateien -├── docs/ # Dokumentation -│ └── STECKDOSEN_TEST_DOKUMENTATION.md -└── database/ # Datenbankdateien +├── app.py # Hauptanwendung mit HTTPS-Support +├── models.py # Datenbankmodelle +├── setup.sh # Konsolidiertes Setup-Skript +├── requirements.txt # Python-Abhängigkeiten +├── package.json # Node.js-Abhängigkeiten +├── +├── systemd/ # Systemd-Service-Dateien +│ ├── myp-https.service # HTTPS-Backend-Service +│ ├── myp-kiosk.service # Kiosk-Browser-Service +│ ├── kiosk-watchdog.service # Überwachungsservice +│ └── kiosk-watchdog-python.service # Python-Watchdog +├── +├── blueprints/ # Flask-Blueprints +│ ├── auth.py # Authentifizierung +│ ├── users.py # Benutzerverwaltung +│ ├── printers.py # Druckerverwaltung +│ ├── jobs.py # Job-Management +│ └── guest.py # Gast-Anfragen +├── +├── config/ # Konfigurationsdateien +│ └── settings.py # Hauptkonfiguration +├── +├── utils/ # Hilfsfunktionen +│ ├── ssl_config.py # SSL-Zertifikat-Management +│ ├── logging_config.py # Logging-Konfiguration +│ ├── queue_manager.py # Job-Warteschlange +│ └── printer_monitor.py # Drucker-Überwachung +├── +├── static/ # Statische Dateien +│ ├── css/ # Stylesheets +│ ├── js/ # JavaScript +│ └── icons/ # Icons und Bilder +├── +├── templates/ # Jinja2-Templates +├── docs/ # Dokumentation +├── logs/ # Log-Dateien +└── uploads/ # Hochgeladene Dateien ``` -## Wartung +## 🔧 Installation -### Regelmäßige Aufgaben -- **Backup** der Datenbank erstellen -- **Log-Rotation** für Speicherplatz-Management -- **Steckdosen-Konnektivität** prüfen -- **Updates** für Sicherheits-Patches +### Option 1: Automatische Installation mit setup.sh (Empfohlen) -### Monitoring -- **Anwendungs-Logs** in `logs/` Verzeichnis -- **Datenbank-Größe** und Performance überwachen -- **Netzwerk-Verbindungen** zu Steckdosen prüfen +```bash +# Als Root ausführen +sudo ./setup.sh -## Support +# Menüoptionen: +# 1. Nur Abhängigkeiten installieren und System vorbereiten +# 2. Finale Installation mit kompletter Kiosk-Modus-Konfiguration +# 3. Nur Services installieren/aktualisieren +# 4. System-Test durchführen +# 5. Beenden +``` -### Fehlerbehebung -1. **Logs prüfen**: `logs/app/` für Anwendungsfehler -2. **Netzwerk testen**: Erreichbarkeit der Steckdosen prüfen -3. **Datenbank-Status**: SQLite-Datei auf Korruption prüfen +**Installationsmodi**: +- **Option 1**: Ideal für Entwicklung und erste Tests +- **Option 2**: Vollständige Produktionsinstallation +- **Option 3**: Service-Updates ohne Systemänderungen +- **Option 4**: Diagnose und Wartung + +### Option 2: Manuelle Installation + +#### Schritt 1: System vorbereiten +```bash +sudo apt-get update && sudo apt-get upgrade -y +sudo apt-get install -y python3 python3-pip nodejs npm git +``` + +#### Schritt 2: Abhängigkeiten installieren +```bash +# Python-Pakete (ohne virtuelles Environment) +pip3 install -r requirements.txt --break-system-packages + +# Node.js-Pakete +npm install + +# TailwindCSS kompilieren +npm run build:css +``` + +#### Schritt 3: SSL-Zertifikate generieren +```bash +python3 -c " +import sys; sys.path.insert(0, '.') +from utils.ssl_config import ensure_ssl_certificates +ensure_ssl_certificates('.', True) +" +``` + +#### Schritt 4: Services einrichten +```bash +# Services aus systemd/ Verzeichnis kopieren +sudo cp systemd/*.service /etc/systemd/system/ +sudo systemctl daemon-reload + +# HTTPS-Service aktivieren +sudo systemctl enable myp-https.service +sudo systemctl start myp-https.service + +# Kiosk-Service aktivieren (optional) +sudo systemctl enable myp-kiosk.service +``` + +## 🌐 Zugriff + +### Lokaler Zugriff +- **HTTPS**: `https://localhost:443` +- **HTTP (Entwicklung)**: `http://localhost:5000` + +### Netzwerk-Zugriff +- **HTTPS**: `https://:443` + +### Standard-Anmeldedaten +- **Benutzername**: `admin` +- **Passwort**: `admin123` + +⚠️ **Wichtig**: Ändern Sie das Standard-Passwort nach der ersten Anmeldung! + +## 🔧 Konfiguration + +### Umgebungsvariablen +```bash +# Produktionsumgebung +export FLASK_ENV=production +export FLASK_HOST=0.0.0.0 +export FLASK_PORT=443 + +# Entwicklungsumgebung +export FLASK_ENV=development +export FLASK_HOST=127.0.0.1 +export FLASK_PORT=5000 +``` + +### SSL-Konfiguration +```bash +# Automatische Zertifikat-Generierung +python3 utils/ssl_config.py /opt/myp + +# Manuelle Zertifikat-Erneuerung +python3 utils/ssl_config.py /opt/myp --force +``` + +### Drucker-Konfiguration +1. **Admin-Panel** → **Drucker** → **Neuer Drucker** +2. IP-Adresse und TP-Link Tapo-Zugangsdaten eingeben +3. Drucker-Test durchführen +4. Smart-Plug-Integration aktivieren + +## 📊 Überwachung + +### Service-Status +```bash +# HTTPS-Service +sudo systemctl status myp-https.service +sudo journalctl -u myp-https -f + +# Kiosk-Service +sudo systemctl status myp-kiosk.service +sudo journalctl -u myp-kiosk -f + +# Watchdog-Service +sudo systemctl status kiosk-watchdog.service +sudo tail -f /var/log/kiosk-watchdog.log +``` + +### System-Tests +```bash +# HTTPS-Erreichbarkeit +curl -k https://localhost:443 + +# SSL-Zertifikat prüfen +openssl s_client -connect localhost:443 -servername localhost + +# Automatische Tests mit setup.sh +sudo ./setup.sh # Option 4: System-Test +``` + +### Log-Dateien +```bash +# Anwendungslogs +tail -f logs/app/app.log +tail -f logs/auth/auth.log +tail -f logs/printers/printers.log + +# Systemlogs +sudo journalctl -u myp-https -f +sudo tail -f /var/log/kiosk-watchdog.log + +# Installationslog +sudo tail -f /var/log/myp-install.log +``` + +## 🛠️ Entwicklung + +### Entwicklungsserver starten +```bash +# HTTP-Entwicklungsserver (Port 5000) +python app.py --debug + +# HTTPS-Produktionsserver (Port 443) +python app.py +``` + +### Frontend-Entwicklung +```bash +# TailwindCSS im Watch-Modus +npm run watch:css + +# CSS kompilieren +npm run build:css + +# Alle Assets bauen +npm run build +``` + +### Datenbank-Management +```bash +# Datenbank initialisieren +python -c "from models import init_database; init_database()" + +# Backup erstellen +python -c "from utils.backup_manager import BackupManager; BackupManager().create_backup()" +``` + +## 🔒 Sicherheit + +### SSL/TLS +- **TLS 1.2+** erforderlich +- **Starke Cipher-Suites** konfiguriert +- **Selbstsignierte Zertifikate** für localhost +- **Automatische Erneuerung** bei Ablauf + +### Anwendungssicherheit +- **CSRF-Schutz** aktiviert +- **Session-Management** mit Timeout +- **Rate-Limiting** für API-Endpunkte +- **Eingabevalidierung** und Sanitization + +### System-Sicherheit +- **Minimale X11-Umgebung** ohne Desktop +- **Kiosk-User** ohne Sudo-Rechte +- **Systemd-Service-Isolation** +- **Read-only Systempartitionen** (optional) + +## 📚 Dokumentation + +### Detaillierte Anleitungen +- [`docs/SETUP_ANLEITUNG.md`](docs/SETUP_ANLEITUNG.md) - Konsolidiertes Setup-System +- [`docs/INSTALLATION_DEBIAN_KIOSK.md`](docs/INSTALLATION_DEBIAN_KIOSK.md) - Vollständige Kiosk-Installation +- [`docs/API_DOCUMENTATION.md`](docs/API_DOCUMENTATION.md) - API-Referenz +- [`docs/CONFIGURATION.md`](docs/CONFIGURATION.md) - Konfigurationsoptionen +- [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md) - Fehlerbehebung + +### API-Endpunkte +- **Authentifizierung**: `/auth/login`, `/auth/logout` +- **Drucker**: `/api/printers`, `/api/printers/{id}` +- **Jobs**: `/api/jobs`, `/api/jobs/{id}` +- **Benutzer**: `/api/users`, `/api/users/{id}` +- **Dashboard**: `/api/dashboard/refresh`, `/api/stats` + +## 🐛 Fehlerbehebung ### Häufige Probleme -- **Steckdose nicht erreichbar**: IP-Adresse und Netzwerk prüfen -- **Admin-Zugriff verweigert**: Benutzerrolle in Datenbank kontrollieren -- **Session-Timeout**: Einstellungen in `config/settings.py` anpassen -## Entwicklung - -### Lokale Entwicklung +#### HTTPS nicht erreichbar ```bash -# Development Server -export FLASK_ENV=development -python app.py +# Service-Status prüfen +sudo systemctl status myp-https.service -# CSS Watch Mode -npm run watch-css +# SSL-Zertifikate neu generieren +sudo python3 utils/ssl_config.py /opt/myp --force +sudo systemctl restart myp-https.service -# Tests ausführen -python -m pytest tests/ +# Oder mit setup.sh +sudo ./setup.sh # Option 1 für Zertifikat-Neugenerierung ``` -### Deployment -Das System läuft produktiv in der Mercedes-Benz TBA Marienfelde und ist für Windows-Umgebungen optimiert. +#### Kiosk-Browser startet nicht +```bash +# X-Server prüfen +ps aux | grep X -## Changelog +# Browser manuell starten +sudo su - kiosk +DISPLAY=:0 chromium --kiosk https://localhost:443 -### Version 1.2 (2025-01-06) -- 🚨 **NEU**: Strg+C Sofort-Shutdown-System implementiert -- 🔒 **Sicherheit**: Aggressiver Signal-Handler für SIGINT/SIGTERM/SIGBREAK -- 💾 **Datenbank**: Automatischer WAL-Checkpoint vor Programmende -- 🧹 **Cleanup**: Ordnungsgemäßer Session- und Engine-Cleanup -- 🌍 **Plattform**: Unterstützung für Windows und Unix/Linux Signale -- ⚡ **Performance**: Sofortiger Exit mit `os._exit(0)` +# Service-Status prüfen +sudo systemctl status myp-kiosk.service +``` -### Version 1.1 (2025-01-05) -- ✨ **NEU**: Steckdosen-Test-System für Administratoren -- 🔒 **Sicherheit**: Erweiterte Risikobewertung und Warnungen -- 📊 **Monitoring**: Live-Status aller Steckdosen -- 📝 **Audit**: Vollständige Protokollierung aller Testaktivitäten -- 🎨 **UI**: Dedizierte Steckdosen-Test-Oberfläche +#### Hohe Speichernutzung +```bash +# Browser-Cache leeren +sudo rm -rf /home/kiosk/.chromium-kiosk/Default/Cache/* -### Version 1.0 -- Grundlegendes Drucker-Management-System -- Benutzer- und Rechteverwaltung -- Dashboard und Monitoring -- Gastanfragen-System +# System-Cache leeren +sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches -## Lizenz +# Watchdog überwacht automatisch Speichernutzung +sudo journalctl -u kiosk-watchdog -f +``` -Internes Projekt der Mercedes-Benz AG für die TBA Marienfelde. +### Support +Bei Problemen: +1. **System-Test durchführen**: `sudo ./setup.sh` → Option 4 +2. **Log-Bundle erstellen**: +```bash +sudo tar -czf myp-logs-$(date +%Y%m%d).tar.gz \ + logs/ \ + /var/log/kiosk-watchdog.log \ + /var/log/myp-install.log +``` + +## 🔄 Updates + +### Anwendungs-Updates +```bash +cd /opt/myp +git pull origin main +sudo pip3 install -r requirements.txt --break-system-packages --upgrade +sudo npm install + +# Services mit setup.sh aktualisieren +sudo ./setup.sh # Option 3: Nur Services installieren + +sudo systemctl restart myp-https.service +``` + +### System-Updates +```bash +sudo apt-get update && sudo apt-get upgrade -y +sudo reboot +``` + +## 📄 Lizenz + +Dieses Projekt ist für den internen Gebrauch bei Mercedes-Benz entwickelt. + +## 🤝 Beitragen + +1. Fork des Repositories erstellen +2. Feature-Branch erstellen (`git checkout -b feature/AmazingFeature`) +3. Änderungen committen (`git commit -m 'Add some AmazingFeature'`) +4. Branch pushen (`git push origin feature/AmazingFeature`) +5. Pull Request erstellen + +## 📞 Support + +- **Dokumentation**: [`docs/`](docs/) Verzeichnis +- **Setup-Anleitung**: [`docs/SETUP_ANLEITUNG.md`](docs/SETUP_ANLEITUNG.md) +- **Issues**: GitHub Issues für Bug-Reports +- **Logs**: Automatische Log-Sammlung mit `setup.sh` --- -**Entwickelt für:** Mercedes-Benz Technische Berufsausbildung Marienfelde -**Letzte Aktualisierung:** 2025-01-05 -**Version:** 1.1 - -## Kürzlich behobene Probleme - -### Shutdown- und Cleanup-Verbesserungen ✅ - -**Problem**: Die Anwendung hatte Probleme beim ordnungsgemäßen Herunterfahren mit hängenden Prozessen und inkonsistenten Zuständen. - -**Lösung**: Implementierung eines zentralen Shutdown-Managers mit: -- ✅ **Koordiniertes Shutdown**: Alle Komponenten werden in der richtigen Reihenfolge gestoppt -- ✅ **Timeout-Management**: Verhindert hängende Cleanup-Operationen -- ✅ **Prioritäts-basierte Ausführung**: Kritische Komponenten werden zuerst gestoppt -- ✅ **Robuste Fehlerbehandlung**: Einzelfehler stoppen nicht das gesamte Shutdown -- ✅ **Plattform-spezifisch**: Optimiert für Windows und Unix/Linux - -**Technische Details**: -- Neuer `utils/shutdown_manager.py` koordiniert alle Cleanup-Operationen -- Queue Manager, Scheduler und Datenbank-Cleanup werden zentral verwaltet -- Reduzierte Shutdown-Zeit von >30s auf <10s in normalen Fällen -- Detaillierte Logs für besseres Debugging - -**Dokumentation**: Siehe [`docs/SHUTDOWN_VERBESSERUNGEN.md`](docs/SHUTDOWN_VERBESSERUNGEN.md) für vollständige Details. - ---- \ No newline at end of file +**Version**: 4.0.0 +**Plattform**: Debian/Linux (Raspberry Pi OS) +**Modus**: HTTPS Kiosk (Port 443) +**Setup**: Konsolidiertes `setup.sh` System +**Entwickelt für**: Mercedes-Benz MYP \ No newline at end of file diff --git a/backend/app.py b/backend/app.py index c96690ca..d2496a26 100644 --- a/backend/app.py +++ b/backend/app.py @@ -1851,8 +1851,13 @@ def admin_page(): 'success_rate': success_rate } - # Tab-Parameter + # Tab-Parameter mit erweiterten Optionen active_tab = request.args.get('tab', 'users') + valid_tabs = ['users', 'printers', 'jobs', 'system', 'logs'] + + # Validierung des Tab-Parameters + if active_tab not in valid_tabs: + active_tab = 'users' # Benutzer laden (für users tab) users = [] @@ -7225,12 +7230,6 @@ if __name__ == "__main__": # Cleanup bei Fehler if shutdown_manager: shutdown_manager.force_shutdown(1) - else: - try: - stop_queue_manager() - except: - pass - sys.exit(1) else: try: stop_queue_manager() diff --git a/backend/database/myp.db b/backend/database/myp.db index 4caa4e19..8666f582 100644 Binary files a/backend/database/myp.db and b/backend/database/myp.db differ diff --git a/backend/database/myp.db-shm b/backend/database/myp.db-shm new file mode 100644 index 00000000..ff64179b Binary files /dev/null and b/backend/database/myp.db-shm differ diff --git a/backend/database/myp.db-wal b/backend/database/myp.db-wal new file mode 100644 index 00000000..b4f3db4e Binary files /dev/null and b/backend/database/myp.db-wal differ diff --git a/backend/docs/CHANGELOG_SETUP_KONSOLIDIERUNG.md b/backend/docs/CHANGELOG_SETUP_KONSOLIDIERUNG.md index 0519ecba..c5ea855c 100644 --- a/backend/docs/CHANGELOG_SETUP_KONSOLIDIERUNG.md +++ b/backend/docs/CHANGELOG_SETUP_KONSOLIDIERUNG.md @@ -1 +1,228 @@ - \ No newline at end of file +# Changelog - Setup-Konsolidierung v4.0.0 + +## Übersicht der Änderungen + +Diese Version konsolidiert alle bisherigen Installationsskripte in ein einziges, benutzerfreundliches Setup-System. + +## 🔄 Strukturelle Änderungen + +### Neue Dateien + +- **`setup.sh`** - Konsolidiertes Hauptinstallationsskript mit Menüführung +- **`systemd/`** - Neues Verzeichnis für alle systemd-Service-Dateien + - `systemd/myp-https.service` + - `systemd/myp-kiosk.service` + - `systemd/kiosk-watchdog.service` + - `systemd/kiosk-watchdog-python.service` +- **`docs/SETUP_ANLEITUNG.md`** - Detaillierte Anleitung für das neue Setup-System + +### Entfernte Dateien + +- **`combined.sh`** - Konsolidiert in `setup.sh` +- **`installer.sh`** - Konsolidiert in `setup.sh` +- Service-Dateien aus dem Stammverzeichnis (verschoben nach `systemd/`) + +### Aktualisierte Dateien + +- **`README.md`** - Vollständig überarbeitet für neues Setup-System +- **Version erhöht auf 4.0.0** + +## 🚀 Neue Features + +### Menügeführte Installation + +Das neue `setup.sh` bietet vier verschiedene Installationsmodi: + +1. **Nur Abhängigkeiten installieren** + + - Python, Node.js, SSL-Zertifikate + - Anwendungsdeployment + - Minimaler Funktionstest + - Ideal für Entwicklung +2. **Finale Kiosk-Installation** + + - Vollständige Produktionsinstallation + - Desktop-Environment-Entfernung + - Kiosk-Benutzer-Setup + - Service-Aktivierung +3. **Nur Services installieren** + + - Service-Updates ohne Systemänderungen + - Systemd-Konfiguration neu laden + - Optional: Services aktivieren +4. **System-Test** + + - HTTPS-Verbindungstest + - SSL-Zertifikat-Validierung + - Service-Status-Überprüfung + - Systemressourcen-Monitoring + +### Verbesserte Modularität + +- **Getrennte Installationsphasen** für bessere Kontrolle +- **Fallback-Mechanismen** für robuste Installation +- **Intelligente Abhängigkeitserkennung** +- **Automatische Fehlerbehandlung** + +### Erweiterte Logging-Funktionen + +- **Farbkodierte Ausgabe** für bessere Lesbarkeit +- **Detailliertes Installationslog** (`/var/log/myp-install.log`) +- **Strukturierte Fehlermeldungen** +- **Fortschrittsanzeigen** + +## 🔧 Technische Verbesserungen + +### SSL-Zertifikat-Management + +- **Automatische Mercedes-Zertifikat-Installation** +- **DER-zu-PEM Konvertierung** +- **Zertifikat-Validierung** +- **Ablaufüberwachung** + +### Service-Management + +- **Zentralisierte Service-Dateien** in `systemd/` Verzeichnis +- **Automatische systemd-Konfiguration** +- **Service-Abhängigkeiten optimiert** +- **Watchdog-Integration verbessert** + +### Systemoptimierung + +- **Minimale X11-Installation** für Kiosk-Modus +- **Browser-Fallback-Mechanismen** (Chromium → Firefox) +- **Speicher-Überwachung** und automatische Bereinigung +- **Netzwerk-Konnektivitätsprüfung** + +## 📊 Kompatibilität + +### Unterstützte Systeme + +- **Debian 11+** (Bullseye und neuer) +- **Raspberry Pi OS** (alle aktuellen Versionen) +- **Ubuntu 20.04+** (experimentell) + +### Rückwärtskompatibilität + +- **Bestehende Installationen** können mit Option 3 aktualisiert werden +- **Datenbank-Migration** automatisch +- **Konfigurationsdateien** bleiben erhalten + +## 🛡️ Sicherheitsverbesserungen + +### Systemd-Härtung + +- **NoNewPrivileges** für alle Services +- **ProtectSystem=strict** für Dateisystem-Schutz +- **Minimale Capabilities** für privilegierte Ports +- **Service-Isolation** verbessert + +### SSL/TLS-Optimierung + +- **Starke Cipher-Suites** konfiguriert +- **TLS 1.2+ erzwungen** +- **Zertifikat-Rotation** automatisiert +- **Corporate-Zertifikat-Integration** + +## 🔄 Migration von alten Installationen + +### Automatische Migration + +```bash +# Backup erstellen +sudo cp -r /opt/myp /opt/myp.backup + +# Neue Installation +sudo ./setup.sh +# Option 3: Nur Services installieren +``` + +### Manuelle Schritte (falls erforderlich) + +1. **Service-Dateien aktualisieren** +2. **Systemd-Konfiguration neu laden** +3. **Services neu starten** +4. **Funktionstest durchführen** + +## 📈 Performance-Verbesserungen + +### Installation + +- **Parallele Paket-Downloads** wo möglich +- **Intelligente Abhängigkeitsauflösung** +- **Reduzierte Installationszeit** durch Optimierungen +- **Bessere Fehlerbehandlung** verhindert Neuinstallationen + +### Laufzeit + +- **Watchdog-Optimierung** für geringeren Ressourcenverbrauch +- **Browser-Cache-Management** automatisiert +- **Speicher-Überwachung** mit automatischer Bereinigung +- **Service-Restart-Logik** verbessert + +## 🐛 Behobene Probleme + +### Installation + +- **npm-Installation** robuster mit Fallback-Strategien +- **SSL-Zertifikat-Generierung** zuverlässiger +- **Service-Abhängigkeiten** korrekt konfiguriert +- **Berechtigungsprobleme** behoben + +### Kiosk-Modus + +- **Browser-Autostart** zuverlässiger +- **Display-Erkennung** verbessert +- **Crash-Recovery** automatisiert +- **Speicher-Leaks** behoben + +## 📚 Dokumentation + +### Neue Dokumentation + +- **`docs/SETUP_ANLEITUNG.md`** - Vollständige Setup-Anleitung +- **Erweiterte README.md** mit neuen Installationsoptionen +- **Inline-Kommentare** in `setup.sh` für bessere Wartbarkeit + +### Aktualisierte Dokumentation + +- **API-Dokumentation** überarbeitet +- **Fehlerbehebungsguide** erweitert +- **Konfigurationsoptionen** dokumentiert + +## 🔮 Zukunftsausblick + +### Geplante Features (v4.1.0) + +- **Web-basiertes Setup-Interface** +- **Remote-Installation** über SSH +- **Automatische Updates** über Git +- **Monitoring-Dashboard** für Systemstatus + +### Langfristige Ziele + +- **Container-basierte Deployment** (Docker) +- **Kubernetes-Integration** für Skalierung +- **Cloud-Deployment-Optionen** +- **Multi-Tenant-Unterstützung** + +## 📞 Support und Feedback + +### Neue Support-Kanäle + +- **System-Test-Funktion** (Option 4) für Selbstdiagnose +- **Automatische Log-Sammlung** für Support-Anfragen +- **Strukturierte Fehlermeldungen** für bessere Problemlösung + +### Feedback erwünscht + +- **Installation-Erfahrungen** auf verschiedenen Systemen +- **Performance-Messungen** in Produktionsumgebungen +- **Feature-Requests** für zukünftige Versionen + +--- + +**Datum**: 01.06.2025 +**Version**: 4.0.0 +**Typ**: Major Release - Setup-Konsolidierung +**Kompatibilität**: Rückwärtskompatibel mit automatischer Migration diff --git a/backend/docs/SETUP_ANLEITUNG.md b/backend/docs/SETUP_ANLEITUNG.md index 0519ecba..92b3a488 100644 --- a/backend/docs/SETUP_ANLEITUNG.md +++ b/backend/docs/SETUP_ANLEITUNG.md @@ -1 +1,306 @@ - \ No newline at end of file +# MYP Druckerverwaltung - Setup-Anleitung + +## Übersicht + +Das neue konsolidierte `setup.sh` Skript ersetzt alle bisherigen Installationsskripte und bietet eine benutzerfreundliche Menüführung für verschiedene Installationsmodi. + +## Voraussetzungen + +- **Betriebssystem**: Debian/Raspbian (Raspberry Pi OS) +- **Berechtigung**: Root-Zugriff (sudo) +- **Internetverbindung**: Für Paket-Downloads erforderlich +- **Hardware**: Raspberry Pi oder kompatibles Debian-System + +## Neue Struktur + +### Dateien +- `setup.sh` - Konsolidiertes Hauptinstallationsskript +- `systemd/` - Verzeichnis mit allen systemd-Service-Dateien + - `myp-https.service` - HTTPS-Backend-Service + - `myp-kiosk.service` - Kiosk-Browser-Service + - `kiosk-watchdog.service` - Überwachungsservice + - `kiosk-watchdog-python.service` - Python-Watchdog-Service + +### Entfernte Dateien +- `combined.sh` - Konsolidiert in `setup.sh` +- `installer.sh` - Konsolidiert in `setup.sh` + +## Installationsmodi + +### 1. Nur Abhängigkeiten installieren + +**Zweck**: System vorbereiten ohne Kiosk-Modus zu aktivieren + +**Was wird installiert**: +- Python 3 und pip +- Node.js und npm +- SSL-Zertifikate (inkl. Mercedes Corporate) +- Python-Pakete (Flask, SQLAlchemy, etc.) +- npm-Abhängigkeiten +- Anwendungsdeployment nach `/opt/myp` +- SSL-Zertifikat-Generierung +- Minimaler Funktionstest + +**Verwendung**: +```bash +sudo ./setup.sh +# Wähle Option 1 +``` + +**Ideal für**: +- Entwicklungsumgebungen +- Erste Installation und Tests +- Systeme ohne Kiosk-Anforderungen + +### 2. Finale Kiosk-Installation + +**Zweck**: Vollständige Kiosk-Modus-Konfiguration + +**Was wird konfiguriert**: +- Alle Abhängigkeiten (falls noch nicht installiert) +- Desktop-Environments entfernen +- Minimale X11-Umgebung installieren +- Kiosk-Benutzer erstellen +- Automatischen Login konfigurieren +- Systemd-Services installieren und aktivieren +- System-Test durchführen +- Alte Dateien aufräumen + +**Verwendung**: +```bash +sudo ./setup.sh +# Wähle Option 2 +``` + +**Ideal für**: +- Produktionsumgebungen +- Dedizierte Kiosk-Systeme +- Finale Deployment + +### 3. Nur Services installieren + +**Zweck**: Systemd-Services aktualisieren ohne Systemänderungen + +**Was wird gemacht**: +- Service-Dateien aus `systemd/` nach `/etc/systemd/system/` kopieren +- systemd-Konfiguration neu laden +- Optional: Services aktivieren und starten + +**Verwendung**: +```bash +sudo ./setup.sh +# Wähle Option 3 +``` + +**Ideal für**: +- Service-Updates +- Konfigurationsänderungen +- Wartung bestehender Installationen + +### 4. System-Test + +**Zweck**: Funktionalität der Installation überprüfen + +**Was wird getestet**: +- HTTPS-Verbindung zu localhost:443 +- SSL-Zertifikat-Gültigkeit +- Service-Status aller systemd-Services +- Systemressourcen + +**Verwendung**: +```bash +sudo ./setup.sh +# Wähle Option 4 +``` + +**Ideal für**: +- Fehlerdiagnose +- Wartung +- Regelmäßige Systemprüfungen + +## Systemd-Services + +### myp-https.service +- **Zweck**: HTTPS-Backend auf Port 443 +- **Benutzer**: root (für privilegierten Port) +- **Abhängigkeiten**: network.target +- **SSL**: Automatische Zertifikat-Generierung + +### myp-kiosk.service +- **Zweck**: Chromium-Browser im Kiosk-Modus +- **Benutzer**: kiosk +- **Abhängigkeiten**: myp-https.service, graphical-session.target +- **Features**: Vollbild, SSL-Ignorierung, automatische Auflösungserkennung + +### kiosk-watchdog.service +- **Zweck**: Intelligente Systemüberwachung +- **Funktionen**: + - HTTPS-Backend-Überwachung + - SSL-Zertifikat-Überwachung + - Kiosk-Session-Überwachung + - Speicher-Überwachung + - Automatische Neustarts + +### kiosk-watchdog-python.service +- **Zweck**: Python-basierte Überwachung +- **Ergänzung**: Zusätzliche Überwachungsfunktionen + +## Konfiguration + +### SSL-Zertifikate + +**Mercedes Corporate Zertifikate**: +- Automatische Installation aus `certs/mercedes/` +- Unterstützte Formate: .crt, .pem, .cer +- DER-zu-PEM Konvertierung + +**Localhost-Zertifikat**: +- Automatische Generierung für HTTPS +- Gültigkeitsdauer: 365 Tage +- Speicherort: `/opt/myp/certs/localhost/` + +### Kiosk-Benutzer + +**Benutzer**: `kiosk` +- Automatischer Login auf tty1 +- Gruppen: audio, video, input, dialout, plugdev, users +- Passwortlos für Sicherheit + +### Verzeichnisstruktur + +``` +/opt/myp/ # Hauptanwendungsverzeichnis +├── app.py # Flask-Hauptanwendung +├── models.py # Datenbankmodelle +├── blueprints/ # Flask-Blueprints +├── config/ # Konfigurationsdateien +├── database/ # SQLite-Datenbank +├── static/ # Statische Dateien (CSS, JS) +├── templates/ # HTML-Templates +├── uploads/ # Upload-Verzeichnis +├── utils/ # Hilfsfunktionen +├── logs/ # Log-Dateien +└── certs/ # SSL-Zertifikate + └── localhost/ # Localhost-Zertifikate +``` + +## Logging + +**Installationslog**: `/var/log/myp-install.log` +**Service-Logs**: `journalctl -u ` +**Watchdog-Log**: `/var/log/kiosk-watchdog.log` + +## Fehlerbehebung + +### Häufige Probleme + +1. **HTTPS-Backend nicht erreichbar** + ```bash + sudo systemctl status myp-https + sudo journalctl -u myp-https -f + ``` + +2. **Kiosk-Browser startet nicht** + ```bash + sudo systemctl status myp-kiosk + sudo journalctl -u myp-kiosk -f + ``` + +3. **SSL-Zertifikat-Probleme** + ```bash + sudo ./setup.sh + # Option 4 für System-Test + ``` + +4. **Service-Neustart** + ```bash + sudo systemctl restart myp-https + sudo systemctl restart kiosk-watchdog + ``` + +### Manuelle Service-Verwaltung + +```bash +# Services aktivieren +sudo systemctl enable myp-https myp-kiosk kiosk-watchdog + +# Services starten +sudo systemctl start myp-https myp-kiosk kiosk-watchdog + +# Status prüfen +sudo systemctl status myp-https myp-kiosk kiosk-watchdog + +# Logs anzeigen +sudo journalctl -u myp-https -f +``` + +## Wartung + +### Regelmäßige Aufgaben + +1. **System-Updates** + ```bash + sudo apt update && sudo apt upgrade -y + ``` + +2. **Log-Rotation** + - Automatisch durch systemd + - Watchdog rotiert eigene Logs bei >10MB + +3. **SSL-Zertifikat-Erneuerung** + - Automatisch durch Watchdog bei Ablauf + - Manuell: Option 1 im Setup-Skript + +4. **System-Test** + ```bash + sudo ./setup.sh + # Option 4 + ``` + +## Sicherheit + +### Implementierte Maßnahmen + +- **Minimale Berechtigungen**: Services laufen mit minimal nötigen Rechten +- **SSL-Verschlüsselung**: HTTPS für alle Verbindungen +- **Systemd-Härtung**: NoNewPrivileges, ProtectSystem +- **Automatische Updates**: Watchdog überwacht und repariert +- **Passwortlose Kiosk**: Reduziert Angriffsfläche + +### Empfohlene Zusatzmaßnahmen + +- Firewall-Konfiguration +- SSH-Schlüssel statt Passwörter +- Regelmäßige Backups +- Monitoring der Log-Dateien + +## Migration von alten Installationen + +Wenn Sie eine bestehende Installation mit `combined.sh` oder `installer.sh` haben: + +1. **Backup erstellen** + ```bash + sudo cp -r /opt/myp /opt/myp.backup + ``` + +2. **Neue Installation** + ```bash + sudo ./setup.sh + # Option 3 für Service-Update + ``` + +3. **Konfiguration übertragen** + - Datenbank-Dateien + - Upload-Verzeichnisse + - Benutzerdefinierte Konfigurationen + +## Support + +Bei Problemen: + +1. **Log-Dateien prüfen** +2. **System-Test durchführen** (Option 4) +3. **Services neu starten** +4. **Installation wiederholen** mit entsprechender Option + +Das konsolidierte Setup-System bietet maximale Flexibilität bei minimaler Komplexität und ermöglicht sowohl Entwicklungs- als auch Produktionsumgebungen. \ No newline at end of file diff --git a/backend/logs/analytics/analytics.log b/backend/logs/analytics/analytics.log index b4ec9cd1..45f3cfb4 100644 --- a/backend/logs/analytics/analytics.log +++ b/backend/logs/analytics/analytics.log @@ -43,3 +43,5 @@ 2025-06-01 13:19:50 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert 2025-06-01 13:21:18 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert 2025-06-01 13:22:49 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-01 13:36:31 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-01 13:39:56 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index 97ab5c78..a5d6d31a 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -1031,3 +1031,81 @@ WHERE users.id = ? 2025-06-01 13:23:56 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True 2025-06-01 13:24:26 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True 2025-06-01 13:24:56 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:36:31 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-01 13:36:33 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen) +2025-06-01 13:36:33 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-01 13:36:33 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-01 13:36:33 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-01 13:36:33 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-01 13:36:33 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-01 13:36:33 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-01 13:36:33 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-01 13:36:33 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-01 13:36:33 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-01 13:36:33 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung +2025-06-01 13:36:33 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-01 13:36:33 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP) +2025-06-01 13:36:33 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert +2025-06-01 13:36:57 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:36:57 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:36:59 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:36:59 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:37:29 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:37:59 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:29 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:42 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:43 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:43 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:44 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:45 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:45 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:46 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:46 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:47 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:47 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:48 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:48 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:48 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:49 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:50 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:50 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:50 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:50 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:51 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:51 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:51 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:38:51 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:39:21 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:39:51 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:39:56 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-01 13:39:57 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen) +2025-06-01 13:39:58 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-01 13:39:58 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-01 13:39:58 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-01 13:39:58 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-01 13:39:58 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-01 13:39:58 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-01 13:39:58 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-01 13:39:58 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-01 13:39:58 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-01 13:39:58 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung +2025-06-01 13:39:58 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-01 13:39:58 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP) +2025-06-01 13:39:58 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert +2025-06-01 13:39:58 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:39:59 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:40:00 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:40:00 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:40:01 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:40:01 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:40:31 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:41:01 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:41:14 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:41:14 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:41:15 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:41:15 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:41:45 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:42:15 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:42:45 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:43:15 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True +2025-06-01 13:43:45 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True diff --git a/backend/logs/backup/backup.log b/backend/logs/backup/backup.log index 9ff2852f..c58ce81c 100644 --- a/backend/logs/backup/backup.log +++ b/backend/logs/backup/backup.log @@ -43,3 +43,5 @@ 2025-06-01 13:19:50 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) 2025-06-01 13:21:18 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) 2025-06-01 13:22:49 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-01 13:36:31 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-01 13:39:56 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) diff --git a/backend/logs/calendar/calendar.log b/backend/logs/calendar/calendar.log index 32cc742d..e2f1670a 100644 --- a/backend/logs/calendar/calendar.log +++ b/backend/logs/calendar/calendar.log @@ -25,3 +25,4 @@ 2025-06-01 04:54:51 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00 2025-06-01 13:23:09 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00 2025-06-01 13:23:21 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00 +2025-06-01 13:36:49 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00 diff --git a/backend/logs/dashboard/dashboard.log b/backend/logs/dashboard/dashboard.log index 861525cb..07ea35a6 100644 --- a/backend/logs/dashboard/dashboard.log +++ b/backend/logs/dashboard/dashboard.log @@ -165,3 +165,11 @@ 2025-06-01 13:22:50 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet 2025-06-01 13:22:50 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) 2025-06-01 13:22:50 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-01 13:36:33 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-01 13:36:33 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-01 13:36:33 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-01 13:36:33 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-01 13:39:57 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-01 13:39:58 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-01 13:39:58 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-01 13:39:58 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) diff --git a/backend/logs/database/database.log b/backend/logs/database/database.log index 550547e3..2d7421f6 100644 --- a/backend/logs/database/database.log +++ b/backend/logs/database/database.log @@ -43,3 +43,5 @@ 2025-06-01 13:19:50 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet 2025-06-01 13:21:18 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet 2025-06-01 13:22:49 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-01 13:36:31 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-01 13:39:56 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet diff --git a/backend/logs/email_notification/email_notification.log b/backend/logs/email_notification/email_notification.log index a102248b..e534c51b 100644 --- a/backend/logs/email_notification/email_notification.log +++ b/backend/logs/email_notification/email_notification.log @@ -41,3 +41,5 @@ 2025-06-01 13:19:51 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) 2025-06-01 13:21:19 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) 2025-06-01 13:22:50 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-01 13:36:33 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-01 13:39:57 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) diff --git a/backend/logs/jobs/jobs.log b/backend/logs/jobs/jobs.log index be4ba7e4..40941838 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -59,3 +59,4 @@ 2025-06-01 04:54:44 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1) 2025-06-01 13:23:06 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1) 2025-06-01 13:23:19 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1) +2025-06-01 13:36:46 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1) diff --git a/backend/logs/maintenance/maintenance.log b/backend/logs/maintenance/maintenance.log index 3b5bbf0b..461ffa06 100644 --- a/backend/logs/maintenance/maintenance.log +++ b/backend/logs/maintenance/maintenance.log @@ -82,3 +82,7 @@ 2025-06-01 13:21:19 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet 2025-06-01 13:22:50 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet 2025-06-01 13:22:50 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-01 13:36:33 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-01 13:36:33 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-01 13:39:57 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-01 13:39:58 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet diff --git a/backend/logs/multi_location/multi_location.log b/backend/logs/multi_location/multi_location.log index 6172238f..0540b105 100644 --- a/backend/logs/multi_location/multi_location.log +++ b/backend/logs/multi_location/multi_location.log @@ -82,3 +82,7 @@ 2025-06-01 13:21:19 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt 2025-06-01 13:22:50 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt 2025-06-01 13:22:50 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-01 13:36:33 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-01 13:36:33 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-01 13:39:58 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-01 13:39:58 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index 06fc175f..b77ef2cb 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -39,3 +39,5 @@ 2025-06-01 13:19:51 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-01 13:21:19 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-01 13:22:50 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-01 13:36:33 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-01 13:39:58 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert diff --git a/backend/logs/printer_monitor/printer_monitor.log b/backend/logs/printer_monitor/printer_monitor.log index 65793e90..b743fb4d 100644 --- a/backend/logs/printer_monitor/printer_monitor.log +++ b/backend/logs/printer_monitor/printer_monitor.log @@ -1052,3 +1052,141 @@ 2025-06-01 13:24:56 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden 2025-06-01 13:24:56 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... 2025-06-01 13:24:56 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:31 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-01 13:36:31 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-01 13:36:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-01 13:36:33 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-01 13:36:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-01 13:36:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-01 13:36:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-01 13:36:39 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:39 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:39 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:39 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:39 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-01 13:36:42 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:42 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:42 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:42 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-01 13:36:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-01 13:36:57 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-01 13:36:57 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:57 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:57 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:57 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:59 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:59 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:36:59 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:36:59 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:37:03 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-01 13:37:09 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s +2025-06-01 13:37:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:37:29 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:37:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:37:29 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:37:59 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:37:59 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:37:59 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:37:59 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:29 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:29 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:43 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:43 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:43 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:43 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:44 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:44 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:44 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:44 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:45 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:45 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:46 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:46 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:46 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:46 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:47 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:47 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:47 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:47 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:48 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:48 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:48 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:48 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:49 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:49 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:49 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:49 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:50 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:38:51 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:39:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:39:21 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:39:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:39:21 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:39:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:39:51 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:39:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:39:51 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:39:56 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-01 13:39:56 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-01 13:39:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-01 13:39:58 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-01 13:39:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-01 13:39:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-01 13:39:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-01 13:39:59 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:39:59 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:39:59 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:39:59 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:40:01 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:40:01 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:40:01 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:40:01 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:40:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-01 13:40:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-01 13:40:16 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-01 13:40:22 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-01 13:40:28 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-01 13:40:31 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:40:31 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:40:31 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:40:31 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:40:34 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s +2025-06-01 13:41:01 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:01 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:41:01 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:01 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:41:14 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:14 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:41:14 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:14 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:41:15 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:15 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:41:15 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:15 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:41:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:45 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden +2025-06-01 13:41:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-01 13:41:45 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden diff --git a/backend/logs/printers/printers.log b/backend/logs/printers/printers.log index 8d8a3dfd..2ed7db3e 100644 --- a/backend/logs/printers/printers.log +++ b/backend/logs/printers/printers.log @@ -3471,3 +3471,89 @@ 2025-06-01 13:24:56 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) 2025-06-01 13:24:56 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker 2025-06-01 13:24:56 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.43ms +2025-06-01 13:36:39 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:36:39 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:36:39 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.79ms +2025-06-01 13:36:42 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-01 13:36:42 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:36:42 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:36:42 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.65ms +2025-06-01 13:36:46 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-01 13:36:57 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:36:57 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:36:57 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.91ms +2025-06-01 13:36:59 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:36:59 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:36:59 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.31ms +2025-06-01 13:37:29 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:37:29 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:37:29 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 3.49ms +2025-06-01 13:37:59 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:37:59 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:37:59 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 4.81ms +2025-06-01 13:38:29 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:29 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:29 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.28ms +2025-06-01 13:38:43 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:43 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:43 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 11.28ms +2025-06-01 13:38:44 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:44 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:44 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 17.09ms +2025-06-01 13:38:45 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:45 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:45 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 7.23ms +2025-06-01 13:38:46 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:46 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:46 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.90ms +2025-06-01 13:38:47 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:47 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:47 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.77ms +2025-06-01 13:38:48 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:48 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:48 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.91ms +2025-06-01 13:38:49 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:49 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:49 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.03ms +2025-06-01 13:38:50 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:50 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:50 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.89ms +2025-06-01 13:38:50 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:50 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:50 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 8.95ms +2025-06-01 13:38:51 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:51 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:51 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 2.85ms +2025-06-01 13:38:51 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:38:51 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:38:51 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.88ms +2025-06-01 13:39:21 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:39:21 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:39:21 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.63ms +2025-06-01 13:39:51 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:39:51 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:39:51 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 8.89ms +2025-06-01 13:39:59 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:39:59 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:39:59 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 10.84ms +2025-06-01 13:40:00 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:40:00 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:40:00 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 7.01ms +2025-06-01 13:40:01 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:40:01 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:40:01 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.38ms +2025-06-01 13:40:31 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:40:31 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:40:31 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.67ms +2025-06-01 13:41:01 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:41:01 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:41:01 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.22ms +2025-06-01 13:41:14 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:41:14 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:41:14 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.58ms +2025-06-01 13:41:15 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:41:15 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:41:15 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.50ms +2025-06-01 13:41:45 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-01 13:41:45 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker +2025-06-01 13:41:45 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 7.69ms diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index f38741ad..8d7238df 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -2931,3 +2931,9 @@ 2025-06-01 13:22:49 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True 2025-06-01 13:22:51 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet 2025-06-01 13:22:51 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-01 13:36:31 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-01 13:36:33 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-01 13:36:33 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-01 13:39:56 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-01 13:39:58 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-01 13:39:58 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet diff --git a/backend/logs/security/security.log b/backend/logs/security/security.log index 25f18b9f..76c760dd 100644 --- a/backend/logs/security/security.log +++ b/backend/logs/security/security.log @@ -39,3 +39,5 @@ 2025-06-01 13:19:51 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-01 13:21:19 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-01 13:22:50 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-01 13:36:33 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-01 13:39:58 - [security] security - [INFO] INFO - 🔒 Security System initialisiert diff --git a/backend/logs/shutdown_manager/shutdown_manager.log b/backend/logs/shutdown_manager/shutdown_manager.log index e3501645..58eda474 100644 --- a/backend/logs/shutdown_manager/shutdown_manager.log +++ b/backend/logs/shutdown_manager/shutdown_manager.log @@ -104,3 +104,5 @@ 2025-06-01 13:19:51 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert 2025-06-01 13:21:19 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert 2025-06-01 13:22:50 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-01 13:36:33 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-01 13:39:58 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 6022bf63..bb5dbd26 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -363,3 +363,21 @@ 2025-06-01 13:22:50 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert 2025-06-01 13:22:50 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert 2025-06-01 13:22:50 - [startup] startup - [INFO] INFO - ================================================== +2025-06-01 13:36:33 - [startup] startup - [INFO] INFO - ================================================== +2025-06-01 13:36:33 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-01 13:36:33 - [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-01 13:36:33 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-01 13:36:33 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-01 13:36:33 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T13:36:33.357470 +2025-06-01 13:36:33 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-01 13:36:33 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-01 13:36:33 - [startup] startup - [INFO] INFO - ================================================== +2025-06-01 13:39:58 - [startup] startup - [INFO] INFO - ================================================== +2025-06-01 13:39:58 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-01 13:39:58 - [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-01 13:39:58 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-01 13:39:58 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-01 13:39:58 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T13:39:58.019987 +2025-06-01 13:39:58 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-01 13:39:58 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-01 13:39:58 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/windows_fixes/windows_fixes.log b/backend/logs/windows_fixes/windows_fixes.log index c2085780..8db57751 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -170,3 +170,11 @@ 2025-06-01 13:22:49 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) 2025-06-01 13:22:49 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet 2025-06-01 13:22:49 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-01 13:36:31 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-01 13:36:31 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-01 13:36:31 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-01 13:36:31 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-01 13:39:56 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-01 13:39:56 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-01 13:39:56 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-01 13:39:56 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet diff --git a/backend/templates/admin.html b/backend/templates/admin.html index 54243a08..85496d1f 100644 --- a/backend/templates/admin.html +++ b/backend/templates/admin.html @@ -130,7 +130,7 @@
- +
@@ -617,41 +617,134 @@