diff --git a/backend/__pycache__/app.cpython-313.pyc b/backend/__pycache__/app.cpython-313.pyc index 99402d19..50943b7a 100644 Binary files a/backend/__pycache__/app.cpython-313.pyc and b/backend/__pycache__/app.cpython-313.pyc differ diff --git a/backend/database/myp.db b/backend/database/myp.db index 82bc5380..2dbb8155 100644 Binary files a/backend/database/myp.db and b/backend/database/myp.db differ diff --git a/backend/logs/analytics/analytics.log b/backend/logs/analytics/analytics.log index d90185fe..8159a732 100644 --- a/backend/logs/analytics/analytics.log +++ b/backend/logs/analytics/analytics.log @@ -129,3 +129,8 @@ 2025-06-03 22:15:15 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert 2025-06-03 22:15:51 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert 2025-06-03 23:03:59 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-03 23:04:27 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-03 23:05:08 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-03 23:06:43 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-03 23:07:16 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert +2025-06-03 23:09:46 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index ff1c0486..99dc5750 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -3367,3 +3367,130 @@ WHERE jobs.status = ?) AS anon_1] 2025-06-03 23:04:01 - [app] app - [INFO] INFO - Job-Scheduler gestartet 2025-06-03 23:04:01 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP) 2025-06-03 23:04:01 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert +2025-06-03 23:04:27 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-03 23:04:28 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-03 23:04:28 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration verwendet +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ✅ Error-Recovery-Monitoring gestartet +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ✅ System-Control-Manager initialisiert +2025-06-03 23:04:28 - [app] app - [WARNING] WARNING - ⚠️ Kiosk-Service nicht gefunden - Kiosk-Funktionen eventuell eingeschränkt +2025-06-03 23:04:28 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-03 23:04:28 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-03 23:04:28 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-03 23:04:28 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration aktiv (keine Optimierungen) +2025-06-03 23:04:28 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-03 23:04:28 - [app] app - [INFO] INFO - ✅ Printer Queue Manager erfolgreich gestartet +2025-06-03 23:04:28 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-03 23:04:28 - [app] app - [INFO] INFO - Starte HTTP-Server auf 0.0.0.0:80 +2025-06-03 23:04:33 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 23:05:08 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-03 23:05:09 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 23:05:09 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-03 23:05:09 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration verwendet +2025-06-03 23:05:09 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-03 23:05:09 - [app] app - [INFO] INFO - ✅ Error-Recovery-Monitoring gestartet +2025-06-03 23:05:09 - [app] app - [INFO] INFO - ✅ System-Control-Manager initialisiert +2025-06-03 23:05:09 - [app] app - [WARNING] WARNING - ⚠️ Kiosk-Service nicht gefunden - Kiosk-Funktionen eventuell eingeschränkt +2025-06-03 23:05:09 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-03 23:05:09 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-03 23:05:09 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-03 23:05:09 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-03 23:05:09 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-03 23:05:09 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration aktiv (keine Optimierungen) +2025-06-03 23:05:09 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-03 23:05:09 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-03 23:05:09 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung +2025-06-03 23:05:09 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-03 23:05:09 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP) +2025-06-03 23:05:09 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert +2025-06-03 23:06:42 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-03 23:06:44 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 23:06:44 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-03 23:06:44 - [app] app - [INFO] INFO - 🚀 Aktiviere optimierte Konfiguration für schwache Hardware/Raspberry Pi +2025-06-03 23:06:44 - [app] app - [INFO] INFO - ✅ Optimierte Konfiguration aktiviert +2025-06-03 23:06:49 - [app] app - [ERROR] ERROR - Exception on / [GET] +Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 2190, in wsgi_app + response = self.full_dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1486, in full_dispatch_request + rv = self.handle_user_exception(e) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 2361, in index + return render_template("index.html") + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\index.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 103, in top-level template code + Abmelden + + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for + return self.handle_url_build_error(error, endpoint, values) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for + rv = url_adapter.build( # type: ignore[union-attr] + endpoint, + ...<3 lines>... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'auth.logout'. Did you mean 'auth_logout' instead? +2025-06-03 23:06:54 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 23:07:15 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-03 23:07:16 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 23:07:16 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-03 23:07:16 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration verwendet +2025-06-03 23:07:17 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-03 23:07:17 - [app] app - [INFO] INFO - ✅ Error-Recovery-Monitoring gestartet +2025-06-03 23:07:17 - [app] app - [INFO] INFO - ✅ System-Control-Manager initialisiert +2025-06-03 23:07:17 - [app] app - [WARNING] WARNING - ⚠️ Kiosk-Service nicht gefunden - Kiosk-Funktionen eventuell eingeschränkt +2025-06-03 23:07:17 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-03 23:07:17 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-03 23:07:17 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-03 23:07:17 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-03 23:07:17 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-03 23:07:17 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration aktiv (keine Optimierungen) +2025-06-03 23:07:17 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-03 23:07:17 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-03 23:07:17 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung +2025-06-03 23:07:17 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-03 23:07:17 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP) +2025-06-03 23:07:17 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert +2025-06-03 23:09:45 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-03 23:09:46 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-03 23:09:46 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen +2025-06-03 23:09:46 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration verwendet +2025-06-03 23:09:46 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert +2025-06-03 23:09:46 - [app] app - [INFO] INFO - ✅ Error-Recovery-Monitoring gestartet +2025-06-03 23:09:46 - [app] app - [INFO] INFO - ✅ System-Control-Manager initialisiert +2025-06-03 23:09:46 - [app] app - [WARNING] WARNING - ⚠️ Kiosk-Service nicht gefunden - Kiosk-Funktionen eventuell eingeschränkt +2025-06-03 23:09:46 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-03 23:09:47 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-03 23:09:47 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-03 23:09:47 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-03 23:09:47 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-03 23:09:47 - [app] app - [INFO] INFO - 📋 Standard-Konfiguration aktiv (keine Optimierungen) +2025-06-03 23:09:47 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-03 23:09:47 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-03 23:09:47 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung +2025-06-03 23:09:47 - [app] app - [INFO] INFO - Job-Scheduler gestartet +2025-06-03 23:09:47 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP) +2025-06-03 23:09:47 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert +2025-06-03 23:10:19 - [app] app - [INFO] INFO - Admin-Check für Funktion admin_page: User authenticated: True, User ID: 1, Is Admin: True +2025-06-03 23:10:25 - [app] app - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich abgemeldet diff --git a/backend/logs/auth/auth.log b/backend/logs/auth/auth.log index 70533f1e..ababb116 100644 --- a/backend/logs/auth/auth.log +++ b/backend/logs/auth/auth.log @@ -938,3 +938,27 @@ 2025-06-03 22:15:28 - [auth] auth - [INFO] INFO - 🕒 Automatische Abmeldung: Benutzer admin@mercedes-benz.com war 85.0 Minuten inaktiv (Limit: 60min) 2025-06-03 22:15:28 - [auth] auth - [INFO] INFO - 🔐 Neue Session erstellt für Benutzer admin@mercedes-benz.com von IP 10.0.2.2 2025-06-03 23:04:06 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:05:15 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:06:49 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:06:49 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:07:23 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:41 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:41 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:41 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:45 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:45 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:45 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:51 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:51 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:51 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:54 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:54 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:08:54 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:09:52 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:10:05 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:10:05 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:10:05 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:10:12 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:10:12 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:10:12 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 +2025-06-03 23:10:19 - [auth] auth - [WARNING] WARNING - ⚠️ IP-Adresse geändert für Benutzer admin@mercedes-benz.com: 10.0.2.2 → 127.0.0.1 diff --git a/backend/logs/backup/backup.log b/backend/logs/backup/backup.log index a5203c24..aff64826 100644 --- a/backend/logs/backup/backup.log +++ b/backend/logs/backup/backup.log @@ -134,3 +134,8 @@ 2025-06-03 22:15:15 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) 2025-06-03 22:15:51 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) 2025-06-03 23:03:59 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 23:04:27 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 23:05:08 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 23:06:43 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 23:07:15 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) +2025-06-03 23:09:45 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation) diff --git a/backend/logs/dashboard/dashboard.log b/backend/logs/dashboard/dashboard.log index fc777a73..9afb09c9 100644 --- a/backend/logs/dashboard/dashboard.log +++ b/backend/logs/dashboard/dashboard.log @@ -518,3 +518,23 @@ 2025-06-03 23:04:00 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet 2025-06-03 23:04:00 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) 2025-06-03 23:04:00 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-03 23:04:28 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:04:28 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:04:28 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-03 23:04:28 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-03 23:05:09 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:05:09 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:05:09 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-03 23:05:09 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-03 23:06:43 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:06:44 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:06:44 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-03 23:06:44 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-03 23:07:16 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:07:16 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:07:16 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-03 23:07:16 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-03 23:09:46 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:09:46 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet +2025-06-03 23:09:46 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-03 23:09:46 - [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 4f016171..bddbf658 100644 --- a/backend/logs/database/database.log +++ b/backend/logs/database/database.log @@ -130,3 +130,8 @@ 2025-06-03 22:15:15 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet 2025-06-03 22:15:51 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet 2025-06-03 23:03:59 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 23:04:27 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 23:05:08 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 23:06:43 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 23:07:15 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-03 23:09:45 - [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 ed8660df..87b54893 100644 --- a/backend/logs/database_cleanup/database_cleanup.log +++ b/backend/logs/database_cleanup/database_cleanup.log @@ -52,3 +52,15 @@ 2025-06-03 23:04:01 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... 2025-06-03 23:04:01 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... 2025-06-03 23:04:01 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen... +2025-06-03 23:04:28 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... +2025-06-03 23:04:28 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... +2025-06-03 23:04:28 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen... +2025-06-03 23:05:09 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... +2025-06-03 23:05:09 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... +2025-06-03 23:05:09 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen... +2025-06-03 23:07:17 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... +2025-06-03 23:07:17 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... +2025-06-03 23:07:17 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen... +2025-06-03 23:09:47 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup... +2025-06-03 23:09:47 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen... +2025-06-03 23:09:47 - [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 8a6893fb..f748ec9b 100644 --- a/backend/logs/email_notification/email_notification.log +++ b/backend/logs/email_notification/email_notification.log @@ -126,3 +126,8 @@ 2025-06-03 22:15:16 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) 2025-06-03 22:15:51 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) 2025-06-03 23:04:00 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-03 23:04:28 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-03 23:05:09 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-03 23:06:44 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-03 23:07:16 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-03 23:09:46 - [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 b1e60da7..059ccc84 100644 --- a/backend/logs/error_recovery/error_recovery.log +++ b/backend/logs/error_recovery/error_recovery.log @@ -50,3 +50,19 @@ 2025-06-03 23:04:01 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet 2025-06-03 23:04:01 - [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 23:04:01 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database +2025-06-03 23:04:28 - [error_recovery] error_recovery - [INFO] INFO - 🛡️ Error-Recovery-Manager initialisiert +2025-06-03 23:04:28 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet +2025-06-03 23:04:28 - [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 23:04:28 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database +2025-06-03 23:05:09 - [error_recovery] error_recovery - [INFO] INFO - 🛡️ Error-Recovery-Manager initialisiert +2025-06-03 23:05:09 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet +2025-06-03 23:05:09 - [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 23:05:09 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database +2025-06-03 23:07:17 - [error_recovery] error_recovery - [INFO] INFO - 🛡️ Error-Recovery-Manager initialisiert +2025-06-03 23:07:17 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet +2025-06-03 23:07:17 - [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 23:07:17 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database +2025-06-03 23:09:46 - [error_recovery] error_recovery - [INFO] INFO - 🛡️ Error-Recovery-Manager initialisiert +2025-06-03 23:09:46 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet +2025-06-03 23:09:47 - [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 23:09:47 - [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 19ae2b97..8eea1c93 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -149,3 +149,5 @@ FROM jobs LEFT OUTER JOIN users AS users_1 ON users_1.id = jobs.user_id LEFT OUT 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) 2025-06-03 22:16:06 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 16 von 16 (Seite 1) +2025-06-03 23:08:51 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 16 von 16 (Seite 1) +2025-06-03 23:10:12 - [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 f76ec6c4..ec2a1630 100644 --- a/backend/logs/maintenance/maintenance.log +++ b/backend/logs/maintenance/maintenance.log @@ -258,3 +258,13 @@ 2025-06-03 22:15:51 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet 2025-06-03 23:04:00 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet 2025-06-03 23:04:00 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:04:28 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:04:28 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:05:09 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:05:09 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:06:44 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:06:44 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:07:16 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:07:16 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:09:46 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet +2025-06-03 23:09:46 - [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 8eddf229..b0d587f9 100644 --- a/backend/logs/multi_location/multi_location.log +++ b/backend/logs/multi_location/multi_location.log @@ -256,3 +256,13 @@ 2025-06-03 22:15:51 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt 2025-06-03 23:04:00 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt 2025-06-03 23:04:00 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:04:28 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:04:28 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:05:09 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:05:09 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:06:44 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:06:44 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:07:16 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:07:16 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:09:46 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt +2025-06-03 23:09:46 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index 26975aea..b360dfe4 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -128,3 +128,8 @@ 2025-06-03 22:15:16 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-03 22:15:51 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-03 23:04:00 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-03 23:04:28 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-03 23:05:09 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-03 23:06:44 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-03 23:07:16 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-03 23:09:46 - [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 b64295ce..94b9fa39 100644 --- a/backend/logs/printer_monitor/printer_monitor.log +++ b/backend/logs/printer_monitor/printer_monitor.log @@ -3459,3 +3459,57 @@ 2025-06-03 23:04:07 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 2025-06-03 23:04:13 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 2025-06-03 23:04:19 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-03 23:04:27 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 23:04:27 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 23:04:28 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-03 23:04:28 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-03 23:04:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-03 23:04:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-03 23:04:29 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-03 23:04:35 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-03 23:04:41 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-03 23:04:47 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-03 23:04:53 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-03 23:05:08 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 23:05:08 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 23:05:09 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-03 23:05:09 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-03 23:05:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-03 23:05:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-03 23:05:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-03 23:05:16 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-03 23:05:22 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-03 23:05:28 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-03 23:05:34 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-03 23:06:43 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 23:06:43 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 23:06:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-03 23:06:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-03 23:06:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-03 23:06:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-03 23:07:15 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 23:07:15 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 23:07:17 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-03 23:07:17 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-03 23:07:17 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-03 23:07:17 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-03 23:07:17 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-03 23:07:23 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-03 23:07:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-03 23:07:36 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-03 23:07:42 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-03 23:07:48 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-03 23:07:54 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.2s +2025-06-03 23:09:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-03 23:09:45 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-03 23:09:47 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-03 23:09:47 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-03 23:09:47 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-03 23:09:47 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-03 23:09:47 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-03 23:09:53 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-03 23:10:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-03 23:10:06 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-03 23:10:12 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-03 23:10:18 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-03 23:10:24 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.2s diff --git a/backend/logs/printers/printers.log b/backend/logs/printers/printers.log index 4939758c..f7a623d4 100644 --- a/backend/logs/printers/printers.log +++ b/backend/logs/printers/printers.log @@ -6857,3 +6857,9 @@ 2025-06-03 22:16:14 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) 2025-06-03 22:16:14 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker 2025-06-03 22:16:14 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 104.60ms +2025-06-03 23:08:45 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 23:08:45 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 23:08:51 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 23:10:05 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 23:10:05 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) +2025-06-03 23:10:12 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check) diff --git a/backend/logs/queue_manager/queue_manager.log b/backend/logs/queue_manager/queue_manager.log index 8dfb255b..04ec5567 100644 --- a/backend/logs/queue_manager/queue_manager.log +++ b/backend/logs/queue_manager/queue_manager.log @@ -171,3 +171,14 @@ 2025-06-03 22:16:20 - [queue_manager] queue_manager - [INFO] INFO - 🛑 Shutdown-Signal empfangen - beende Monitor-Loop 2025-06-03 22:16:20 - [queue_manager] queue_manager - [INFO] INFO - 🔚 Monitor-Loop beendet 2025-06-03 22:16:20 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestoppt +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Initialisiere neuen Queue-Manager... +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Zentrale Shutdown-Verwaltung erkannt - deaktiviere lokale Signal-Handler +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Starte Printer Queue Manager... +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Queue-Überwachung gestartet (Intervall: 120 Sekunden) +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - ✅ Printer Queue Manager gestartet +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestartet +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - 🔍 Überprüfe 8 wartende Jobs... +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Stoppe Queue-Manager... +2025-06-03 23:04:28 - [queue_manager] queue_manager - [INFO] INFO - ⏳ Warte auf Monitor-Thread... +2025-06-03 23:04:32 - [queue_manager] queue_manager - [INFO] INFO - 🛑 Shutdown-Signal empfangen - beende Monitor-Loop +2025-06-03 23:04:32 - [queue_manager] queue_manager - [INFO] INFO - 🔚 Monitor-Loop beendet diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index 4b028fd1..8d44ffbb 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -32295,3 +32295,415 @@ 2025-06-03 23:04:20 - [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 23:04:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten 2025-06-03 23:04:20 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:04:27 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-03 23:04:28 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-03 23:04:28 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-03 23:04:28 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:04: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 23:04:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:04:31 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:04: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 23:04:33 - [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 23:04:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:04:33 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:04: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 23:04:35 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:04:35 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:04:37 - [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 23:04:37 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:04:37 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:04:39 - [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 23:04:39 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:04:39 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:04: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 23:04:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:04:41 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:04: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 23:04:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:04:43 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:04:46 - [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 23:04:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:04:46 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:04:48 - [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 23:04:48 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:04:48 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:04:50 - [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 23:04:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:04:50 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:04: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 23:04:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:04:52 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:04: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 23:04:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:04:54 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:05:08 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-03 23:05:09 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-03 23:05:09 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-03 23:05:09 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:05:11 - [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 23:05:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:05:11 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:05:13 - [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 23:05:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:05:13 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:05: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 23:05:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:05:15 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:05: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 23:05:18 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:05:18 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:05: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 23:05:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:05:20 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:05: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 23:05:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:05:22 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:05:24 - [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 23:05:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:05:24 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:05:26 - [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 23:05:26 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:05:26 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:05:28 - [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 23:05:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:05:28 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:05:30 - [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 23:05:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:05:30 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:05:32 - [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 23:05:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:05:32 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:05:34 - [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 23:05:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:05:34 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:06:43 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-03 23:07:15 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-03 23:07:17 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-03 23:07:17 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-03 23:07:17 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:07:19 - [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 23:07:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:07:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:07:21 - [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 23:07:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:07:21 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:07:23 - [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 23:07:23 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:07:23 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:07: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 23:07:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:07:25 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:07:28 - [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 23:07:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:07:28 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:07:30 - [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 23:07:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:07:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:07:32 - [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 23:07:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:07:32 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:07:34 - [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 23:07:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:07:34 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:07:36 - [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 23:07:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:07:36 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:07:38 - [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 23:07:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:07:38 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:07:40 - [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 23:07:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:07:40 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:07:42 - [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 23:07:42 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:07:42 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:07:44 - [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 23:07:44 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten +2025-06-03 23:07:44 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2 +2025-06-03 23:07:47 - [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 23:07:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten +2025-06-03 23:07:47 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test +2025-06-03 23:07:49 - [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 23:07:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten +2025-06-03 23:07:49 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test +2025-06-03 23:07:51 - [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 23:07:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten +2025-06-03 23:07:52 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:07:54 - [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 23:07:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:07:54 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:07: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 23:07:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:07:56 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:07:58 - [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 23:07:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:07:58 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:08:00 - [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 23:08:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:08:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:08: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 23:08:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:08:02 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:08:04 - [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 23:08:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:08:04 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:08:06 - [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 23:08:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:08:06 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:08: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 23:08:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:08:09 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:08:11 - [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 23:08:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:08:11 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:08:13 - [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 23:08:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:08:13 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:08:15 - [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 23:08:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:08:15 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:08:17 - [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 23:08:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:08:17 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:08:19 - [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 23:08:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten +2025-06-03 23:08:19 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2 +2025-06-03 23:08:21 - [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 23:08:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten +2025-06-03 23:08:21 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test +2025-06-03 23:08:23 - [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 23:08:23 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten +2025-06-03 23:08:23 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test +2025-06-03 23:08: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 23:08:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten +2025-06-03 23:08:26 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:08:29 - [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 23:08:29 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:08:29 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:08: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 23:08:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:08:31 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:08: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 23:08:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:08:33 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:08: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 23:08:35 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:08:35 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:08:37 - [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 23:08:37 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:08:37 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:08:39 - [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 23:08:39 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:08:39 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:08: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 23:08:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:08:41 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:08: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 23:08:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:08:43 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:08: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 23:08:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:08:45 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:08:47 - [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 23:08:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:08:47 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:08: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 23:08:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:08:49 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:08:51 - [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 23:08:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:08:51 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:08:54 - [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 23:08:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten +2025-06-03 23:08:54 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2 +2025-06-03 23:08: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 23:08:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten +2025-06-03 23:08:56 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test +2025-06-03 23:08:58 - [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 23:08:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten +2025-06-03 23:08:58 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test +2025-06-03 23:09:00 - [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 23:09:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten +2025-06-03 23:09:01 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:09:03 - [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 23:09:03 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:09:03 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:09: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 23:09:05 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:09:05 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:09:07 - [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 23:09:07 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:09:07 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:09: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 23:09:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:09:09 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:09:11 - [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 23:09:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:09:11 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:09:13 - [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 23:09:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:09:13 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:09:45 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-03 23:09:47 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-03 23:09:47 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-03 23:09:47 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:09:49 - [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 23:09:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:09:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:09:51 - [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 23:09:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:09:51 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:09:53 - [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 23:09:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:09:53 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:09:55 - [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 23:09:55 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:09:55 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:09:57 - [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 23:09:57 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:09:57 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:09: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 23:09:59 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:09:59 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:10:01 - [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 23:10:01 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:10:01 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:10:04 - [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 23:10:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:10:04 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:10:06 - [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 23:10:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:10:06 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:10:08 - [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 23:10:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:10:08 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:10:10 - [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 23:10:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:10:10 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:10:12 - [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 23:10:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:10:12 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:10:14 - [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 23:10:14 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten +2025-06-03 23:10:14 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2 +2025-06-03 23:10:16 - [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 23:10:16 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten +2025-06-03 23:10:16 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test +2025-06-03 23:10: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 23:10:18 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten +2025-06-03 23:10:18 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test +2025-06-03 23:10: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 23:10:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten +2025-06-03 23:10:21 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:10:23 - [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 23:10:23 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:10:23 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:10:26 - [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 23:10:26 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:10:26 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:10:28 - [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 23:10:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:10:28 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:10:30 - [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 23:10:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:10:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:10:32 - [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 23:10:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:10:32 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:10:34 - [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 23:10:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:10:34 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:10:36 - [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 23:10:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:10:36 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:10: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 23:10:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:10:38 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:10:40 - [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 23:10:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:10:40 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:10:42 - [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 23:10:42 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:10:42 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:10: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 23:10:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:10:45 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:10:47 - [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 23:10:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:10:47 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:10:49 - [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 23:10:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten +2025-06-03 23:10:49 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2 +2025-06-03 23:10:51 - [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 23:10:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten +2025-06-03 23:10:51 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test +2025-06-03 23:10:53 - [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 23:10:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten +2025-06-03 23:10:53 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test +2025-06-03 23:10:55 - [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 23:10:55 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten +2025-06-03 23:10:56 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:10:58 - [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 23:10:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:10:58 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:11:00 - [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 23:11:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:11:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:11: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 23:11:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:11:02 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:11: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 23:11:05 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:11:05 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:11:07 - [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 23:11:07 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:11:07 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test +2025-06-03 23:11: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 23:11:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten +2025-06-03 23:11:09 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test +2025-06-03 23:11:11 - [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 23:11:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten +2025-06-03 23:11:11 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test +2025-06-03 23:11:13 - [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 23:11:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten +2025-06-03 23:11:13 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi +2025-06-03 23:11:15 - [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 23:11:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten +2025-06-03 23:11:15 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi +2025-06-03 23:11:17 - [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 23:11:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten +2025-06-03 23:11:17 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee +2025-06-03 23:11:19 - [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 23:11:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten +2025-06-03 23:11:19 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee +2025-06-03 23:11:21 - [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 23:11:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten +2025-06-03 23:11:21 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2 +2025-06-03 23:11:24 - [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 23:11:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten +2025-06-03 23:11:24 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2 +2025-06-03 23:11:26 - [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 23:11:26 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten +2025-06-03 23:11:26 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test +2025-06-03 23:11:28 - [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 23:11:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten +2025-06-03 23:11:28 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test +2025-06-03 23:11:30 - [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 23:11:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten +2025-06-03 23:11:31 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test +2025-06-03 23:11: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 23:11:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten +2025-06-03 23:11:33 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test +2025-06-03 23:11: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 23:11:35 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten +2025-06-03 23:11:35 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test +2025-06-03 23:11: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 23:11:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-03 23:11:38 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test +2025-06-03 23:11:40 - [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 23:11:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-03 23:11:40 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test +2025-06-03 23:11:42 - [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 23:11:42 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten +2025-06-03 23:11:42 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test diff --git a/backend/logs/security/security.log b/backend/logs/security/security.log index 86ffd96c..331d290e 100644 --- a/backend/logs/security/security.log +++ b/backend/logs/security/security.log @@ -128,3 +128,8 @@ 2025-06-03 22:15:16 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-03 22:15:51 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-03 23:04:00 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-03 23:04:28 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-03 23:05:09 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-03 23:06:44 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-03 23:07:16 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-03 23:09:46 - [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 0ac4acbe..255c73f4 100644 --- a/backend/logs/shutdown_manager/shutdown_manager.log +++ b/backend/logs/shutdown_manager/shutdown_manager.log @@ -222,3 +222,10 @@ 2025-06-03 22:15:16 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert 2025-06-03 22:15:51 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert 2025-06-03 23:04:00 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-03 23:04:28 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-03 23:04:28 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔄 Starte koordiniertes System-Shutdown... +2025-06-03 23:04:28 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🧹 Führe 6 Cleanup-Funktionen aus... +2025-06-03 23:05:09 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-03 23:06:44 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-03 23:07:16 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert +2025-06-03 23:09:46 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 1cf65217..58959a80 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -1152,3 +1152,48 @@ 2025-06-03 23:04:00 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert 2025-06-03 23:04:00 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert 2025-06-03 23:04:00 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:04:28 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:04:28 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-03 23:04:28 - [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 23:04:28 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-03 23:04:28 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-03 23:04:28 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T23:04:28.384828 +2025-06-03 23:04:28 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-03 23:04:28 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-03 23:04:28 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:05:09 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:05:09 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-03 23:05:09 - [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 23:05:09 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-03 23:05:09 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-03 23:05:09 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T23:05:09.271771 +2025-06-03 23:05:09 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-03 23:05:09 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-03 23:05:09 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:06:44 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:06:44 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-03 23:06:44 - [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 23:06:44 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-03 23:06:44 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-03 23:06:44 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T23:06:44.104537 +2025-06-03 23:06:44 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-03 23:06:44 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-03 23:06:44 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T23:07:16.835850 +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-03 23:07:16 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:09:46 - [startup] startup - [INFO] INFO - ================================================== +2025-06-03 23:09:46 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet... +2025-06-03 23:09:46 - [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 23:09:46 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-03 23:09:46 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-03 23:09:46 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T23:09:46.756074 +2025-06-03 23:09:46 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-03 23:09:46 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-03 23:09:46 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/system_control/system_control.log b/backend/logs/system_control/system_control.log index 42eeb8d1..30af64f6 100644 --- a/backend/logs/system_control/system_control.log +++ b/backend/logs/system_control/system_control.log @@ -11,3 +11,7 @@ 2025-06-03 22:15:16 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert 2025-06-03 22:15:51 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert 2025-06-03 23:04:01 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert +2025-06-03 23:04:28 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert +2025-06-03 23:05:09 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert +2025-06-03 23:07:17 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert +2025-06-03 23:09:46 - [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 dce8517f..83a7f577 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -531,3 +531,23 @@ 2025-06-03 23:03:58 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) 2025-06-03 23:03:58 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet 2025-06-03 23:03:58 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-03 23:04:27 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-03 23:04:27 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-03 23:04:27 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-03 23:04:27 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-03 23:05:08 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-03 23:05:08 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-03 23:05:08 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-03 23:05:08 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-03 23:06:42 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-03 23:06:42 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-03 23:06:42 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-03 23:06:42 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-03 23:07:15 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-03 23:07:15 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-03 23:07:15 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-03 23:07:15 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-03 23:09:45 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-03 23:09:45 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-03 23:09:45 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-03 23:09:45 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet diff --git a/backend/start_kiosk_fixed.py b/backend/start_kiosk_fixed.py new file mode 100644 index 00000000..a0749541 --- /dev/null +++ b/backend/start_kiosk_fixed.py @@ -0,0 +1,179 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +KIOSK-STARTUP SCRIPT (WINDOWS-OPTIMIERT) +========================================= + +Startet die Flask-App mit Waitress für stabilen Kiosk-Betrieb. +Behebt "unreachable" und Performance-Probleme. +""" + +import os +import sys +import time +import signal +import socket +import subprocess +import threading +from pathlib import Path + +# Umgebungsvariablen für optimierte Konfiguration setzen +os.environ["FORCE_OPTIMIZED_MODE"] = "true" +os.environ["USE_OPTIMIZED_CONFIG"] = "true" +os.environ["FLASK_ENV"] = "production" +os.environ["PYTHONUNBUFFERED"] = "1" + +def kill_hanging_processes(): + """Beendet hängende Flask-Prozesse auf Port 5000""" + print("🔄 Beende hängende Prozesse...") + + try: + result = subprocess.run( + ["netstat", "-ano"], + capture_output=True, + text=True, + shell=True + ) + + hanging_pids = set() + for line in result.stdout.split('\n'): + if ":5000" in line and ("WARTEND" in line or "ESTABLISHED" in line): + parts = line.split() + if len(parts) >= 5: + pid = parts[-1] + if pid.isdigit() and int(pid) != 0: + hanging_pids.add(int(pid)) + + for pid in hanging_pids: + try: + subprocess.run(["taskkill", "/F", "/PID", str(pid)], + capture_output=True, shell=True) + print(f"💀 Prozess {pid} beendet") + except: + pass + + if hanging_pids: + print(f"✅ {len(hanging_pids)} hängende Prozesse beendet") + time.sleep(2) + else: + print("✅ Keine hängenden Prozesse gefunden") + + except Exception as e: + print(f"⚠️ Prozess-Cleanup fehlgeschlagen: {e}") + +def test_app_response(host="127.0.0.1", port=5000, timeout=10): + """Testet ob die App antwortet""" + print(f"🔍 Teste App-Antwort auf {host}:{port}...") + + for i in range(timeout): + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(1) + result = sock.connect_ex((host, port)) + sock.close() + + if result == 0: + print(f"✅ App erreichbar nach {i+1} Sekunden") + return True + + except: + pass + + time.sleep(1) + print(f"⏳ Warte... ({i+1}/{timeout})") + + print("❌ App nicht erreichbar!") + return False + +def start_app_with_waitress(): + """Startet die App mit Waitress""" + print("🚀 Starte App mit Waitress WSGI-Server...") + + # Cleanup zuerst + kill_hanging_processes() + + # Importiere App-Module + try: + print("📦 Importiere Flask-App...") + sys.path.insert(0, str(Path(__file__).parent)) + + # App importieren und Optimierungen aktivieren + from app import app + + # Stelle sicher, dass optimierte Konfiguration aktiv ist + app.config.update({ + "DEBUG": False, + "TESTING": False, + "TEMPLATES_AUTO_RELOAD": False, + "SEND_FILE_MAX_AGE_DEFAULT": 31536000, # 1 Jahr Cache + }) + + print("✅ Flask-App erfolgreich importiert") + + except Exception as e: + print(f"❌ Fehler beim App-Import: {e}") + return False + + # Starte Waitress in separatem Thread + print("🖥️ Starte Waitress-Server...") + + def run_waitress(): + try: + from waitress import serve + serve( + app, + host="127.0.0.1", # IPv4 only + port=5000, + threads=6, # Multi-threading für bessere Performance + connection_limit=200, + cleanup_interval=30, + channel_timeout=120, + log_untrusted_proxy_headers=False, + clear_untrusted_proxy_headers=True, + max_request_header_size=8192, + max_request_body_size=104857600, # 100MB + expose_tracebacks=False + ) + except Exception as e: + print(f"❌ Waitress-Fehler: {e}") + + # Server in Thread starten + server_thread = threading.Thread(target=run_waitress, daemon=True) + server_thread.start() + + # Kurz warten und testen + time.sleep(3) + + if test_app_response(): + print("🎉 APP ERFOLGREICH GESTARTET!") + print("📋 Kiosk-URL: http://127.0.0.1:5000") + print("💡 IPv6-Probleme behoben durch IPv4-only") + print("🚀 Stable WSGI-Server statt Flask-Dev-Server") + return True + else: + print("❌ App startet nicht korrekt!") + return False + +def main(): + """Hauptfunktion""" + print("🔧 KIOSK-FIX GESTARTET") + print("=" * 50) + + if len(sys.argv) > 1 and sys.argv[1] == "--kill": + kill_hanging_processes() + return + + if start_app_with_waitress(): + try: + print("\n⌨️ Drücke CTRL+C zum Beenden...") + while True: + time.sleep(1) + except KeyboardInterrupt: + print("\n🛑 CTRL+C erkannt - beende App...") + print("✅ App gestoppt") + else: + print("❌ App-Start fehlgeschlagen!") + sys.exit(1) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/backend/start_kiosk_optimized.py b/backend/start_kiosk_optimized.py new file mode 100644 index 00000000..047025f1 --- /dev/null +++ b/backend/start_kiosk_optimized.py @@ -0,0 +1,327 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +OPTIMIERTES KIOSK-STARTUP SCRIPT +============================== + +Startet die Flask-App mit optimierter Konfiguration für Kiosk-Betrieb. +Behebt die Probleme mit "unreachable" und langen Ladezeiten. + +Verwendung: + python start_kiosk_optimized.py [--port PORT] [--debug] + +Autor: AutoFix-System +Datum: $(date) +""" + +import os +import sys +import time +import signal +import socket +import subprocess +import multiprocessing +from pathlib import Path + +# ===== KONFIGURATION ===== +DEFAULT_PORT = 5000 +DEFAULT_HOST = "127.0.0.1" # IPv4 only für bessere Kompatibilität +WORKERS = min(4, multiprocessing.cpu_count()) # Optimal für Kiosk +TIMEOUT = 120 # 2 Minuten Timeout +KEEPALIVE = 2 # 2 Sekunden Keep-Alive +MAX_REQUESTS = 1000 # Worker-Recycling + +class KioskOptimizer: + """Optimiert die App für Kiosk-Betrieb""" + + def __init__(self): + self.base_dir = Path(__file__).parent + self.app_file = self.base_dir / "app.py" + self.log_file = self.base_dir / "logs" / "kiosk.log" + self.pid_file = self.base_dir / "kiosk.pid" + + # Stelle sicher, dass Log-Verzeichnis existiert + self.log_file.parent.mkdir(exist_ok=True) + + def check_dependencies(self): + """Prüft ob alle Abhängigkeiten verfügbar sind""" + try: + import gunicorn + print("✅ Gunicorn verfügbar") + except ImportError: + print("❌ Gunicorn nicht installiert!") + print("Installiere mit: pip install gunicorn") + sys.exit(1) + + if not self.app_file.exists(): + print(f"❌ App-Datei nicht gefunden: {self.app_file}") + sys.exit(1) + + print("✅ Alle Abhängigkeiten verfügbar") + + def fix_ipv6_issues(self): + """Behebt IPv6-Auflösungsprobleme""" + print("🔧 Behebe IPv6-Auflösungsprobleme...") + + # Windows: Prüfe hosts-Datei + hosts_file = Path("C:/Windows/System32/drivers/etc/hosts") + + try: + if hosts_file.exists(): + content = hosts_file.read_text(encoding='utf-8') + # Prüfe auf IPv6 localhost-Eintrag + if "::1" in content and "localhost" in content: + print("⚠️ IPv6 localhost-Eintrag in hosts-Datei gefunden") + print("💡 Empfehlung: Verwende 127.0.0.1 statt localhost im Kiosk") + + except Exception as e: + print(f"⚠️ Hosts-Datei-Check fehlgeschlagen: {e}") + + print("✅ IPv6-Issues-Check abgeschlossen") + + def kill_hanging_processes(self): + """Beendet hängende Flask/Python-Prozesse""" + print("🔄 Beende hängende Prozesse...") + + # Finde Python-Prozesse die auf Port 5000 hören + try: + result = subprocess.run( + ["netstat", "-ano"], + capture_output=True, + text=True, + shell=True + ) + + lines = result.stdout.split('\n') + hanging_pids = set() + + for line in lines: + if ":5000" in line and ("WARTEND" in line or "ESTABLISHED" in line): + parts = line.split() + if len(parts) >= 5: + pid = parts[-1] + if pid.isdigit(): + hanging_pids.add(int(pid)) + + # Töte hängende Prozesse + for pid in hanging_pids: + try: + if pid != 0: # 0 ist System-PID + subprocess.run(["taskkill", "/F", "/PID", str(pid)], + capture_output=True, shell=True) + print(f"💀 Prozess {pid} beendet") + except: + pass + + if hanging_pids: + print(f"✅ {len(hanging_pids)} hängende Prozesse beendet") + time.sleep(2) # Kurz warten + else: + print("✅ Keine hängenden Prozesse gefunden") + + except Exception as e: + print(f"⚠️ Prozess-Cleanup fehlgeschlagen: {e}") + + def check_port_availability(self, host, port): + """Prüft ob Port verfügbar ist""" + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + try: + sock.settimeout(1) + result = sock.connect_ex((host, port)) + return result != 0 # Port ist frei wenn connect fehlschlägt + finally: + sock.close() + + def start_with_gunicorn(self, host=DEFAULT_HOST, port=DEFAULT_PORT, debug=False): + """Startet die App mit Gunicorn""" + print(f"🚀 Starte Kiosk-App mit Gunicorn auf {host}:{port}") + + # Gunicorn-Konfiguration für optimale Kiosk-Performance + gunicorn_config = [ + "gunicorn", + "--bind", f"{host}:{port}", + "--workers", str(WORKERS), + "--worker-class", "sync", # Sync für einfache Requests, funktioniert am stabilsten + "--timeout", str(TIMEOUT), + "--keepalive", str(KEEPALIVE), + "--max-requests", str(MAX_REQUESTS), + "--max-requests-jitter", "50", + "--preload", # App einmal laden, dann forken + "--worker-tmp-dir", "/dev/shm" if os.name != 'nt' else ".", + "--log-level", "info" if not debug else "debug", + "--access-logfile", str(self.log_file), + "--error-logfile", str(self.log_file), + "--capture-output", + "--enable-stdio-inheritance" + ] + + # Windows-spezifische Optimierungen + if os.name == 'nt': + gunicorn_config.extend([ + "--worker-connections", "100", # Weniger Connections auf Windows + "--threads", "2" # Threading für Windows + ]) + + # Debug-Modus Anpassungen + if debug: + gunicorn_config.extend([ + "--reload", + "--log-level", "debug" + ]) + + # App-Modul + gunicorn_config.append("app:app") + + print(f"🔧 Gunicorn-Kommando: {' '.join(gunicorn_config)}") + + # Umgebungsvariablen für optimierte App setzen + env = os.environ.copy() + env.update({ + "FLASK_ENV": "production" if not debug else "development", + "USE_OPTIMIZED_CONFIG": "true", + "FORCE_OPTIMIZED_MODE": "true", + "PYTHONUNBUFFERED": "1", + "PYTHONIOENCODING": "utf-8" + }) + + # Starte Gunicorn + try: + # PID speichern + process = subprocess.Popen( + gunicorn_config, + cwd=str(self.base_dir), + env=env, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + universal_newlines=True + ) + + # PID in Datei schreiben + with open(self.pid_file, 'w') as f: + f.write(str(process.pid)) + + print(f"✅ Gunicorn gestartet (PID: {process.pid})") + print(f"📋 Logs: {self.log_file}") + print(f"🌐 URL: http://{host}:{port}") + print(f"🔄 Für Kiosk verwende: http://127.0.0.1:{port}") + + # Warte kurz und teste Verbindung + time.sleep(3) + if self.test_connection(host, port): + print("🎉 APP ERFOLGREICH GESTARTET!") + print(f"💡 Kiosk-Browser auf http://127.0.0.1:{port} zeigen lassen") + return process + else: + print("❌ App startet nicht korrekt!") + process.terminate() + return None + + except Exception as e: + print(f"❌ Fehler beim Starten: {e}") + return None + + def test_connection(self, host, port, retries=5): + """Testet die Verbindung zur App""" + print(f"🔍 Teste Verbindung zu {host}:{port}...") + + for i in range(retries): + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(2) + result = sock.connect_ex((host, port)) + sock.close() + + if result == 0: + print(f"✅ Verbindung erfolgreich (Versuch {i+1})") + return True + else: + print(f"⏳ Versuch {i+1} fehlgeschlagen, warte...") + time.sleep(1) + + except Exception as e: + print(f"⚠️ Verbindungstest Versuch {i+1} fehlgeschlagen: {e}") + time.sleep(1) + + print("❌ Verbindung fehlgeschlagen!") + return False + + def stop(self): + """Stoppt die App""" + if self.pid_file.exists(): + try: + with open(self.pid_file, 'r') as f: + pid = int(f.read().strip()) + + print(f"🛑 Stoppe App (PID: {pid})") + + # Windows: taskkill verwenden + if os.name == 'nt': + subprocess.run(["taskkill", "/F", "/PID", str(pid)], + capture_output=True, shell=True) + else: + os.kill(pid, signal.SIGTERM) + + self.pid_file.unlink() + print("✅ App gestoppt") + + except Exception as e: + print(f"⚠️ Fehler beim Stoppen: {e}") + else: + print("ℹ️ Keine PID-Datei gefunden") + +def main(): + """Hauptfunktion""" + import argparse + + parser = argparse.ArgumentParser(description="Optimiertes Kiosk-Startup für Flask-App") + parser.add_argument("--port", type=int, default=DEFAULT_PORT, help="Port (Standard: 5000)") + parser.add_argument("--host", default=DEFAULT_HOST, help="Host (Standard: 127.0.0.1)") + parser.add_argument("--debug", action="store_true", help="Debug-Modus") + parser.add_argument("--stop", action="store_true", help="App stoppen") + parser.add_argument("--force-kill", action="store_true", help="Alle hängenden Prozesse beenden") + + args = parser.parse_args() + + optimizer = KioskOptimizer() + + print("🚀 KIOSK-OPTIMIZER GESTARTET") + print("=" * 50) + + if args.stop: + optimizer.stop() + return + + if args.force_kill: + optimizer.kill_hanging_processes() + return + + # Systemchecks + optimizer.check_dependencies() + optimizer.fix_ipv6_issues() + + # Port-Check + if not optimizer.check_port_availability(args.host, args.port): + print(f"❌ Port {args.port} ist bereits belegt!") + print("💡 Versuche --force-kill um hängende Prozesse zu beenden") + sys.exit(1) + + # Cleanup alter Prozesse + optimizer.kill_hanging_processes() + + # App starten + process = optimizer.start_with_gunicorn(args.host, args.port, args.debug) + + if process: + try: + # Warte auf CTRL+C + print("\n⌨️ Drücke CTRL+C zum Beenden...") + process.wait() + except KeyboardInterrupt: + print("\n🛑 CTRL+C erkannt, stoppe App...") + optimizer.stop() + else: + print("❌ App-Start fehlgeschlagen!") + sys.exit(1) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/backend/templates/base.html b/backend/templates/base.html index 738480b6..c4ff142c 100644 --- a/backend/templates/base.html +++ b/backend/templates/base.html @@ -2,217 +2,1266 @@ - + - + + + + + + {% block title %}MYP Platform - Mercedes-Benz{% endblock %} - - + + - - + + + + + + - + + + + + + - - + + + - - - - - - + + + {% block extra_css %}{% endblock %} - - - - Skip to main content - -
- -
- - - {% with messages = get_flashed_messages(with_categories=true) %} - {% if messages %} - - {% endif %} - {% endwith %} - - -
- {% block content %}{% endblock %} -
- - -
-

© 2024 Mercedes-Benz AG. Alle Rechte vorbehalten.

-
- - - - - + + + + + {% block head %}{% endblock %} + + + + + + + + + + + +
+
+ + {% with messages = get_flashed_messages(with_categories=true) %} + {% if messages %} + + + {% endif %} + {% endwith %} + + {% block content %}{% endblock %} +
+
+ + +
+
+
+
+ +
+
+
+ + + +
+
+
Mercedes-Benz
+
TBA Marienfelde - Steckdosen-Steuerung
+
+
+

+ Das Beste oder nichts - Professionelles 3D-Druck Management für Mercedes-Benz. +

+
+ + +
+

System

+
+
+ Version: + 3.0.0 +
+
+ Status: +
+
+ Online +
+
+ {% if current_user.is_authenticated and current_user.is_admin %} + + {% endif %} +
+
+ +
+

Benachrichtigungen

+
+ +
+ Nicht stören: + +
+ + +
+ Alle Benachrichtigungen aktiv +
+
+
+ + +
+

Rechtliches

+
+

© 2024 Mercedes-Benz Group AG

+

Alle Rechte vorbehalten.

+

+ Entwickelt für interne Mercedes-Benz Anwendungen +

+
+
+
+
+
+
+ + + + + + + + + + + + + + + + {% if current_user.is_authenticated %} + + + + {% endif %} + + + + + + + {% block scripts %}{% endblock %} - \ No newline at end of file + \ No newline at end of file