📚 Improved documentation and log management in backend 🖥️🔍

This commit is contained in:
Till Tomczak 2025-06-03 20:45:45 +02:00
parent 89ac87b3e5
commit 0c4ee77648
39 changed files with 679 additions and 177 deletions

View File

@ -0,0 +1,8 @@
{
"permissions": {
"allow": [
"Bash(grep:*)"
],
"deny": []
}
}

Binary file not shown.

BIN
backend/database/myp.db-shm Normal file

Binary file not shown.

BIN
backend/database/myp.db-wal Normal file

Binary file not shown.

View File

@ -123,3 +123,5 @@
2025-06-03 15:19:24 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert 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: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: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

View File

@ -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 - [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 - 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: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

View File

@ -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 - [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: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 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

View File

@ -127,3 +127,6 @@
2025-06-03 15:19:24 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) 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: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: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)

View File

@ -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-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 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: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)

View File

@ -123,3 +123,6 @@
2025-06-03 15:19:24 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet 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: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: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

View File

@ -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 - 🧹 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 - 📝 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: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...

View File

@ -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: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: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: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)

View File

@ -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 - [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 - [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: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

View File

@ -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: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-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 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)

View File

@ -246,3 +246,7 @@
2025-06-03 15:21:44 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet 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: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

View File

@ -244,3 +244,7 @@
2025-06-03 15:21:44 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt 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: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

View File

@ -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 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: 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 - 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 - 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 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 [2025-06-03 19:21:52] DEBUG von setup.sh:615
DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup. 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 [2025-06-03 19:22:08] DEBUG von setup.sh:722
Externe IP ermittelt über ifconfig.me: 163.116.178.31 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
--- ---

View File

@ -1,4 +1,4 @@
================================================================= =================================================================
MYP Installation FEHLER Log - 2025-06-03 15:45:48 MYP Installation FEHLER Log - 2025-06-03 19:21:32
================================================================= =================================================================

View File

@ -1,4 +1,4 @@
================================================================= =================================================================
MYP Installation WARNUNGEN Log - 2025-06-03 15:45:48 MYP Installation WARNUNGEN Log - 2025-06-03 19:21:32
================================================================= =================================================================

View File

@ -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 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 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 19:21:32] === MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN ===
[2025-06-03 15:45:49] ✅ Root-Berechtigung bestätigt [2025-06-03 19:21:32] ✅ Root-Berechtigung bestätigt
[2025-06-03 15:45:49] === SYSTEM-RESSOURCEN PRÜFUNG === [2025-06-03 19:21:32] === SYSTEM-RESSOURCEN PRÜFUNG ===
[FORTSCHRITT] Prüfe RAM... [FORTSCHRITT] Prüfe RAM...
[FORTSCHRITT] Verfügbarer RAM: 24031MB [FORTSCHRITT] Verfügbarer RAM: 24031MB
[ERFOLG] ✅ Ausreichend RAM verfügbar (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] Prüfe CPU...
[FORTSCHRITT] CPU: 8 Kern(e) - 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz [FORTSCHRITT] CPU: 8 Kern(e) - 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz
[ERFOLG] ✅ CPU-Information erfolgreich ermittelt [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... [FORTSCHRITT] Prüfe Debian/Raspbian-System...
[DEBUG] Debian erkannt über /etc/debian_version: 12.11 [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... [FORTSCHRITT] Prüfe Raspberry Pi Hardware...
[INFO] 💻 Standard-PC/Server System (kein Raspberry Pi) [INFO] 💻 Standard-PC/Server System (kein Raspberry Pi)
[DEBUG] Kein Raspberry Pi erkannt. Hardware-Info: [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... [FORTSCHRITT] Prüfe Kernel-Version...
[INFO] 🐧 Kernel-Version: 6.1.0-37-amd64 [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 [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] Prüfe Internetverbindung (erweiterte Methoden)...
[FORTSCHRITT] Teste DNS-Auflösung... [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 [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... [FORTSCHRITT] Ermittle externe IP-Adresse...
[INFO] 🌐 Externe IP: 163.116.178.31 [DEBUG] Externe IP konnte nicht ermittelt werden
[DEBUG] Externe IP ermittelt über ifconfig.me: 163.116.178.31 [2025-06-03 19:22:08] === KONFIGURIERE HOSTNAME ===
[2025-06-03 15:45:50] === KONFIGURIERE HOSTNAME ===
[FORTSCHRITT] Setze Hostname von 'debian' auf 'raspberrypi'... [FORTSCHRITT] Setze Hostname von 'debian' auf 'raspberrypi'...
[2025-06-03 15:45:50] ✅ Hostname erfolgreich auf 'raspberrypi' gesetzt [2025-06-03 19:22:08] ✅ Hostname erfolgreich auf 'raspberrypi' gesetzt
[2025-06-03 15:45:50] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1 [2025-06-03 19:23:44] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1
[2025-06-03 15:45:50] === ROBUSTE SYSTEM-UPDATE === [2025-06-03 19:23:44] === ROBUSTE SYSTEM-UPDATE ===
[FORTSCHRITT] Konfiguriere APT für bessere Zuverlässigkeit... [FORTSCHRITT] Konfiguriere APT für bessere Zuverlässigkeit...
[FORTSCHRITT] Validiere APT-Repositories... [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] Aktualisiere Paketlisten mit Retry...
[FORTSCHRITT] Führe System-Upgrade durch... [FORTSCHRITT] Führe System-Upgrade durch...
[FORTSCHRITT] Installiere essenzielle System-Tools... [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: curl
[FORTSCHRITT] Installiere Pakete: wget [FORTSCHRITT] Installiere Pakete: wget
[FORTSCHRITT] Installiere Pakete: git [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...

View File

@ -122,3 +122,5 @@
2025-06-03 15:19:26 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 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: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: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

View File

@ -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 - [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: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: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

View File

@ -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 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 - ✅ 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 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

View File

@ -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 - 🛑 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 - 🔚 Monitor-Loop beendet
2025-06-03 15:21:54 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestoppt 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

View File

@ -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(<urllib3.connection.HTTPConnection object at 0x000001BAE96DE030>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) 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(<urllib3.connection.HTTPConnection object at 0x000001BAE96DE030>, '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 - [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: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(<urllib3.connection.HTTPConnection object at 0x7f0ed6500f50>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed6501590>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed657a5d0>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65d9990>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed6579210>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed6500e90>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65dbe90>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65e6910>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed654a710>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65d8c10>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed657a1d0>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65ecc10>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65017d0>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed6500a10>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65d8250>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed6549990>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed6ef2e90>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed6532a90>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65e5d10>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65ec050>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65efc50>, '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(<urllib3.connection.HTTPConnection object at 0x7f0ed65f21d0>, '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

View File

@ -122,3 +122,5 @@
2025-06-03 15:19:26 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 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: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: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

View File

@ -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: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: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: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

View File

@ -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-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 - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-03 15:22:53 - [startup] startup - [INFO] INFO - ================================================== 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 - ==================================================

View File

@ -5,3 +5,5 @@
2025-06-03 15:19:26 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert 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: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: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

View File

@ -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 - ✅ 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 - ✅ Globaler subprocess-Patch angewendet
2025-06-03 15:22:51 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich 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

View File

@ -4,131 +4,131 @@
# Produktions-optimierte Versionen mit Kompatibilitätsgarantie # Produktions-optimierte Versionen mit Kompatibilitätsgarantie
# ===== CORE FRAMEWORK ===== # ===== CORE FRAMEWORK =====
Flask==3.1.1 Flask
Werkzeug==3.1.3 Werkzeug
Jinja2==3.1.4 Jinja2
# ===== FLASK EXTENSIONS ===== # ===== FLASK EXTENSIONS =====
Flask-Login==0.6.3 Flask-Login
Flask-WTF==1.2.1 Flask-WTF
Flask-SocketIO==5.4.1 Flask-SocketIO
WTForms==3.1.2 WTForms
Flask-CORS==5.0.0 Flask-CORS
Flask-Compress==1.15 Flask-Compress
# ===== DATABASE ===== # ===== DATABASE =====
SQLAlchemy==2.0.36 SQLAlchemy
# ===== SECURITY ===== # ===== SECURITY =====
cryptography==44.0.0 cryptography
bcrypt==4.2.1 bcrypt
PyJWT==2.10.1 PyJWT
itsdangerous==2.2.0 itsdangerous
# ===== HTTP REQUESTS ===== # ===== HTTP REQUESTS =====
requests==2.32.3 requests
urllib3==2.2.3 urllib3
# ===== HARDWARE INTEGRATION ===== # ===== HARDWARE INTEGRATION =====
PyP100==0.0.8 PyP100
pyserial==3.5 pyserial
pyusb==1.2.1 pyusb
# ===== REAL-TIME FEATURES ===== # ===== REAL-TIME FEATURES =====
eventlet==0.37.0 eventlet
python-socketio==5.13.2 python-socketio
# ===== SCHEDULING ===== # ===== SCHEDULING =====
schedule==1.2.2 schedule
APScheduler==3.10.4 APScheduler
# ===== GIS & LOCATION ===== # ===== GIS & LOCATION =====
geocoder==1.38.1 geocoder
# ===== DATA PROCESSING & EXPORT ===== # ===== DATA PROCESSING & EXPORT =====
openpyxl==3.1.5 openpyxl
xlsxwriter==3.2.0 xlsxwriter
pandas==2.2.3 pandas
chardet==5.2.0 chardet
python-magic==0.4.27 python-magic
python-magic-bin==0.4.14; sys_platform == "win32" python-magic-bin; sys_platform == "win32"
# ===== EMAIL & VALIDATION ===== # ===== EMAIL & VALIDATION =====
email-validator==2.2.0 email-validator
# ===== IMAGE PROCESSING ===== # ===== IMAGE PROCESSING =====
Pillow==11.0.0 Pillow
qrcode[pil]==8.0 qrcode[pil]
# ===== PDF & REPORT GENERATION ===== # ===== PDF & REPORT GENERATION =====
reportlab==4.2.5 reportlab
weasyprint==63.1 weasyprint
# ===== DATE/TIME HANDLING ===== # ===== DATE/TIME HANDLING =====
python-dateutil==2.9.0 python-dateutil
pytz==2024.2 pytz
# ===== LOGGING & MONITORING ===== # ===== LOGGING & MONITORING =====
colorlog==6.9.0 colorlog
psutil==6.1.1 psutil
# ===== FILE SYSTEM OPERATIONS ===== # ===== FILE SYSTEM OPERATIONS =====
watchdog==6.0.0 watchdog
Send2Trash==1.8.3 Send2Trash
# ===== DATA VALIDATION ===== # ===== DATA VALIDATION =====
cerberus==1.3.5 cerberus
marshmallow==3.23.2 marshmallow
validators==0.34.0 validators
# ===== UTILITIES ===== # ===== UTILITIES =====
python-slugify==8.0.4 python-slugify
click==8.1.7 click
humanize==4.11.0 humanize
python-dotenv==1.0.1 python-dotenv
# ===== NETWORK & API ===== # ===== NETWORK & API =====
ping3==4.0.8 ping3
netifaces==0.11.0 netifaces
# ===== CACHING ===== # ===== CACHING =====
cachelib==0.13.0 cachelib
# ===== COMPRESSION ===== # ===== COMPRESSION =====
py7zr==0.22.0 py7zr
# ===== WINDOWS COMPATIBILITY ===== # ===== WINDOWS COMPATIBILITY =====
pywin32==308; sys_platform == "win32" pywin32; sys_platform == "win32"
wmi==1.5.1; sys_platform == "win32" wmi; sys_platform == "win32"
colorama==0.4.6; sys_platform == "win32" colorama; sys_platform == "win32"
# ===== LINUX COMPATIBILITY ===== # ===== LINUX COMPATIBILITY =====
RPi.GPIO==0.7.1; sys_platform == "linux" RPi.GPIO; sys_platform == "linux"
# ===== PRODUCTION DEPLOYMENT ===== # ===== PRODUCTION DEPLOYMENT =====
gunicorn==23.0.0; sys_platform != "win32" gunicorn; sys_platform != "win32"
waitress==3.0.2 waitress
# ===== TESTING & DEVELOPMENT ===== # ===== TESTING & DEVELOPMENT =====
pytest==8.3.4 pytest
pytest-flask==1.3.0 pytest-flask
pytest-cov==6.0.0 pytest-cov
coverage==7.6.9 coverage
# ===== CODE QUALITY ===== # ===== CODE QUALITY =====
flake8==7.1.1 flake8
black==24.10.0 black
isort==5.13.2 isort
# ===== DEPENDENCY COMPATIBILITY ===== # ===== DEPENDENCY COMPATIBILITY =====
MarkupSafe==3.0.2 MarkupSafe
setuptools==75.6.0 setuptools
wheel==0.45.1 wheel
pip==24.3.1 pip
# ===== OPTIONAL PERFORMANCE ENHANCEMENTS ===== # ===== OPTIONAL PERFORMANCE ENHANCEMENTS =====
# Auskommentiert für Stabilität - bei Bedarf aktivieren: # Auskommentiert für Stabilität - bei Bedarf aktivieren:
# uwsgi==2.0.26; sys_platform != "win32" # uwsgi; sys_platform != "win32"
# gevent==24.11.1 gevent
# redis==5.2.1 redis
# celery==5.4.0 celery

View File

@ -930,9 +930,9 @@ EOF
} }
install_python_packages() { 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 if [ ! -f "$CURRENT_DIR/requirements.txt" ]; then
error "requirements.txt nicht gefunden: $CURRENT_DIR/requirements.txt" error "requirements.txt nicht gefunden: $CURRENT_DIR/requirements.txt"
@ -941,81 +941,24 @@ install_python_packages() {
# Kopiere requirements.txt # Kopiere requirements.txt
cp "$CURRENT_DIR/requirements.txt" "$APP_DIR/" 2>/dev/null || true cp "$CURRENT_DIR/requirements.txt" "$APP_DIR/" 2>/dev/null || true
# Timeout-gesicherte pip-Optionen # Installiere alle Pakete aus requirements.txt
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" progress "Installiere requirements.txt..."
# Strategie 1: Direkte Installation mit Timeout if python3 -m pip install -r "$CURRENT_DIR/requirements.txt" --break-system-packages; then
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
success "✅ requirements.txt erfolgreich installiert" success "✅ requirements.txt erfolgreich installiert"
return 0
else else
warning "⚠️ Direkte Installation fehlgeschlagen oder Timeout - verwende minimale Installation" error "❌ requirements.txt Installation fehlgeschlagen"
debug "requirements.txt Installation nach 600s abgebrochen" return 1
# 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
fi fi
# Schnelle Validierung nur der essenziellen Pakete (timeout-gesichert) # Validiere essenzielle Module
progress "Validiere essenzielle Python-Module..." progress "Validiere essenzielle Python-Module..."
local essential_modules=("flask" "requests") local essential_modules=("flask" "requests")
local validation_success=true local validation_success=true
for module in "${essential_modules[@]}"; do 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" debug "$module erfolgreich importiert"
else else
warning "⚠️ $module nicht verfügbar" warning "⚠️ $module nicht verfügbar"
@ -1027,12 +970,16 @@ install_python_packages() {
success "✅ Essenzielle Python-Module verfügbar" success "✅ Essenzielle Python-Module verfügbar"
else else
warning "⚠️ Einige essenzielle Module fehlen" warning "⚠️ Einige essenzielle Module fehlen"
info " → System funktioniert möglicherweise trotzdem"
info " → Fehlende Pakete: pip3 install --break-system-packages Flask requests"
fi fi
log "✅ Timeout-gesicherte Python-Pakete Installation abgeschlossen" log "✅ Python-Pakete Installation abgeschlossen"
debug "Python-Installation ohne hängende Prozesse beendet"
# 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 =========================== # =========================== ROBUSTE NODE.JS INSTALLATION ===========================
@ -2203,6 +2150,10 @@ enable_and_start_services() {
test_application() { test_application() {
log "=== UMFASSENDE SYSTEM-TESTS ===" log "=== UMFASSENDE SYSTEM-TESTS ==="
echo ""
echo -e "${BLUE}🔍 Führe System-Tests durch...${NC}"
echo ""
local test_errors=0 local test_errors=0
local test_warnings=0 local test_warnings=0
@ -2396,18 +2347,30 @@ except Exception as e:
fi fi
# Zusammenfassung der Tests # Zusammenfassung der Tests
log "📊 System-Test Zusammenfassung:" echo ""
log " ❌ Fehler: $test_errors" echo -e "${CYAN}=================================================================${NC}"
log " ⚠️ Warnungen: $test_warnings" 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 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 return 0
elif [ $test_errors -eq 0 ]; then 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 return 0
else 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 return 1
fi fi
} }
@ -2519,6 +2482,31 @@ install_dependencies_only() {
# Fehler-Zusammenfassung anzeigen # Fehler-Zusammenfassung anzeigen
show_error_summary 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() { install_full_production_system() {
@ -2621,6 +2609,29 @@ install_full_production_system() {
# Fehler-Zusammenfassung anzeigen # Fehler-Zusammenfassung anzeigen
show_error_summary 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 =========================== # =========================== RDP & SSH ZUGANG ===========================