From 59f5c543e34b44a4dc0e86fe19e133a7de617ab2 Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Fri, 20 Jun 2025 12:26:29 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9A=20Improved=20backend=20codebase=20?= =?UTF-8?q?structure=20&=20documentation=20(#123)=20=F0=9F=8C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app.py | 6 +- .../__pycache__/api.cpython-313.pyc | Bin 41910 -> 42218 bytes .../__pycache__/guest.cpython-313.pyc | Bin 68351 -> 68351 bytes backend/blueprints/api.py | 2 +- backend/logs/app/app.log | 293 ++++++++++++++++++ backend/logs/core_system/core_system.log | 8 + .../logs/data_management/data_management.log | 8 + .../drucker_steuerung/drucker_steuerung.log | 4 + .../energy_monitoring/energy_monitoring.log | 4 + .../hardware_integration.log | 8 + .../job_queue_system/job_queue_system.log | 16 + backend/logs/jobs/jobs.log | 30 ++ .../monitoring_analytics.log | 8 + backend/logs/permissions/permissions.log | 4 + backend/logs/scheduler/scheduler.log | 280 +++++++++++++++++ .../logs/security_suite/security_suite.log | 12 + backend/logs/startup/startup.log | 36 +++ .../utilities_collection.log | 8 + backend/logs/windows_fixes/windows_fixes.log | 8 + backend/static/js/charts.js | 2 +- backend/static/js/core-utilities.js | 14 +- backend/static/js/global-refresh-functions.js | 10 + backend/static/js/optimization-features.js | 2 +- backend/templates/admin_modern.html | 2 +- 24 files changed, 757 insertions(+), 8 deletions(-) diff --git a/backend/app.py b/backend/app.py index 165fed79d..7ee4faf95 100644 --- a/backend/app.py +++ b/backend/app.py @@ -1036,11 +1036,11 @@ def dashboard(): # Letzte Jobs als Aktivitäten recent_jobs = db_session.query(Job).filter( Job.user_id == current_user.id if not current_user.is_admin else True - ).order_by(Job.updated_at.desc()).limit(5).all() + ).order_by(Job.created_at.desc()).limit(5).all() activities = [] for job in recent_jobs: - time_diff = datetime.now() - (job.updated_at or job.created_at) + time_diff = datetime.now() - job.created_at if time_diff.days == 0: if time_diff.seconds < 3600: time_str = f"vor {time_diff.seconds // 60} Minuten" @@ -1745,7 +1745,7 @@ def api_stats(): today = date.today() completed_today = db_session.query(Job).filter( Job.status == 'completed', - Job.updated_at >= today + Job.created_at >= today ).count() # Online-Drucker (aktive Drucker) diff --git a/backend/blueprints/__pycache__/api.cpython-313.pyc b/backend/blueprints/__pycache__/api.cpython-313.pyc index 0f0c903b67bf5b5c1ce4d56f29f4eb673028a1ff..db8597f954a91737ea6bddb2f189896de26fadd0 100644 GIT binary patch delta 829 zcmZWnUr19?7(eIS-A(W2cJ=N$op(5GYpJnmYWBxb>dKK)xXXl`FKYW^+BIedX%Atc zJyb#;$X03zK~OJ=VgyN9>5N_!0}XuWF?yOvJ$I(4VBf><{J!s;-}%n@oim#tzrPaw zRz?PgXjE1CBbSG#^uI=NDLfyr@Evx90wgt+3LgveE&&?rw9bHLr-YD9WJXpwNhRK? z$ZQ3%Az3YJ8dMip1zV9H!OwfgRDSFepsY)R>zPKdjHJQbLlGW~aB%xX8r+Quz{?y7 z=%L9aQL2R>t%CZL7okc5JsvZ(#4m-Y?I3Y71v z{Oq1>2Q2I*`AEhJTf%*)a1Y61do3=xMtVRNC8=uA9MV zd#7@xPYGK?!AN&F*xM25ZVLyMJ_qgC5bRWf*5>^+{e4mEp4NKp^K7`gvm+ACqc0h? zP{FkHRELEkb5u){XkiMZ6sVzU>^LzaxH@)NTbrt+eowRjUX2ACKT-7^l;n@F{DydF zRkYvd*0th_*0Q0?Ueie{I%(Nb^IccFA(+>5-RpUtO_q`LTZl0ll4_J`OllaTF^QNA z;~yQ^#;Z%ljL%GQ(~G*74U-Kkxvo{N^li>m&U@Pj$2-TDiiCUKy;|0^=4)B;wZN@$ ziO3j6$Nze2=#d7?>NRM_BT-!7#q(~}f?bp1N5y)QwunztzUbyCCN!K^WD=Pty*#tT gVak_y)+FM^1T+@$se4BCx77P zn5;LGbFxvc2qVknTo={JABQNW)J2F=G0@=XAI`jW6EQRR+$_pAK*=2UdX7)KejQmB?Kx2wz zfkydhN)~ZXR-0=!IdQHsw-QjK$O%MnO}CVA?oQV<0KF-1F&b#^l{L3s78jJ#;nHiYCge&7m79hV!9q38`sxyP9 diff --git a/backend/blueprints/__pycache__/guest.cpython-313.pyc b/backend/blueprints/__pycache__/guest.cpython-313.pyc index dd712edc3d540cf089a39ee634fb822b6257b296..5940ec069a5539e397b4b17b1cc44b5221e75993 100644 GIT binary patch delta 24 ecmexAmF53b7Ou~{yj%=G@X@T1YbzJyS1tf;AP2($ delta 24 ecmexAmF53b7Ou~{yj%=Gu*I;EYbzJyS1tf*(+7b7 diff --git a/backend/blueprints/api.py b/backend/blueprints/api.py index 3b47cb11e..17a9a49bb 100644 --- a/backend/blueprints/api.py +++ b/backend/blueprints/api.py @@ -892,7 +892,7 @@ def get_user_activity_chart(): user_activity = db_session.query( User.username, func.count(Job.id).label('job_count') - ).outerjoin(Job).group_by(User.id, User.username).order_by( + ).outerjoin(Job, User.id == Job.user_id).group_by(User.id, User.username).order_by( func.count(Job.id).desc() ).limit(10).all() diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index da7bc1f73..8acee70ee 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -64960,3 +64960,296 @@ WHERE users.role = ?] 2025-06-20 12:16:57 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... 2025-06-20 12:16:57 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt 2025-06-20 12:16:57 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 12:16:59 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 12:17:00 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 12:17:00 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 12:17:00 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 12:17:00 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)... +2025-06-20 12:17:18 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden +2025-06-20 12:17:18 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 12:17:40 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\login.html') +2025-06-20 12:17:40 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-20 12:17:40 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:17:43 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:17:43 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:17:43 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:17:43 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:17:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:17:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:17:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:17:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:18:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:18:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:18:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:18:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:18:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:18:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:18:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:18:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:19:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:19:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:19:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:19:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:19:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:19:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:19:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:19:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:20:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:20:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:20:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:20:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:20:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:20:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:20:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:20:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:21:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:21:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:21:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:21:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:21:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:21:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:21:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:21:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:22:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:22:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:22:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:22:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:22:44 - [app] app - [ERROR] ERROR - ❌ Fehler beim Laden des Dashboards: type object 'Job' has no attribute 'updated_at' +Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 1039, in dashboard + ).order_by(Job.updated_at.desc()).limit(5).all() + ^^^^^^^^^^^^^^ +AttributeError: type object 'Job' has no attribute 'updated_at'. Did you mean: 'created_at'? +2025-06-20 12:22:44 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html') +2025-06-20 12:22:44 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\macros\\ui_components.html') +2025-06-20 12:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:23:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:23:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:23:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:23:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:23:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:23:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:23:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:23:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:24:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:24:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:24:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:24:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:24:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:24:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:24:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:24:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:24:50 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 12:24:50 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 12:24:50 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 12:24:51 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 12:24:52 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 12:24:52 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 12:24:52 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 12:24:52 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 12:24:53 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 12:24:53 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 12:24:53 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 12:24:53 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 12:24:53 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 12:24:53 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 12:24:53 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 12:24:53 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 12:24:53 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 12:24:53 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 12:24:53 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)... +2025-06-20 12:25:14 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 12:25:15 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 12:25:15 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 12:25:15 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 12:25:15 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 12:25:16 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 12:25:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 12:25:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 12:25:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 12:25:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 12:25:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 12:25:16 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 12:25:16 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 12:25:16 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 12:25:16 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 12:25:16 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)... +2025-06-20 12:25:34 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden +2025-06-20 12:25:34 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 12:25:35 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: database/myp.db +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 12:25:36 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 12:25:36 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 12:25:36 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 12:25:36 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Steckdosen (alle auf 'aus' = frei)... +2025-06-20 12:25:54 - [app] app - [WARNING] WARNING - [STARTUP] ⚠️ Keine der 6 Steckdosen konnte initialisiert werden +2025-06-20 12:25:54 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 12:25:54 - [app] app - [INFO] INFO - ✅ Dashboard geladen für Administrator: 3 aktive Jobs, 0 verfügbare Drucker +2025-06-20 12:25:54 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html') +2025-06-20 12:25:54 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-20 12:25:54 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\macros\\ui_components.html') +2025-06-20 12:25:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:25:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 12:25:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 12:25:59 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 12:25:59 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 12:25:59 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: diff --git a/backend/logs/core_system/core_system.log b/backend/logs/core_system/core_system.log index ad94988f4..f2cb18553 100644 --- a/backend/logs/core_system/core_system.log +++ b/backend/logs/core_system/core_system.log @@ -512,3 +512,11 @@ 2025-06-20 12:07:23 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) 2025-06-20 12:16:59 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert 2025-06-20 12:16:59 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) +2025-06-20 12:24:51 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert +2025-06-20 12:24:51 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) +2025-06-20 12:25:14 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert +2025-06-20 12:25:14 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) +2025-06-20 12:25:35 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert +2025-06-20 12:25:35 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) +2025-06-20 12:26:00 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert +2025-06-20 12:26:00 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) diff --git a/backend/logs/data_management/data_management.log b/backend/logs/data_management/data_management.log index a91db2aa7..9e943d44c 100644 --- a/backend/logs/data_management/data_management.log +++ b/backend/logs/data_management/data_management.log @@ -1049,3 +1049,11 @@ 2025-06-20 12:06:21 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 12:07:24 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert 2025-06-20 12:07:24 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:16:59 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 12:16:59 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:24:51 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 12:24:51 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:25:14 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 12:25:14 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:25:35 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 12:25:35 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/drucker_steuerung/drucker_steuerung.log b/backend/logs/drucker_steuerung/drucker_steuerung.log index 61bcef18b..027d7b5d4 100644 --- a/backend/logs/drucker_steuerung/drucker_steuerung.log +++ b/backend/logs/drucker_steuerung/drucker_steuerung.log @@ -112,3 +112,7 @@ 2025-06-20 12:05:14 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen 2025-06-20 12:06:22 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen 2025-06-20 12:07:25 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 12:17:00 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 12:24:52 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 12:25:15 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 12:25:36 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen diff --git a/backend/logs/energy_monitoring/energy_monitoring.log b/backend/logs/energy_monitoring/energy_monitoring.log index 8cff8cfd6..76ae1c570 100644 --- a/backend/logs/energy_monitoring/energy_monitoring.log +++ b/backend/logs/energy_monitoring/energy_monitoring.log @@ -841,3 +841,7 @@ 2025-06-20 12:05:14 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert 2025-06-20 12:06:22 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert 2025-06-20 12:07:25 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 12:17:00 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 12:24:52 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 12:25:15 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 12:25:36 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert diff --git a/backend/logs/hardware_integration/hardware_integration.log b/backend/logs/hardware_integration/hardware_integration.log index e835bf523..c64d52bc9 100644 --- a/backend/logs/hardware_integration/hardware_integration.log +++ b/backend/logs/hardware_integration/hardware_integration.log @@ -3943,3 +3943,11 @@ 2025-06-20 12:07:17 - [hardware_integration] hardware_integration - [WARNING] WARNING - ⚠️ Energiedaten von 192.168.0.102 nicht abrufbar: HTTPConnectionPool(host='192.168.0.102', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.0.102 timed out. (connect timeout=2)')) 2025-06-20 12:07:24 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen 2025-06-20 12:07:25 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 12:16:59 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 12:17:00 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 12:24:51 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 12:24:53 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 12:25:14 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 12:25:16 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 12:25:35 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 12:25:36 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE diff --git a/backend/logs/job_queue_system/job_queue_system.log b/backend/logs/job_queue_system/job_queue_system.log index f4307953a..71d85c7ed 100644 --- a/backend/logs/job_queue_system/job_queue_system.log +++ b/backend/logs/job_queue_system/job_queue_system.log @@ -2038,3 +2038,19 @@ 2025-06-20 12:07:24 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) 2025-06-20 12:07:25 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) 2025-06-20 12:16:57 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 12:16:59 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 12:16:59 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 12:17:00 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 12:24:50 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 12:24:51 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 12:24:51 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 12:24:53 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 12:25:02 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 12:25:02 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 12:25:14 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 12:25:14 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 12:25:16 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 12:25:35 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 12:25:35 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 12:25:36 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 12:25:59 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) diff --git a/backend/logs/jobs/jobs.log b/backend/logs/jobs/jobs.log index da98af598..8138174a0 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -1155,3 +1155,33 @@ sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) FOREIGN KEY constraint f 2025-06-20 12:16:15 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) 2025-06-20 12:16:45 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) 2025-06-20 12:16:45 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:17:43 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:17:43 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:17:48 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:17:48 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:18:14 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:18:14 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:18:44 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:18:44 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:19:14 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:19:14 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:19:44 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:19:44 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:20:14 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:20:14 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:20:44 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:20:44 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:21:14 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:21:14 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:21:44 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:21:44 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:22:14 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:22:14 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:23:14 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:23:14 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:23:44 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:23:44 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:24:14 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:24:14 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) +2025-06-20 12:24:44 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-20 12:24:44 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 3 von 3 (Seite 1) diff --git a/backend/logs/monitoring_analytics/monitoring_analytics.log b/backend/logs/monitoring_analytics/monitoring_analytics.log index 991bc5bd1..e8335b0a9 100644 --- a/backend/logs/monitoring_analytics/monitoring_analytics.log +++ b/backend/logs/monitoring_analytics/monitoring_analytics.log @@ -1037,3 +1037,11 @@ 2025-06-20 12:06:22 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 12:07:25 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert 2025-06-20 12:07:25 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:17:00 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 12:17:00 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:24:52 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 12:24:52 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:25:15 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 12:25:15 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:25:36 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 12:25:36 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index fd051e08b..4368dc1e4 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -573,3 +573,7 @@ WHERE users.role = ?] 2025-06-20 12:05:14 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-20 12:06:22 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-20 12:07:25 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 12:17:00 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 12:24:52 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 12:25:15 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 12:25:36 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index e2dd03a98..5c9a43d5e 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -4973,3 +4973,283 @@ 2025-06-20 12:16:56 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet 2025-06-20 12:16:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined 2025-06-20 12:16:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:16:59 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 12:17:00 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 12:17:00 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 12:17:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart... +2025-06-20 12:17:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:00 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen... +2025-06-20 12:17:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:17:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:17:03 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar +2025-06-20 12:17:06 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar +2025-06-20 12:17:09 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar +2025-06-20 12:17:12 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar +2025-06-20 12:17:15 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar +2025-06-20 12:17:18 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar +2025-06-20 12:17:18 - [scheduler] scheduler - [INFO] INFO - ============================================================ +2025-06-20 12:17:18 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN +2025-06-20 12:17:18 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen +2025-06-20 12:17:18 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0 +2025-06-20 12:17:18 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6 +2025-06-20 12:17:18 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0 +2025-06-20 12:17:18 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden! +2025-06-20 12:17:18 - [scheduler] scheduler - [INFO] INFO - ============================================================ +2025-06-20 12:17:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:17:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:17:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:17:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:17:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:17:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:17:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:17:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:18:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:18:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:18:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:18:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:18:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:18:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:18:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:18:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:18:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:18:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:19:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:19:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:19:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:19:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:19:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:19:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:19:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:19:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:19:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:19:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:20:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:20:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:20:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:20:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:20:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:20:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:20:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:20:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:20:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:20:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:21:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:21:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:21:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:21:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:21:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:21:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:21:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:21:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:21:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:21:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:22:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:22:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:22:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:22:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:22:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:22:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:22:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:22:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:22:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:22:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:23:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:23:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:23:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:23:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:23:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:23:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:23:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:23:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:23:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:23:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:24:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:24:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:24:20 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:24:20 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:24:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:24:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:24:50 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:24:50 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:24:51 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 12:24:53 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 12:24:53 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 12:24:53 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:53 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart... +2025-06-20 12:24:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:53 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen... +2025-06-20 12:24:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:24:53 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:24:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:24:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:24:56 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar +2025-06-20 12:24:59 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar +2025-06-20 12:25:14 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 12:25:16 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 12:25:16 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 12:25:16 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:25:16 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart... +2025-06-20 12:25:16 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:25:16 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:25:16 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:25:16 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen... +2025-06-20 12:25:16 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:25:16 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:25:19 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar +2025-06-20 12:25:22 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar +2025-06-20 12:25:25 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar +2025-06-20 12:25:28 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar +2025-06-20 12:25:31 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar +2025-06-20 12:25:34 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar +2025-06-20 12:25:34 - [scheduler] scheduler - [INFO] INFO - ============================================================ +2025-06-20 12:25:34 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN +2025-06-20 12:25:34 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen +2025-06-20 12:25:34 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0 +2025-06-20 12:25:34 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6 +2025-06-20 12:25:34 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0 +2025-06-20 12:25:34 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden! +2025-06-20 12:25:34 - [scheduler] scheduler - [INFO] INFO - ============================================================ +2025-06-20 12:25:35 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 12:25:36 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 12:25:36 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 12:25:36 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Systemstart... +2025-06-20 12:25:36 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:25:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:25:36 - [scheduler] scheduler - [INFO] INFO - 🔍 Prüfe 6 konfigurierte Steckdosen... +2025-06-20 12:25:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:25:36 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:25:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:25:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:25:39 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 1: Steckdose 192.168.0.100 nicht erreichbar +2025-06-20 12:25:42 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 2: Steckdose 192.168.0.101 nicht erreichbar +2025-06-20 12:25:45 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 3: Steckdose 192.168.0.102 nicht erreichbar +2025-06-20 12:25:46 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-20 12:25:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:25:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten +2025-06-20 12:25:46 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: Gastauftrag: Till Tomczaktet +2025-06-20 12:25:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Steckdose für Drucker 2: name 'tapo_controller' is not defined +2025-06-20 12:25:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten +2025-06-20 12:25:48 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 4: Steckdose 192.168.0.103 nicht erreichbar +2025-06-20 12:25:51 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 5: Steckdose 192.168.0.104 nicht erreichbar +2025-06-20 12:25:54 - [scheduler] scheduler - [WARNING] WARNING - 📡 Drucker 6: Steckdose 192.168.0.106 nicht erreichbar +2025-06-20 12:25:54 - [scheduler] scheduler - [INFO] INFO - ============================================================ +2025-06-20 12:25:54 - [scheduler] scheduler - [INFO] INFO - 🎯 STECKDOSEN-INITIALISIERUNG ABGESCHLOSSEN +2025-06-20 12:25:54 - [scheduler] scheduler - [INFO] INFO - 📊 Gesamt: 6 Steckdosen +2025-06-20 12:25:54 - [scheduler] scheduler - [INFO] INFO - ✅ Erfolgreich: 0 +2025-06-20 12:25:54 - [scheduler] scheduler - [INFO] INFO - 📡 Nicht erreichbar: 6 +2025-06-20 12:25:54 - [scheduler] scheduler - [INFO] INFO - ❌ Fehlgeschlagen: 0 +2025-06-20 12:25:54 - [scheduler] scheduler - [WARNING] WARNING - ⚠️ KEINE Steckdose konnte initialisiert werden! +2025-06-20 12:25:54 - [scheduler] scheduler - [INFO] INFO - ============================================================ diff --git a/backend/logs/security_suite/security_suite.log b/backend/logs/security_suite/security_suite.log index c276a6a27..ae251f8c8 100644 --- a/backend/logs/security_suite/security_suite.log +++ b/backend/logs/security_suite/security_suite.log @@ -1568,3 +1568,15 @@ 2025-06-20 12:07:24 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert 2025-06-20 12:07:24 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 12:07:25 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 12:16:59 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 12:16:59 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:17:00 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 12:24:51 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 12:24:51 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:24:52 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 12:25:14 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 12:25:14 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:25:15 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 12:25:35 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 12:25:35 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 12:25:36 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 5de62a4c1..f99bcc6f9 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -4151,3 +4151,39 @@ 2025-06-20 12:07:25 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert 2025-06-20 12:07:25 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert 2025-06-20 12:07:25 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:17:00.270220 +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-20 12:17:00 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:24:52.753647 +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-20 12:24:52 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:25:15.828800 +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-20 12:25:15 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T12:25:36.049929 +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-20 12:25:36 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/utilities_collection/utilities_collection.log b/backend/logs/utilities_collection/utilities_collection.log index 6ba4f62ab..d2e959a1c 100644 --- a/backend/logs/utilities_collection/utilities_collection.log +++ b/backend/logs/utilities_collection/utilities_collection.log @@ -1369,3 +1369,11 @@ 2025-06-20 12:06:21 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) 2025-06-20 12:07:24 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert 2025-06-20 12:07:24 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 12:16:59 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 12:16:59 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 12:24:51 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 12:24:51 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 12:25:14 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 12:25:14 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 12:25:35 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 12:25:35 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) diff --git a/backend/logs/windows_fixes/windows_fixes.log b/backend/logs/windows_fixes/windows_fixes.log index bf2892267..898696324 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -515,3 +515,11 @@ 2025-06-20 12:07:23 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet 2025-06-20 12:16:59 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... 2025-06-20 12:16:59 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-20 12:24:51 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-20 12:24:51 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-20 12:25:14 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-20 12:25:14 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-20 12:25:35 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-20 12:25:35 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-20 12:26:00 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-20 12:26:00 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet diff --git a/backend/static/js/charts.js b/backend/static/js/charts.js index ef977c715..b270e87a6 100644 --- a/backend/static/js/charts.js +++ b/backend/static/js/charts.js @@ -194,7 +194,7 @@ async function createJobStatusChart() { throw new Error(`HTTP ${response.status}: ${response.statusText}`); } - const data = await response.json(); + const data = await validateApiResponse(response, 'Job-Status-Chart-Daten'); if (data.error) { throw new Error(data.error); diff --git a/backend/static/js/core-utilities.js b/backend/static/js/core-utilities.js index fdc9f1d92..7e608de31 100644 --- a/backend/static/js/core-utilities.js +++ b/backend/static/js/core-utilities.js @@ -117,10 +117,22 @@ // Create request promise const promise = fetch(url, requestOptions) - .then(response => { + .then(async response => { if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } + + // Content-Type-Validation für JSON-Responses + const contentType = response.headers.get('content-type'); + if (!contentType || !contentType.includes('application/json')) { + const text = await response.text(); + // Prüfe auf HTML-Fehlerseiten + if (text.includes('') || text.includes(' { diff --git a/backend/static/js/global-refresh-functions.js b/backend/static/js/global-refresh-functions.js index 5c3932fe2..8e419bf4b 100644 --- a/backend/static/js/global-refresh-functions.js +++ b/backend/static/js/global-refresh-functions.js @@ -226,6 +226,16 @@ window.refreshJobs = async function() { throw new Error(`API-Fehler: ${response.status} ${response.statusText}`); } + // Content-Type-Validation + const contentType = response.headers.get('content-type'); + if (!contentType || !contentType.includes('application/json')) { + const text = await response.text(); + if (text.includes('') || text.includes(' - +
diff --git a/backend/templates/admin_modern.html b/backend/templates/admin_modern.html index 9493014a0..1f2dae1ae 100644 --- a/backend/templates/admin_modern.html +++ b/backend/templates/admin_modern.html @@ -264,7 +264,7 @@