diff --git a/backend/.claude/settings.local.json b/backend/.claude/settings.local.json new file mode 100644 index 00000000..dd8ca7aa --- /dev/null +++ b/backend/.claude/settings.local.json @@ -0,0 +1,8 @@ +{ + "permissions": { + "allow": [ + "Bash(grep:*)" + ], + "deny": [] + } +} \ No newline at end of file diff --git a/backend/__pycache__/models.cpython-311.pyc b/backend/__pycache__/models.cpython-311.pyc index a3ebff15..ed7985b5 100644 Binary files a/backend/__pycache__/models.cpython-311.pyc and b/backend/__pycache__/models.cpython-311.pyc differ diff --git a/backend/blueprints/__pycache__/calendar.cpython-311.pyc b/backend/blueprints/__pycache__/calendar.cpython-311.pyc index 9c9c12c4..8c66ddeb 100644 Binary files a/backend/blueprints/__pycache__/calendar.cpython-311.pyc and b/backend/blueprints/__pycache__/calendar.cpython-311.pyc differ diff --git a/backend/blueprints/__pycache__/jobs.cpython-311.pyc b/backend/blueprints/__pycache__/jobs.cpython-311.pyc index f5c8caa8..88625619 100644 Binary files a/backend/blueprints/__pycache__/jobs.cpython-311.pyc and b/backend/blueprints/__pycache__/jobs.cpython-311.pyc differ diff --git a/backend/database/myp.db b/backend/database/myp.db index fb8c0f46..243867b4 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..b839bf95 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..4ef4d798 Binary files /dev/null and b/backend/database/myp.db-wal differ diff --git a/backend/logs/analytics/analytics.log b/backend/logs/analytics/analytics.log index e622bb8e..54cc7627 100644 --- a/backend/logs/analytics/analytics.log +++ b/backend/logs/analytics/analytics.log @@ -123,3 +123,5 @@ 2025-06-03 15:19:24 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert 2025-06-03 15:21:43 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert 2025-06-03 15:22:52 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-03 15:57:19 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-03 20:42:02 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index 82fe6886..75b0df5b 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -3203,3 +3203,62 @@ WHERE jobs.status = ?) AS anon_1] 2025-06-03 15:23:16 - [app] app - [INFO] INFO - Admin-Check für Funktion api_admin_plug_schedules_statistics: User authenticated: True, User ID: 1, Is Admin: True 2025-06-03 15:23:16 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: name 'func' is not defined 2025-06-03 15:23:16 - [app] app - [ERROR] ERROR - Fehler beim Erstellen der Steckdosen-Statistiken: name 'func' is not defined +2025-06-03 15:56:54 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: /mnt/database/myp.db +2025-06-03 15:57:19 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: /mnt/database/myp.db +2025-06-03 15:57:20 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 15:57:20 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-03 15:57:20 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration verwendet +2025-06-03 15:57:20 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-03 15:57:20 - [app] app - [INFO] INFO - ✅ Error-Recovery-Monitoring gestartet +2025-06-03 15:57:20 - [app] app - [INFO] INFO - ✅ System-Control-Manager initialisiert +2025-06-03 15:57:20 - [app] app - [WARNING] WARNING - ⚠️ Kiosk-Service nicht gefunden - Kiosk-Funktionen eventuell eingeschränkt +2025-06-03 15:57:20 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-03 15:57:20 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-03 15:57:20 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-03 15:57:20 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-03 15:57:20 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-03 15:57:20 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration aktiv (keine Optimierungen) +2025-06-03 15:57:20 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-03 15:57:22 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-03 15:57:22 - [app] app - [INFO] INFO - ✅ Steckdosen-Initialisierung: 0/1 Drucker erfolgreich +2025-06-03 15:57:22 - [app] app - [WARNING] WARNING - ⚠️ 1 Drucker konnten nicht initialisiert werden +2025-06-03 15:57:22 - [app] app - [INFO] INFO - ✅ Printer Queue Manager erfolgreich gestartet +2025-06-03 15:57:23 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-03 15:57:25 - [app] app - [INFO] INFO - Starte HTTPS-Server auf 0.0.0.0:443 +2025-06-03 15:57:56 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 15:58:12 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 15:58:12 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 15:58:15 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 20:42:01 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-03 20:42:04 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 🚀 Aktiviere optimierte Konfiguration für schwache Hardware/Raspberry Pi +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ✅ Optimierte Konfiguration aktiviert +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ✅ Error-Recovery-Monitoring gestartet +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ✅ System-Control-Manager initialisiert +2025-06-03 20:42:04 - [app] app - [WARNING] WARNING - ⚠️ Kiosk-Service nicht gefunden - Kiosk-Funktionen eventuell eingeschränkt +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-03 20:42:04 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-03 20:42:04 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 🚀 === OPTIMIERTE KONFIGURATION AKTIV === +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 📊 Hardware erkannt: Raspberry Pi=False +2025-06-03 20:42:04 - [app] app - [INFO] INFO - ⚙️ Erzwungen: False +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 🔧 CLI-Parameter: True +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 🔧 Aktive Optimierungen: +2025-06-03 20:42:04 - [app] app - [INFO] INFO - - Minifizierte Assets: True +2025-06-03 20:42:04 - [app] app - [INFO] INFO - - Animationen deaktiviert: True +2025-06-03 20:42:04 - [app] app - [INFO] INFO - - Glassmorphism begrenzt: True +2025-06-03 20:42:04 - [app] app - [INFO] INFO - - Template-Caching: True +2025-06-03 20:42:04 - [app] app - [INFO] INFO - - Static Cache: 8760.0h +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 🚀 ======================================== +2025-06-03 20:42:04 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-03 20:42:06 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-03 20:42:06 - [app] app - [INFO] INFO - ✅ Steckdosen-Initialisierung: 0/1 Drucker erfolgreich +2025-06-03 20:42:06 - [app] app - [WARNING] WARNING - ⚠️ 1 Drucker konnten nicht initialisiert werden +2025-06-03 20:42:06 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung +2025-06-03 20:42:06 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-03 20:42:06 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP) +2025-06-03 20:42:06 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert diff --git a/backend/logs/auth/auth.log b/backend/logs/auth/auth.log index 96dd94b8..71142828 100644 --- a/backend/logs/auth/auth.log +++ b/backend/logs/auth/auth.log @@ -932,3 +932,6 @@ 2025-06-03 15:19:46 - [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-03 15:19:46 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet 2025-06-03 15:19:48 - [auth] auth - [INFO] INFO - 🔐 Neue Session erstellt für Benutzer admin@mercedes-benz.com von IP 127.0.0.1 +2025-06-03 20:42:21 - [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-03 20:42:21 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet +2025-06-03 20:42:22 - [auth] auth - [INFO] INFO - 🔐 Neue Session erstellt für Benutzer admin@mercedes-benz.com von IP 127.0.0.1 diff --git a/backend/logs/backup/backup.log b/backend/logs/backup/backup.log index a2e61c07..c921b8e2 100644 --- a/backend/logs/backup/backup.log +++ b/backend/logs/backup/backup.log @@ -127,3 +127,6 @@ 2025-06-03 15:19:24 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) 2025-06-03 15:21:43 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) 2025-06-03 15:22:52 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 15:56:54 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 15:57:19 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 20:42:02 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) diff --git a/backend/logs/dashboard/dashboard.log b/backend/logs/dashboard/dashboard.log index 7fafae51..cad506db 100644 --- a/backend/logs/dashboard/dashboard.log +++ b/backend/logs/dashboard/dashboard.log @@ -494,3 +494,11 @@ 2025-06-03 15:22:53 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet 2025-06-03 15:22:53 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) 2025-06-03 15:22:53 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-03 15:57:19 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 15:57:20 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 15:57:20 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit eventlet initialisiert +2025-06-03 15:57:20 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: eventlet) +2025-06-03 20:42:04 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 20:42:04 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 20:42:04 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-03 20:42:04 - [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 3433fbe7..e4ccefc8 100644 --- a/backend/logs/database/database.log +++ b/backend/logs/database/database.log @@ -123,3 +123,6 @@ 2025-06-03 15:19:24 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet 2025-06-03 15:21:43 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet 2025-06-03 15:22:52 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 15:56:54 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 15:57:19 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 20:42:02 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet diff --git a/backend/logs/database_cleanup/database_cleanup.log b/backend/logs/database_cleanup/database_cleanup.log index 7e0a49f7..f341388d 100644 --- a/backend/logs/database_cleanup/database_cleanup.log +++ b/backend/logs/database_cleanup/database_cleanup.log @@ -34,3 +34,9 @@ 2025-06-03 15:22:53 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... 2025-06-03 15:22:53 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... 2025-06-03 15:22:53 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen... +2025-06-03 15:57:20 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... +2025-06-03 15:57:20 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... +2025-06-03 15:57:20 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen... +2025-06-03 20:42:04 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... +2025-06-03 20:42:04 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... +2025-06-03 20:42:04 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen... diff --git a/backend/logs/email_notification/email_notification.log b/backend/logs/email_notification/email_notification.log index 4116987a..44ff9273 100644 --- a/backend/logs/email_notification/email_notification.log +++ b/backend/logs/email_notification/email_notification.log @@ -120,3 +120,5 @@ 2025-06-03 15:19:26 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) 2025-06-03 15:21:44 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) 2025-06-03 15:22:53 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-03 15:57:20 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-03 20:42:04 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) diff --git a/backend/logs/error_recovery/error_recovery.log b/backend/logs/error_recovery/error_recovery.log index 3a770708..73e389b7 100644 --- a/backend/logs/error_recovery/error_recovery.log +++ b/backend/logs/error_recovery/error_recovery.log @@ -26,3 +26,11 @@ 2025-06-03 15:22:53 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet 2025-06-03 15:22:53 - [error_recovery] error_recovery - [WARNING] WARNING - 🚨 Fehler erkannt: database_lock - 2025-06-01 00:29:13 - myp.app - ERROR - ❌ Fehler beim Datenbank-Cleanup: (sqlite3.OperationalError) database is locked 2025-06-03 15:22:53 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database +2025-06-03 15:57:20 - [error_recovery] error_recovery - [INFO] INFO - 🛡️ Error-Recovery-Manager initialisiert +2025-06-03 15:57:20 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet +2025-06-03 15:57:20 - [error_recovery] error_recovery - [WARNING] WARNING - 🚨 Fehler erkannt: database_lock - 2025-06-01 00:29:13 - myp.app - ERROR - ❌ Fehler beim Datenbank-Cleanup: (sqlite3.OperationalError) database is locked +2025-06-03 15:57:20 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database +2025-06-03 20:42:04 - [error_recovery] error_recovery - [INFO] INFO - 🛡️ Error-Recovery-Manager initialisiert +2025-06-03 20:42:04 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet +2025-06-03 20:42:04 - [error_recovery] error_recovery - [WARNING] WARNING - 🚨 Fehler erkannt: database_lock - 2025-06-01 00:29:13 - myp.app - ERROR - ❌ Fehler beim Datenbank-Cleanup: (sqlite3.OperationalError) database is locked +2025-06-03 20:42:04 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database diff --git a/backend/logs/jobs/jobs.log b/backend/logs/jobs/jobs.log index 6a984e5e..426ed91d 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -147,3 +147,4 @@ FROM jobs LEFT OUTER JOIN users AS users_1 ON users_1.id = jobs.user_id LEFT OUT 2025-06-02 15:19:34 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 16 von 16 (Seite 1) 2025-06-02 15:20:02 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 16 von 16 (Seite 1) 2025-06-03 13:31:45 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 16 von 16 (Seite 1) +2025-06-03 20:43:48 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 16 von 16 (Seite 1) diff --git a/backend/logs/maintenance/maintenance.log b/backend/logs/maintenance/maintenance.log index 7f6a19a0..8eedadf0 100644 --- a/backend/logs/maintenance/maintenance.log +++ b/backend/logs/maintenance/maintenance.log @@ -246,3 +246,7 @@ 2025-06-03 15:21:44 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet 2025-06-03 15:22:53 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet 2025-06-03 15:22:53 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 15:57:20 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 15:57:20 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 20:42:04 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 20:42:04 - [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 d9e6915c..c95620e4 100644 --- a/backend/logs/multi_location/multi_location.log +++ b/backend/logs/multi_location/multi_location.log @@ -244,3 +244,7 @@ 2025-06-03 15:21:44 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt 2025-06-03 15:22:53 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt 2025-06-03 15:22:53 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 15:57:20 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 15:57:20 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 20:42:04 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 20:42:04 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt diff --git a/backend/logs/myp-install-debug.log b/backend/logs/myp-install-debug.log index 1f8d3cf7..45d22bc4 100644 --- a/backend/logs/myp-install-debug.log +++ b/backend/logs/myp-install-debug.log @@ -1,32 +1,72 @@ ================================================================= -MYP Installation DEBUG Log - 2025-06-03 15:45:48 +MYP Installation DEBUG Log - 2025-06-03 19:21:32 ================================================================= -[2025-06-03 15:45:49] DEBUG von setup.sh:449 +[2025-06-03 19:21:33] DEBUG von setup.sh:449 Debian erkannt über /etc/debian_version: 12.11 --- -[2025-06-03 15:45:49] DEBUG von setup.sh:517 +[2025-06-03 19:21:33] DEBUG von setup.sh:517 Kein Raspberry Pi erkannt. Hardware-Info: --- -[2025-06-03 15:45:49] DEBUG von setup.sh:518 +[2025-06-03 19:21:33] DEBUG von setup.sh:518 - Device Tree: nicht verfügbar --- -[2025-06-03 15:45:49] DEBUG von setup.sh:519 +[2025-06-03 19:21:33] DEBUG von setup.sh:519 - CPU Hardware: nicht verfügbar --- -[2025-06-03 15:45:49] DEBUG von setup.sh:559 +[2025-06-03 19:21:33] DEBUG von setup.sh:559 Vollständige Kernel-Info: Linux debian 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux --- -[2025-06-03 15:45:49] DEBUG von setup.sh:615 -DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup. +[2025-06-03 19:21:52] DEBUG von setup.sh:615 +DNS-Test Details: Teste DNS für 8.8.8.8: nslookup fehlgeschlagen. getent fehlgeschlagen. Erfolg mit ping. --- -[2025-06-03 15:45:50] DEBUG von setup.sh:716 -Externe IP ermittelt über ifconfig.me: 163.116.178.31 +[2025-06-03 19:22:08] DEBUG von setup.sh:722 +Externe IP konnte nicht ermittelt werden +--- + +[2025-06-03 19:25:10] DEBUG von setup.sh:1132 +sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf +--- + +[2025-06-03 19:25:10] DEBUG von setup.sh:1188 +Sysctl-Phase abgeschlossen - fahre mit Installation fort +--- + +[2025-06-03 19:25:10] DEBUG von setup.sh:1214 +systemd-networkd nicht aktiv - überspringe +--- + +[2025-06-03 19:25:10] DEBUG von setup.sh:1240 +NetworkManager nicht aktiv - überspringe +--- + +[2025-06-03 19:25:10] DEBUG von setup.sh:1246 +IPv6 Einträge in /etc/hosts auskommentiert +--- + +[2025-06-03 19:25:10] DEBUG von setup.sh:1263 +Netzwerk-Sicherheit ohne Blockierung abgeschlossen +--- + +[2025-06-03 19:28:20] DEBUG von setup.sh:1569 +SSL-Verzeichnis erstellt: /usr/local/share/ca-certificates/myp +--- + +[2025-06-03 19:28:25] DEBUG von setup.sh:1677 +SSL-Konfiguration abgeschlossen ohne hängende Prozesse +--- + +[2025-06-03 19:29:06] DEBUG von setup.sh:962 +flask erfolgreich importiert +--- + +[2025-06-03 19:29:06] DEBUG von setup.sh:962 +requests erfolgreich importiert --- diff --git a/backend/logs/myp-install-errors.log b/backend/logs/myp-install-errors.log index 3c44b950..a3b77ad8 100644 --- a/backend/logs/myp-install-errors.log +++ b/backend/logs/myp-install-errors.log @@ -1,4 +1,4 @@ ================================================================= -MYP Installation FEHLER Log - 2025-06-03 15:45:48 +MYP Installation FEHLER Log - 2025-06-03 19:21:32 ================================================================= diff --git a/backend/logs/myp-install-warnings.log b/backend/logs/myp-install-warnings.log index 3d83789d..97d7a284 100644 --- a/backend/logs/myp-install-warnings.log +++ b/backend/logs/myp-install-warnings.log @@ -1,4 +1,4 @@ ================================================================= -MYP Installation WARNUNGEN Log - 2025-06-03 15:45:48 +MYP Installation WARNUNGEN Log - 2025-06-03 19:21:32 ================================================================= diff --git a/backend/logs/myp-install.log b/backend/logs/myp-install.log index 535dc9a8..a736738c 100644 --- a/backend/logs/myp-install.log +++ b/backend/logs/myp-install.log @@ -1,12 +1,12 @@ ================================================================= -MYP Installation Log - 2025-06-03 15:45:48 +MYP Installation Log - 2025-06-03 19:21:32 Script Version: 4.1.0 System: Linux debian 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux ================================================================= -[2025-06-03 15:45:48] === MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN === -[2025-06-03 15:45:49] ✅ Root-Berechtigung bestätigt -[2025-06-03 15:45:49] === SYSTEM-RESSOURCEN PRÜFUNG === +[2025-06-03 19:21:32] === MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN === +[2025-06-03 19:21:32] ✅ Root-Berechtigung bestätigt +[2025-06-03 19:21:32] === SYSTEM-RESSOURCEN PRÜFUNG === [FORTSCHRITT] Prüfe RAM... [FORTSCHRITT] Verfügbarer RAM: 24031MB [ERFOLG] ✅ Ausreichend RAM verfügbar (24031MB) @@ -16,10 +16,10 @@ System: Linux debian 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (202 [FORTSCHRITT] Prüfe CPU... [FORTSCHRITT] CPU: 8 Kern(e) - 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz [ERFOLG] ✅ CPU-Information erfolgreich ermittelt -[2025-06-03 15:45:49] ✅ System-Ressourcen-Prüfung abgeschlossen +[2025-06-03 19:21:32] ✅ System-Ressourcen-Prüfung abgeschlossen [FORTSCHRITT] Prüfe Debian/Raspbian-System... [DEBUG] Debian erkannt über /etc/debian_version: 12.11 -[2025-06-03 15:45:49] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11) +[2025-06-03 19:21:33] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11) [FORTSCHRITT] Prüfe Raspberry Pi Hardware... [INFO] 💻 Standard-PC/Server System (kein Raspberry Pi) [DEBUG] Kein Raspberry Pi erkannt. Hardware-Info: @@ -31,23 +31,22 @@ System: Linux debian 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (202 [FORTSCHRITT] Prüfe Kernel-Version... [INFO] 🐧 Kernel-Version: 6.1.0-37-amd64 [DEBUG] Vollständige Kernel-Info: Linux debian 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux -[2025-06-03 15:45:49] ✅ System-Analyse abgeschlossen +[2025-06-03 19:21:33] ✅ System-Analyse abgeschlossen [FORTSCHRITT] Prüfe Internetverbindung (erweiterte Methoden)... [FORTSCHRITT] Teste DNS-Auflösung... -[DEBUG] DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup.  +[DEBUG] DNS-Test Details: Teste DNS für 8.8.8.8: nslookup fehlgeschlagen. getent fehlgeschlagen. Erfolg mit ping.  [ERFOLG] ✅ Internetverbindung verfügbar -[INFO] 🔍 Erkannt via: DNS-Auflösung (nslookup: 8.8.8.8) +[INFO] 🔍 Erkannt via: Netzwerk-Verbindung (ping: 8.8.8.8) [FORTSCHRITT] Ermittle externe IP-Adresse... -[INFO] 🌐 Externe IP: 163.116.178.31 -[DEBUG] Externe IP ermittelt über ifconfig.me: 163.116.178.31 -[2025-06-03 15:45:50] === KONFIGURIERE HOSTNAME === +[DEBUG] Externe IP konnte nicht ermittelt werden +[2025-06-03 19:22:08] === KONFIGURIERE HOSTNAME === [FORTSCHRITT] Setze Hostname von 'debian' auf 'raspberrypi'... -[2025-06-03 15:45:50] ✅ Hostname erfolgreich auf 'raspberrypi' gesetzt -[2025-06-03 15:45:50] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1 -[2025-06-03 15:45:50] === ROBUSTE SYSTEM-UPDATE === +[2025-06-03 19:22:08] ✅ Hostname erfolgreich auf 'raspberrypi' gesetzt +[2025-06-03 19:23:44] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1 +[2025-06-03 19:23:44] === ROBUSTE SYSTEM-UPDATE === [FORTSCHRITT] Konfiguriere APT für bessere Zuverlässigkeit... [FORTSCHRITT] Validiere APT-Repositories... -[2025-06-03 15:45:50] ✅ Source-Repositories deaktiviert (nicht benötigt) +[2025-06-03 19:23:44] ✅ Source-Repositories deaktiviert (nicht benötigt) [FORTSCHRITT] Aktualisiere Paketlisten mit Retry... [FORTSCHRITT] Führe System-Upgrade durch... [FORTSCHRITT] Installiere essenzielle System-Tools... @@ -56,3 +55,142 @@ System: Linux debian 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (202 [FORTSCHRITT] Installiere Pakete: curl [FORTSCHRITT] Installiere Pakete: wget [FORTSCHRITT] Installiere Pakete: git +[FORTSCHRITT] Installiere Pakete: nano +[FORTSCHRITT] Installiere Pakete: htop +[FORTSCHRITT] Installiere Pakete: rsync +[FORTSCHRITT] Installiere Pakete: unzip +[FORTSCHRITT] Installiere Pakete: sudo +[FORTSCHRITT] Installiere Pakete: systemd +[FORTSCHRITT] Installiere Pakete: lsb-release +[FORTSCHRITT] Installiere Pakete: apt-transport-https +[FORTSCHRITT] Installiere Pakete: software-properties-common +[FORTSCHRITT] Installiere Pakete: bc +[FORTSCHRITT] Installiere Pakete: dbus +[FORTSCHRITT] Installiere Pakete: systemd-timesyncd +[FORTSCHRITT] Synchronisiere Systemzeit... +[2025-06-03 19:24:37] ✅ Robustes System-Update abgeschlossen +[2025-06-03 19:24:37] === KONFIGURIERE OPTIONALE NETZWERK-SICHERHEIT === +[FORTSCHRITT] Deaktiviere IPv6 (robust)... +[FORTSCHRITT] Deaktiviere IPv6 in GRUB... +[ERFOLG] ✅ IPv6 in GRUB deaktiviert +[FORTSCHRITT] Erstelle robuste sysctl-Konfiguration... +[ERFOLG] ✅ Basis-sysctl-Konfiguration erstellt +[DEBUG] sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf +[FORTSCHRITT] OPTIONAL: Versuche sysctl-Einstellungen anzuwenden... +[ERFOLG] ✅ MYP sysctl-Einstellungen angewendet +[DEBUG] Sysctl-Phase abgeschlossen - fahre mit Installation fort +[FORTSCHRITT] Deaktiviere IPv6 in Netzwerk-Interfaces (vorsichtig)... +[DEBUG] systemd-networkd nicht aktiv - überspringe +[DEBUG] NetworkManager nicht aktiv - überspringe +[DEBUG] IPv6 Einträge in /etc/hosts auskommentiert +[2025-06-03 19:25:10] ✅ Optionale Netzwerk-Sicherheit konfiguriert: +[2025-06-03 19:25:10] 📝 Sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf +[2025-06-03 19:25:10] ⚙️ Einstellungen werden beim nächsten Boot aktiv +[2025-06-03 19:25:10] 🔧 Netzwerk-Konfiguration vorbereitet +[INFO] 💡 Tipp: Netzwerk-Sicherheit kann manuell aktiviert werden: +[INFO] → sudo sysctl -p /etc/sysctl.d/99-myp-security.conf +[INFO] → Oder automatisch beim nächsten Neustart +[DEBUG] Netzwerk-Sicherheit ohne Blockierung abgeschlossen +[2025-06-03 19:25:10] === ROBUSTE PYTHON-INSTALLATION === +[FORTSCHRITT] Installiere Python 3 und Build-Abhängigkeiten... +[FORTSCHRITT] Installiere Pakete: python3 +[FORTSCHRITT] Installiere Pakete: python3-pip +[FORTSCHRITT] Installiere Pakete: python3-dev +[FORTSCHRITT] Installiere Pakete: python3-setuptools +[FORTSCHRITT] Installiere Pakete: python3-venv +[FORTSCHRITT] Installiere Pakete: python3-wheel +[FORTSCHRITT] Installiere Pakete: build-essential +[FORTSCHRITT] Installiere Pakete: libssl-dev +[FORTSCHRITT] Installiere Pakete: libffi-dev +[FORTSCHRITT] Installiere Pakete: libbz2-dev +[FORTSCHRITT] Installiere Pakete: libreadline-dev +[FORTSCHRITT] Installiere Pakete: libsqlite3-dev +[FORTSCHRITT] Installiere Pakete: libncurses5-dev +[FORTSCHRITT] Installiere Pakete: libncursesw5-dev +[FORTSCHRITT] Installiere Pakete: zlib1g-dev +[FORTSCHRITT] Installiere Pakete: sqlite3 +[FORTSCHRITT] Validiere Python-Installation... +[2025-06-03 19:26:13] ✅ Python Version: 3.11.2 +[FORTSCHRITT] Konfiguriere pip für bessere Zuverlässigkeit... +[FORTSCHRITT] Erstelle systemweite pip-Konfiguration... +[FORTSCHRITT] Konfiguriere pip für alle Benutzer... +[2025-06-03 19:26:13] ✅ pip konfiguriert für Benutzer: user +[FORTSCHRITT] Aktualisiere pip mit Retry... +[2025-06-03 19:26:17] ✅ pip Version: 25.1.1 +[2025-06-03 19:26:17] ✅ Robuste Python-Umgebung installiert +[2025-06-03 19:26:17] === ROBUSTE NODE.JS UND NPM INSTALLATION === +[FORTSCHRITT] Bereinige alte Node.js-Installationen... +[FORTSCHRITT] Installiere Node.js mit Fallback-Strategie... +[FORTSCHRITT] Verwende Debian Repository als Fallback... +[FORTSCHRITT] Installiere Pakete: nodejs npm +[2025-06-03 19:28:16] ✅ Node.js via Debian Repository installiert +[FORTSCHRITT] Validiere Node.js Installation... +[2025-06-03 19:28:17] ✅ Node.js Version: v18.19.0 +[2025-06-03 19:28:17] ✅ npm Version: 9.2.0 +[FORTSCHRITT] Optimiere npm-Konfiguration... +[2025-06-03 19:28:19] ✅ Node.js und npm erfolgreich installiert +[2025-06-03 19:28:19] === TIMEOUT-GESICHERTE SSL-ZERTIFIKATE KONFIGURATION === +[FORTSCHRITT] Installiere SSL-Grundkomponenten... +[FORTSCHRITT] Installiere Pakete: ca-certificates openssl +[FORTSCHRITT] Aktualisiere CA-Zertifikate (timeout-gesichert)... +[ERFOLG] ✅ CA-Zertifikate erfolgreich aktualisiert +[DEBUG] SSL-Verzeichnis erstellt: /usr/local/share/ca-certificates/myp +[FORTSCHRITT] Installiere Mercedes Corporate Zertifikate (timeout-gesichert)... +[FORTSCHRITT] Lade CA-Zertifikate nach Mercedes-Import neu (timeout-gesichert)... +[ERFOLG] ✅ Mercedes-Zertifikate erfolgreich in CA-Store integriert +[FORTSCHRITT] Konfiguriere SSL-Umgebungsvariablen... +[FORTSCHRITT] Validiere SSL-Konfiguration... +[2025-06-03 19:28:24] ✅ SSL-Zertifikate verfügbar: 144 CA-Zertifikate +[FORTSCHRITT] Finalisiere SSL-Konfiguration... +[ERFOLG] ✅ Finale CA-Zertifikate Integration abgeschlossen +[2025-06-03 19:28:25] ✅ SSL-Zertifikate timeout-gesichert konfiguriert +[DEBUG] SSL-Konfiguration abgeschlossen ohne hängende Prozesse +[2025-06-03 19:28:25] === PYTHON-PAKETE INSTALLATION === +[FORTSCHRITT] Installiere Python-Pakete... +[FORTSCHRITT] Installiere requirements.txt... +[ERFOLG] ✅ requirements.txt erfolgreich installiert +[FORTSCHRITT] Validiere essenzielle Python-Module... +[DEBUG] flask erfolgreich importiert +[DEBUG] requests erfolgreich importiert +[ERFOLG] ✅ Essenzielle Python-Module verfügbar +[2025-06-03 19:29:06] ✅ Python-Pakete Installation abgeschlossen +[FORTSCHRITT] Zeige installierte Python-Pakete... +[2025-06-03 19:29:06] === ROBUSTES ANWENDUNGS-DEPLOYMENT === +[FORTSCHRITT] Erstelle sicheres Zielverzeichnis: /opt/myp +[FORTSCHRITT] Validiere Source-Dateien... +[FORTSCHRITT] Kopiere Anwendungsdateien (robust)... +[FORTSCHRITT] Kopiere kritische Datei: app.py +[ERFOLG] ✅ app.py erfolgreich kopiert +[FORTSCHRITT] Kopiere kritische Datei: models.py +[ERFOLG] ✅ models.py erfolgreich kopiert +[FORTSCHRITT] Kopiere kritische Datei: requirements.txt +[ERFOLG] ✅ requirements.txt erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: blueprints +[ERFOLG] ✅ blueprints erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: config +[ERFOLG] ✅ config erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: database +[ERFOLG] ✅ database erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: static +[ERFOLG] ✅ static erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: templates +[ERFOLG] ✅ templates erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: uploads +[ERFOLG] ✅ uploads erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: utils +[ERFOLG] ✅ utils erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: logs +[ERFOLG] ✅ logs erfolgreich kopiert +[FORTSCHRITT] Kopiere Verzeichnis: certs +[ERFOLG] ✅ certs erfolgreich kopiert +[FORTSCHRITT] Kopiere optionale Datei: package.json +[FORTSCHRITT] Kopiere optionale Datei: package-lock.json +[FORTSCHRITT] Kopiere optionale Datei: tailwind.config.js +[FORTSCHRITT] Kopiere optionale Datei: postcss.config.js +[FORTSCHRITT] Kopiere optionale Datei: README.md +[FORTSCHRITT] Erstelle Verzeichnisstruktur... +[FORTSCHRITT] Setze sichere Berechtigungen... +[FORTSCHRITT] Konfiguriere robuste Python-Umgebung... +[2025-06-03 19:29:40] ✅ Python-Pfad konfiguriert: /usr/local/lib/python3.11/dist-packages/myp-app.pth +[FORTSCHRITT] Konfiguriere Umgebungsvariablen... +[FORTSCHRITT] Aktualisiere Bash-Profile... diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index eb807be9..5b404365 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -122,3 +122,5 @@ 2025-06-03 15:19:26 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-03 15:21:44 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-03 15:22:53 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-03 15:57:20 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-03 20:42:04 - [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 855460b0..ace1f5b2 100644 --- a/backend/logs/printer_monitor/printer_monitor.log +++ b/backend/logs/printer_monitor/printer_monitor.log @@ -3372,3 +3372,37 @@ 2025-06-03 15:23:25 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.103): UNREACHABLE (Ping fehlgeschlagen) 2025-06-03 15:23:25 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Status-Update abgeschlossen für 1 Drucker 2025-06-03 15:23:30 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s +2025-06-03 15:56:54 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 15:56:54 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 15:57:19 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 15:57:19 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 15:57:20 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-03 15:57:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-03 15:57:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-03 15:57:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-03 15:57:22 - [printer_monitor] printer_monitor - [WARNING] WARNING - ❌ Tapo P110 (192.168.0.103): Steckdose konnte nicht ausgeschaltet werden +2025-06-03 15:57:22 - [printer_monitor] printer_monitor - [INFO] INFO - 🎯 Steckdosen-Initialisierung abgeschlossen: 0/1 erfolgreich +2025-06-03 15:57:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-03 15:57:35 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-03 15:57:42 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-03 15:57:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-03 15:57:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-03 15:58:05 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 44.3s +2025-06-03 20:42:02 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 20:42:02 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 20:42:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-03 20:42:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-03 20:42:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-03 20:42:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-03 20:42:06 - [printer_monitor] printer_monitor - [WARNING] WARNING - ❌ Tapo P110 (192.168.0.103): Steckdose konnte nicht ausgeschaltet werden +2025-06-03 20:42:06 - [printer_monitor] printer_monitor - [INFO] INFO - 🎯 Steckdosen-Initialisierung abgeschlossen: 0/1 erfolgreich +2025-06-03 20:42:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-03 20:42:16 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-03 20:42:22 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-03 20:42:25 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-03 20:42:25 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Prüfe Status von 1 aktiven Druckern... +2025-06-03 20:42:28 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-03 20:42:34 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.103): UNREACHABLE (Ping fehlgeschlagen) +2025-06-03 20:42:34 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Status-Update abgeschlossen für 1 Drucker +2025-06-03 20:42:34 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-03 20:42:40 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s diff --git a/backend/logs/printers/printers.log b/backend/logs/printers/printers.log index 5d4918b8..3b0f4279 100644 --- a/backend/logs/printers/printers.log +++ b/backend/logs/printers/printers.log @@ -6724,3 +6724,51 @@ 2025-06-03 15:23:56 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) 2025-06-03 15:23:56 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker 2025-06-03 15:23:56 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.31ms +2025-06-03 20:42:25 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 20:42:25 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:42:34 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:42:34 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 9011.72ms +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.64ms +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.54ms +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:42:55 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.58ms +2025-06-03 20:43:19 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:43:19 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:43:19 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.41ms +2025-06-03 20:43:31 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 20:43:57 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 20:44:01 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:44:01 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:44:01 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.31ms +2025-06-03 20:44:28 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:44:28 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:44:28 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.38ms +2025-06-03 20:44:33 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:44:33 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:44:33 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.28ms +2025-06-03 20:44:33 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:44:33 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:44:33 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.33ms +2025-06-03 20:44:57 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:44:57 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:44:57 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.63ms +2025-06-03 20:45:02 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:45:02 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:45:02 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.35ms +2025-06-03 20:45:02 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:45:02 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:45:02 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.32ms +2025-06-03 20:45:27 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:45:27 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:45:27 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.47ms +2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.36ms +2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker +2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.26ms diff --git a/backend/logs/queue_manager/queue_manager.log b/backend/logs/queue_manager/queue_manager.log index b032655b..8d9f224a 100644 --- a/backend/logs/queue_manager/queue_manager.log +++ b/backend/logs/queue_manager/queue_manager.log @@ -89,3 +89,18 @@ 2025-06-03 15:21:54 - [queue_manager] queue_manager - [INFO] INFO - 🛑 Shutdown-Signal empfangen - beende Monitor-Loop 2025-06-03 15:21:54 - [queue_manager] queue_manager - [INFO] INFO - 🔚 Monitor-Loop beendet 2025-06-03 15:21:54 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestoppt +2025-06-03 15:57:22 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Initialisiere neuen Queue-Manager... +2025-06-03 15:57:22 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Zentrale Shutdown-Verwaltung erkannt - deaktiviere lokale Signal-Handler +2025-06-03 15:57:22 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Starte Printer Queue Manager... +2025-06-03 15:57:22 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Queue-Überwachung gestartet (Intervall: 120 Sekunden) +2025-06-03 15:57:22 - [queue_manager] queue_manager - [INFO] INFO - ✅ Printer Queue Manager gestartet +2025-06-03 15:57:22 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestartet +2025-06-03 15:57:22 - [queue_manager] queue_manager - [INFO] INFO - 🔍 Überprüfe 8 wartende Jobs... +2025-06-03 15:57:55 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Stoppe Queue-Manager... +2025-06-03 15:57:55 - [queue_manager] queue_manager - [INFO] INFO - ⏳ Warte auf Monitor-Thread... +2025-06-03 15:57:56 - [queue_manager] queue_manager - [ERROR] ERROR - ❌ Fehler beim Überprüfen wartender Jobs: (sqlite3.ProgrammingError) Cannot operate on a closed database. +[SQL: UPDATE printers SET status=?, active=?, last_checked=? WHERE printers.id = ?] +[parameters: [{'last_checked': datetime.datetime(2025, 6, 3, 15, 57, 56, 75275), 'active': False, 'status': 'offline', 'printers_id': 4}]] +(Background on this error at: https://sqlalche.me/e/20/f405) +2025-06-03 15:57:56 - [queue_manager] queue_manager - [INFO] INFO - 🛑 Shutdown-Signal empfangen - beende Monitor-Loop +2025-06-03 15:57:56 - [queue_manager] queue_manager - [INFO] INFO - 🔚 Monitor-Loop beendet diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index 75b9c937..c97bccb1 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -30221,3 +30221,80 @@ 2025-06-03 15:24:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) 2025-06-03 15:24:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten 2025-06-03 15:24:09 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 15:56:54 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-03 15:57:19 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-03 15:57:23 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-03 15:57:23 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-03 15:57:23 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 15:57:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 15:57:25 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 15:57:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 15:57:27 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 15:57:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 15:57:31 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 15:57:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 15:57:33 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 15:57:35 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:35 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 15:57:35 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 15:57:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 15:57:38 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 15:57:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 15:57:41 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 15:57:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 15:57:43 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 15:57:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.104 timed out. (connect timeout=2)')) +2025-06-03 15:57:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 15:57:45 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 15:57:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.104 timed out. (connect timeout=2)')) +2025-06-03 15:57:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 15:57:49 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 15:57:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.104 timed out. (connect timeout=2)')) +2025-06-03 15:57:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 15:57:52 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 15:57:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.104 timed out. (connect timeout=2)')) +2025-06-03 15:57:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 15:57:54 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 15:57:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 4: (sqlite3.ProgrammingError) Cannot operate on a closed database. +(Background on this error at: https://sqlalche.me/e/20/f405) +2025-06-03 15:57:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten +2025-06-03 15:57:56 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2 +2025-06-03 15:57:59 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:57:59 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten +2025-06-03 15:57:59 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test +2025-06-03 15:58:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten +2025-06-03 15:58:02 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test +2025-06-03 15:58:05 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:05 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten +2025-06-03 15:58:07 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 15:58:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 15:58:10 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 15:58:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 4: (sqlite3.ProgrammingError) Cannot operate on a closed database. +(Background on this error at: https://sqlalche.me/e/20/f405) +2025-06-03 15:58:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 15:58:12 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 15:58:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 4: (sqlite3.ProgrammingError) Cannot operate on a closed database. +(Background on this error at: https://sqlalche.me/e/20/f405) +2025-06-03 15:58:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 15:58:15 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 15:58:18 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:18 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 15:58:18 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 15:58:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 15:58:20 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 15:58:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) +2025-06-03 15:58:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 15:58:22 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test diff --git a/backend/logs/security/security.log b/backend/logs/security/security.log index 06111dea..d23b4c72 100644 --- a/backend/logs/security/security.log +++ b/backend/logs/security/security.log @@ -122,3 +122,5 @@ 2025-06-03 15:19:26 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-03 15:21:44 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-03 15:22:53 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-03 15:57:20 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-03 20:42:04 - [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 1449ff35..6ff46c5f 100644 --- a/backend/logs/shutdown_manager/shutdown_manager.log +++ b/backend/logs/shutdown_manager/shutdown_manager.log @@ -216,3 +216,5 @@ 2025-06-03 15:21:54 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔄 Beende Scheduler mit stop()... 2025-06-03 15:21:59 - [shutdown_manager] shutdown_manager - [INFO] INFO - ✅ Scheduler erfolgreich gestoppt 2025-06-03 15:22:53 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-03 15:57:20 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-03 20:42:04 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 68635864..499870f1 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -1106,3 +1106,19 @@ 2025-06-03 15:22:53 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert 2025-06-03 15:22:53 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert 2025-06-03 15:22:53 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 15:57:20 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 15:57:20 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-03 15:57:20 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Apr 28 2025, 14:11:48) [GCC 12.2.0] +2025-06-03 15:57:20 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-03 15:57:20 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /mnt +2025-06-03 15:57:20 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T15:57:20.116232 +2025-06-03 15:57:20 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 20:42:04 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 20:42:04 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-03 20:42: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-03 20:42:04 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-03 20:42:04 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-03 20:42:04 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T20:42:04.235089 +2025-06-03 20:42:04 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-03 20:42:04 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-03 20:42:04 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/system_control/system_control.log b/backend/logs/system_control/system_control.log index 950f5c0f..ccfac2c7 100644 --- a/backend/logs/system_control/system_control.log +++ b/backend/logs/system_control/system_control.log @@ -5,3 +5,5 @@ 2025-06-03 15:19:26 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert 2025-06-03 15:21:44 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert 2025-06-03 15:22:53 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert +2025-06-03 15:57:20 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert +2025-06-03 20:42:04 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert diff --git a/backend/logs/windows_fixes/windows_fixes.log b/backend/logs/windows_fixes/windows_fixes.log index 4434f77d..a47ae927 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -523,3 +523,7 @@ 2025-06-03 15:22:51 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) 2025-06-03 15:22:51 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet 2025-06-03 15:22:51 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-03 20:42:01 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-03 20:42:01 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-03 20:42:01 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-03 20:42:01 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet diff --git a/backend/requirements.txt b/backend/requirements.txt index 28906aab..6e9cc98f 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -4,131 +4,131 @@ # Produktions-optimierte Versionen mit Kompatibilitätsgarantie # ===== CORE FRAMEWORK ===== -Flask==3.1.1 -Werkzeug==3.1.3 -Jinja2==3.1.4 +Flask +Werkzeug +Jinja2 # ===== FLASK EXTENSIONS ===== -Flask-Login==0.6.3 -Flask-WTF==1.2.1 -Flask-SocketIO==5.4.1 -WTForms==3.1.2 -Flask-CORS==5.0.0 -Flask-Compress==1.15 +Flask-Login +Flask-WTF +Flask-SocketIO +WTForms +Flask-CORS +Flask-Compress # ===== DATABASE ===== -SQLAlchemy==2.0.36 +SQLAlchemy # ===== SECURITY ===== -cryptography==44.0.0 -bcrypt==4.2.1 -PyJWT==2.10.1 -itsdangerous==2.2.0 +cryptography +bcrypt +PyJWT +itsdangerous # ===== HTTP REQUESTS ===== -requests==2.32.3 -urllib3==2.2.3 +requests +urllib3 # ===== HARDWARE INTEGRATION ===== -PyP100==0.0.8 -pyserial==3.5 -pyusb==1.2.1 +PyP100 +pyserial +pyusb # ===== REAL-TIME FEATURES ===== -eventlet==0.37.0 -python-socketio==5.13.2 +eventlet +python-socketio # ===== SCHEDULING ===== -schedule==1.2.2 -APScheduler==3.10.4 +schedule +APScheduler # ===== GIS & LOCATION ===== -geocoder==1.38.1 +geocoder # ===== DATA PROCESSING & EXPORT ===== -openpyxl==3.1.5 -xlsxwriter==3.2.0 -pandas==2.2.3 -chardet==5.2.0 -python-magic==0.4.27 -python-magic-bin==0.4.14; sys_platform == "win32" +openpyxl +xlsxwriter +pandas +chardet +python-magic +python-magic-bin; sys_platform == "win32" # ===== EMAIL & VALIDATION ===== -email-validator==2.2.0 +email-validator # ===== IMAGE PROCESSING ===== -Pillow==11.0.0 -qrcode[pil]==8.0 +Pillow +qrcode[pil] # ===== PDF & REPORT GENERATION ===== -reportlab==4.2.5 -weasyprint==63.1 +reportlab +weasyprint # ===== DATE/TIME HANDLING ===== -python-dateutil==2.9.0 -pytz==2024.2 +python-dateutil +pytz # ===== LOGGING & MONITORING ===== -colorlog==6.9.0 -psutil==6.1.1 +colorlog +psutil # ===== FILE SYSTEM OPERATIONS ===== -watchdog==6.0.0 -Send2Trash==1.8.3 +watchdog +Send2Trash # ===== DATA VALIDATION ===== -cerberus==1.3.5 -marshmallow==3.23.2 -validators==0.34.0 +cerberus +marshmallow +validators # ===== UTILITIES ===== -python-slugify==8.0.4 -click==8.1.7 -humanize==4.11.0 -python-dotenv==1.0.1 +python-slugify +click +humanize +python-dotenv # ===== NETWORK & API ===== -ping3==4.0.8 -netifaces==0.11.0 +ping3 +netifaces # ===== CACHING ===== -cachelib==0.13.0 +cachelib # ===== COMPRESSION ===== -py7zr==0.22.0 +py7zr # ===== WINDOWS COMPATIBILITY ===== -pywin32==308; sys_platform == "win32" -wmi==1.5.1; sys_platform == "win32" -colorama==0.4.6; sys_platform == "win32" +pywin32; sys_platform == "win32" +wmi; sys_platform == "win32" +colorama; sys_platform == "win32" # ===== LINUX COMPATIBILITY ===== -RPi.GPIO==0.7.1; sys_platform == "linux" +RPi.GPIO; sys_platform == "linux" # ===== PRODUCTION DEPLOYMENT ===== -gunicorn==23.0.0; sys_platform != "win32" -waitress==3.0.2 +gunicorn; sys_platform != "win32" +waitress # ===== TESTING & DEVELOPMENT ===== -pytest==8.3.4 -pytest-flask==1.3.0 -pytest-cov==6.0.0 -coverage==7.6.9 +pytest +pytest-flask +pytest-cov +coverage # ===== CODE QUALITY ===== -flake8==7.1.1 -black==24.10.0 -isort==5.13.2 +flake8 +black +isort # ===== DEPENDENCY COMPATIBILITY ===== -MarkupSafe==3.0.2 -setuptools==75.6.0 -wheel==0.45.1 -pip==24.3.1 +MarkupSafe +setuptools +wheel +pip # ===== OPTIONAL PERFORMANCE ENHANCEMENTS ===== # Auskommentiert für Stabilität - bei Bedarf aktivieren: -# uwsgi==2.0.26; sys_platform != "win32" -# gevent==24.11.1 -# redis==5.2.1 -# celery==5.4.0 +# uwsgi; sys_platform != "win32" +gevent +redis +celery diff --git a/backend/setup.sh b/backend/setup.sh index ec0f673b..8e51fe50 100755 --- a/backend/setup.sh +++ b/backend/setup.sh @@ -930,9 +930,9 @@ EOF } install_python_packages() { - log "=== TIMEOUT-GESICHERTE PYTHON-PAKETE INSTALLATION ===" + log "=== PYTHON-PAKETE INSTALLATION ===" - progress "Installiere Python-Pakete mit Timeout-Sicherung..." + progress "Installiere Python-Pakete..." if [ ! -f "$CURRENT_DIR/requirements.txt" ]; then error "requirements.txt nicht gefunden: $CURRENT_DIR/requirements.txt" @@ -941,81 +941,24 @@ install_python_packages() { # Kopiere requirements.txt cp "$CURRENT_DIR/requirements.txt" "$APP_DIR/" 2>/dev/null || true - # Timeout-gesicherte pip-Optionen - local pip_opts="--break-system-packages --timeout 60 --retries 2 --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --no-cache-dir" + # Installiere alle Pakete aus requirements.txt + progress "Installiere requirements.txt..." - # Strategie 1: Direkte Installation mit Timeout - progress "Versuche direkte requirements.txt Installation (max 10 Minuten)..." - - if timeout 600 python3 -m pip install $pip_opts -r "$CURRENT_DIR/requirements.txt" >/dev/null 2>&1; then + if python3 -m pip install -r "$CURRENT_DIR/requirements.txt" --break-system-packages; then success "✅ requirements.txt erfolgreich installiert" - return 0 else - warning "⚠️ Direkte Installation fehlgeschlagen oder Timeout - verwende minimale Installation" - debug "requirements.txt Installation nach 600s abgebrochen" - - # Strategie 2: Nur essenzielle Pakete (timeout-gesichert) - progress "Installiere nur essenzielle Flask-Komponenten..." - - # Minimale Flask-Installation für Funktionalität - local essential_deps=( - "Flask" - "Werkzeug" - "Jinja2" - "requests" - ) - - local installed_count=0 - for dep in "${essential_deps[@]}"; do - progress "Installiere essenzielle Abhängigkeit: $dep" - if timeout 120 python3 -m pip install $pip_opts "$dep" >/dev/null 2>&1; then - success "✅ $dep erfolgreich installiert" - ((installed_count++)) - else - warning "⚠️ $dep Installation fehlgeschlagen oder Timeout" - debug "$dep Timeout oder Fehler bei Installation" - fi - done - - if [ $installed_count -eq 0 ]; then - warning "⚠️ Keine Python-Pakete konnten installiert werden" - warning "⚠️ Überspringe Python-Pakete Installation - verwende System-Pakete" - - # Strategie 3: Fallback auf System-Pakete (APT) - progress "Versuche System-Python-Pakete als Fallback..." - local system_packages=("python3-flask" "python3-requests") - local system_installed=0 - - for pkg in "${system_packages[@]}"; do - if timeout 60 apt-get install -y "$pkg" >/dev/null 2>&1; then - success "✅ System-Paket installiert: $pkg" - ((system_installed++)) - else - debug "System-Paket fehlgeschlagen: $pkg" - fi - done - - if [ $system_installed -gt 0 ]; then - success "✅ Fallback auf System-Pakete erfolgreich ($system_installed installiert)" - else - warning "⚠️ Auch System-Pakete Installation fehlgeschlagen" - info " → System läuft mit vorhandenen Python-Paketen" - info " → Manuell: pip3 install --break-system-packages Flask requests" - info " → Oder: apt install python3-flask python3-requests" - fi - else - success "✅ $installed_count von ${#essential_deps[@]} essenziellen Paketen installiert" - fi + error "❌ requirements.txt Installation fehlgeschlagen" + return 1 fi - # Schnelle Validierung nur der essenziellen Pakete (timeout-gesichert) + # Validiere essenzielle Module progress "Validiere essenzielle Python-Module..." local essential_modules=("flask" "requests") local validation_success=true for module in "${essential_modules[@]}"; do - if timeout 10 python3 -c "import $module; print(f'✅ $module verfügbar')" 2>/dev/null; then + if python3 -c "import $module; print(f'✅ $module verfügbar')" 2>/dev/null; then debug "$module erfolgreich importiert" else warning "⚠️ $module nicht verfügbar" @@ -1027,12 +970,16 @@ install_python_packages() { success "✅ Essenzielle Python-Module verfügbar" else warning "⚠️ Einige essenzielle Module fehlen" - info " → System funktioniert möglicherweise trotzdem" - info " → Fehlende Pakete: pip3 install --break-system-packages Flask requests" fi - log "✅ Timeout-gesicherte Python-Pakete Installation abgeschlossen" - debug "Python-Installation ohne hängende Prozesse beendet" + log "✅ Python-Pakete Installation abgeschlossen" + + # Zeige installierte Pakete + progress "Zeige installierte Python-Pakete..." + echo "" + echo "📦 Installierte Python-Pakete:" + python3 -m pip list 2>/dev/null | grep -E "(Flask|requests|Werkzeug|Jinja2)" | head -10 || echo " Keine relevanten Pakete gefunden" + echo "" } # =========================== ROBUSTE NODE.JS INSTALLATION =========================== @@ -2203,6 +2150,10 @@ enable_and_start_services() { test_application() { log "=== UMFASSENDE SYSTEM-TESTS ===" + echo "" + echo -e "${BLUE}🔍 Führe System-Tests durch...${NC}" + echo "" + local test_errors=0 local test_warnings=0 @@ -2396,18 +2347,30 @@ except Exception as e: fi # Zusammenfassung der Tests - log "📊 System-Test Zusammenfassung:" - log " ❌ Fehler: $test_errors" - log " ⚠️ Warnungen: $test_warnings" + echo "" + echo -e "${CYAN}=================================================================${NC}" + echo -e "${CYAN} SYSTEM-TEST ERGEBNISSE${NC}" + echo -e "${CYAN}=================================================================${NC}" + echo "" + echo -e "${BLUE}📊 Test-Zusammenfassung:${NC}" + echo -e " ❌ Fehler: $test_errors" + echo -e " ⚠️ Warnungen: $test_warnings" + echo "" if [ $test_errors -eq 0 ] && [ $test_warnings -eq 0 ]; then - success "✅ Alle System-Tests erfolgreich - System vollständig funktionsfähig" + echo -e "${GREEN}✅ Alle System-Tests erfolgreich!${NC}" + echo -e "${GREEN} → System vollständig funktionsfähig${NC}" + echo "" return 0 elif [ $test_errors -eq 0 ]; then - warning "⚠️ System-Tests mit $test_warnings Warnungen abgeschlossen - System grundsätzlich funktionsfähig" + echo -e "${YELLOW}⚠️ System-Tests mit $test_warnings Warnungen abgeschlossen${NC}" + echo -e "${YELLOW} → System grundsätzlich funktionsfähig${NC}" + echo "" return 0 else - error "❌ System-Tests mit $test_errors Fehlern fehlgeschlagen - System möglicherweise nicht funktionsfähig" + echo -e "${RED}❌ System-Tests mit $test_errors Fehlern fehlgeschlagen${NC}" + echo -e "${RED} → System möglicherweise nicht funktionsfähig${NC}" + echo "" return 1 fi } @@ -2519,6 +2482,31 @@ install_dependencies_only() { # Fehler-Zusammenfassung anzeigen show_error_summary + + # Finale Status-Anzeige + echo "" + echo -e "${GREEN}=================================================================${NC}" + echo -e "${GREEN} INSTALLATION ERFOLGREICH ABGESCHLOSSEN!${NC}" + echo -e "${GREEN}=================================================================${NC}" + echo "" + echo -e "${BLUE}📋 Was wurde installiert:${NC}" + echo -e " ✅ System-Updates und Tools" + echo -e " ✅ Python 3 und pip" + echo -e " ✅ Node.js und npm" + echo -e " ✅ SSL-Zertifikate" + echo -e " ✅ Anwendung deployed nach: $APP_DIR" + echo -e " ✅ Systemd-Services installiert" + echo "" + echo -e "${YELLOW}🚀 Nächste Schritte:${NC}" + echo -e " 1. Testen Sie die Anwendung:" + echo -e " ${CYAN}cd $APP_DIR && python3 app.py${NC}" + echo -e " 2. Oder prüfen Sie den Service:" + echo -e " ${CYAN}sudo systemctl status $HTTPS_SERVICE_NAME${NC}" + echo -e " 3. Zugriff über Browser:" + echo -e " ${CYAN}$HTTPS_URL${NC}" + echo "" + echo -e "${GREEN}✅ System bereit für manuelle Tests!${NC}" + echo -e "${GREEN}=================================================================${NC}" } install_full_production_system() { @@ -2621,6 +2609,29 @@ install_full_production_system() { # Fehler-Zusammenfassung anzeigen show_error_summary + + # Finale Status-Anzeige für Vollinstallation + echo "" + echo -e "${GREEN}=================================================================${NC}" + echo -e "${GREEN} VOLLSTÄNDIGE INSTALLATION ERFOLGREICH ABGESCHLOSSEN!${NC}" + echo -e "${GREEN}=================================================================${NC}" + echo "" + echo -e "${BLUE}📋 Was wurde installiert:${NC}" + echo -e " ✅ Komplettes Produktionssystem" + echo -e " ✅ Kiosk-Modus konfiguriert" + echo -e " ✅ Remote-Zugang (SSH & RDP)" + echo -e " ✅ Firewall konfiguriert" + echo -e " ✅ Automatischer Start beim Boot" + echo "" + echo -e "${YELLOW}🔐 Zugangsdaten:${NC}" + echo -e " SSH: user:raspberry (Port 22)" + echo -e " RDP: root:744563017196A (Port 3389)" + echo "" + echo -e "${RED}⚠️ WICHTIG: Neustart erforderlich!${NC}" + echo -e " ${CYAN}sudo reboot${NC}" + echo "" + echo -e "${GREEN}✅ Produktionssystem vollständig installiert!${NC}" + echo -e "${GREEN}=================================================================${NC}" } # =========================== RDP & SSH ZUGANG =========================== diff --git a/backend/utils/__pycache__/conflict_manager.cpython-311.pyc b/backend/utils/__pycache__/conflict_manager.cpython-311.pyc new file mode 100644 index 00000000..9f43a982 Binary files /dev/null and b/backend/utils/__pycache__/conflict_manager.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/error_recovery.cpython-311.pyc b/backend/utils/__pycache__/error_recovery.cpython-311.pyc new file mode 100644 index 00000000..17a4fe12 Binary files /dev/null and b/backend/utils/__pycache__/error_recovery.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/printer_monitor.cpython-311.pyc b/backend/utils/__pycache__/printer_monitor.cpython-311.pyc index bac81604..530db39f 100644 Binary files a/backend/utils/__pycache__/printer_monitor.cpython-311.pyc and b/backend/utils/__pycache__/printer_monitor.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/system_control.cpython-311.pyc b/backend/utils/__pycache__/system_control.cpython-311.pyc new file mode 100644 index 00000000..948a5bee Binary files /dev/null and b/backend/utils/__pycache__/system_control.cpython-311.pyc differ