🎉 Feat: Enhanced Printer Management System

This commit introduces a comprehensive overhaul of the printer management system, enhancing its functionality and user experience. The following changes have been implemented:

- backend/blueprints/__pycache__/admin_unified.cpython-311.pyc: Updated for improved admin interface integration.
- backend/blueprints/__pycache__/drucker_steuerung.cpython-311.pyc
This commit is contained in:
2025-06-19 22:34:54 +02:00
parent 9696cdcc3f
commit 78a9f9545f
25 changed files with 332 additions and 38 deletions

View File

@ -2620,7 +2620,8 @@ def tapo_monitoring():
# Aktueller Status aller Tapo-Steckdosen abrufen
try:
from utils.hardware_integration import tapo_controller
from utils.hardware_integration import get_tapo_controller
tapo_controller = get_tapo_controller()
tapo_available = True
# Status für jeden Drucker mit Tapo-Steckdose abrufen
@ -2749,7 +2750,8 @@ def api_admin_bulk_tapo_control():
# Tapo-Controller laden
try:
from utils.hardware_integration import tapo_controller
from utils.hardware_integration import get_tapo_controller
tapo_controller = get_tapo_controller()
except Exception as e:
return jsonify({
'success': False,
@ -2870,7 +2872,8 @@ def api_admin_tapo_health_check():
try:
# Tapo-Controller laden
try:
from utils.hardware_integration import tapo_controller
from utils.hardware_integration import get_tapo_controller
tapo_controller = get_tapo_controller()
tapo_available = True
except Exception as e:
return jsonify({
@ -3060,7 +3063,8 @@ def api_admin_configure_printer_tapo():
test_result = None
if test_connection and printer.plug_ip:
try:
from utils.hardware_integration import tapo_controller
from utils.hardware_integration import get_tapo_controller
tapo_controller = get_tapo_controller()
test_result = tapo_controller.test_connection(
printer.plug_ip,
username=printer.plug_username,

View File

@ -131,7 +131,7 @@ def drucker_details(drucker_id):
@drucker_blueprint.route("/einschalten/<int:drucker_id>", methods=["POST"])
@login_required
@require_permission(Permission.CAN_CONTROL_PRINTERS)
@require_permission(Permission.CONTROL_PRINTER)
def drucker_einschalten(drucker_id):
"""
Schaltet einen Drucker über seine Tapo-Steckdose EIN.
@ -163,7 +163,7 @@ def drucker_einschalten(drucker_id):
@drucker_blueprint.route("/ausschalten/<int:drucker_id>", methods=["POST"])
@login_required
@require_permission(Permission.CAN_CONTROL_PRINTERS)
@require_permission(Permission.CONTROL_PRINTER)
def drucker_ausschalten(drucker_id):
"""
Schaltet einen Drucker über seine Tapo-Steckdose AUS.
@ -195,7 +195,7 @@ def drucker_ausschalten(drucker_id):
@drucker_blueprint.route("/toggle/<int:drucker_id>", methods=["POST"])
@login_required
@require_permission(Permission.CAN_CONTROL_PRINTERS)
@require_permission(Permission.CONTROL_PRINTER)
def drucker_toggle(drucker_id):
"""
Wechselt den Status eines Druckers (Ein <-> Aus).

View File

@ -182,10 +182,12 @@ def get_live_printer_status():
try:
# Live-Status über den PrinterMonitor abrufen
status_data = printer_monitor.get_live_printer_status(use_session_cache=use_cache)
monitor = get_printer_monitor()
status_data = monitor.get_live_printer_status(use_session_cache=use_cache)
# Zusammenfassung der Druckerstatus erstellen
summary = printer_monitor.get_printer_summary()
monitor = get_printer_monitor()
summary = monitor.get_printer_summary()
# Antwort mit Status und Zusammenfassung
response = {
@ -448,7 +450,8 @@ def control_printer_power(printer_id):
db_session.commit()
# Cache leeren, damit neue Status-Abfragen aktuell sind
printer_monitor.clear_all_caches()
monitor = get_printer_monitor()
monitor.clear_all_caches()
printers_logger.info(f"{action.upper()}: Drucker {printer.name} erfolgreich {message}")
@ -494,10 +497,10 @@ def force_refresh_all_printer_status():
try:
# Hardware Integration Monitor für Force-Refresh verwenden
from utils.hardware_integration import printer_monitor
# Force-Network-Refresh durchführen
refresh_results = printer_monitor.force_network_refresh()
monitor = get_printer_monitor()
refresh_results = monitor.force_network_refresh()
if refresh_results.get("success", False):
printers_logger.info(f"✅ Force-Refresh erfolgreich: {refresh_results.get('printers_refreshed', 0)} Drucker aktualisiert")
@ -792,7 +795,8 @@ def test_socket_control(printer_id):
db_session.commit()
# Cache leeren, damit neue Status-Abfragen aktuell sind
printer_monitor.clear_all_caches()
monitor = get_printer_monitor()
monitor.clear_all_caches()
# Test-Eintrag für Audit-Log
printers_logger.info(f"🧪 TEST DURCHGEFÜHRT: {action.upper()} für {printer.name} | "
@ -1335,7 +1339,8 @@ def mass_tapo_status_check():
# Tapo-Controller laden
try:
from utils.hardware_integration import tapo_controller
from utils.hardware_integration import get_tapo_controller
tapo_controller = get_tapo_controller()
tapo_available = True
except Exception as e:
db_session.close()
@ -1512,7 +1517,8 @@ def tapo_configuration_wizard():
# Tapo-Controller laden
try:
from utils.hardware_integration import tapo_controller
from utils.hardware_integration import get_tapo_controller
tapo_controller = get_tapo_controller()
except Exception as e:
return jsonify({
"success": False,
@ -1700,7 +1706,8 @@ def validate_tapo_configuration(printer_id):
# Tapo-Controller laden
try:
from utils.hardware_integration import tapo_controller
from utils.hardware_integration import get_tapo_controller
tapo_controller = get_tapo_controller()
except Exception as e:
db_session.close()
return jsonify({

View File

@ -74,7 +74,8 @@ def tapo_dashboard():
# Status der Steckdose prüfen
try:
reachable, status = tapo_controller.check_outlet_status(
controller = get_tapo_controller()
reachable, status = controller.check_outlet_status(
tapo_ip,
printer_id=printer_id
)
@ -195,7 +196,8 @@ def control_outlet():
# Steckdose schalten
state = action == 'on'
success = tapo_controller.toggle_plug(ip, state)
controller = get_tapo_controller()
success = controller.toggle_plug(ip, state)
if success:
action_text = "eingeschaltet" if state else "ausgeschaltet"
@ -241,7 +243,8 @@ def get_outlet_status(ip):
}), 400
# Status prüfen
reachable, status = tapo_controller.check_outlet_status(ip)
controller = get_tapo_controller()
reachable, status = controller.check_outlet_status(ip)
return jsonify({
'success': True,
@ -267,7 +270,8 @@ def discover_outlets():
tapo_logger.info(f"🔍 Starte Tapo-Steckdosen-Erkennung auf Anfrage von {current_user.name}")
# Discovery starten
results = tapo_controller.auto_discover_outlets()
controller = get_tapo_controller()
results = controller.auto_discover_outlets()
success_count = sum(1 for success in results.values() if success)
total_count = len(results)
@ -304,7 +308,8 @@ def test_connection(ip):
}), 400
# Verbindung testen
test_result = tapo_controller.test_connection(ip)
controller = get_tapo_controller()
test_result = controller.test_connection(ip)
return jsonify({
'success': True,
@ -342,7 +347,8 @@ def get_all_status():
for printer in printers_with_tapo:
try:
tapo_logger.debug(f"Prüfe Status für {printer.plug_ip} ({printer.name})")
reachable, status = tapo_controller.check_outlet_status(
controller = get_tapo_controller()
reachable, status = controller.check_outlet_status(
printer.plug_ip,
printer_id=printer.id
)
@ -431,7 +437,8 @@ def manual_control():
if action == 'status':
# Status abfragen
reachable, status = tapo_controller.check_outlet_status(ip)
controller = get_tapo_controller()
reachable, status = controller.check_outlet_status(ip)
if reachable:
flash(f'Steckdose {ip} ist {status.upper()}', 'success')
else:
@ -439,7 +446,8 @@ def manual_control():
else:
# Ein/Ausschalten
state = action == 'on'
success = tapo_controller.toggle_plug(ip, state)
controller = get_tapo_controller()
success = controller.toggle_plug(ip, state)
if success:
action_text = "eingeschaltet" if state else "ausgeschaltet"
@ -482,7 +490,8 @@ def control_outlet_form():
# Steckdose schalten
state = action == 'on'
success = tapo_controller.toggle_plug(ip, state)
controller = get_tapo_controller()
success = controller.toggle_plug(ip, state)
if success:
action_text = "eingeschaltet" if state else "ausgeschaltet"
@ -520,7 +529,8 @@ def test_connection_form():
return redirect(url_for('tapo.tapo_dashboard'))
# Verbindung testen
test_result = tapo_controller.test_connection(ip)
controller = get_tapo_controller()
test_result = controller.test_connection(ip)
if test_result.get('success', False):
flash(f'✅ Verbindung zu {ip} erfolgreich!', 'success')

Binary file not shown.

View File

@ -50469,3 +50469,143 @@ jinja2.exceptions.TemplateNotFound: energy_dashboard.html
2025-06-19 22:26:55 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:27:21 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:27:21 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-19 22:32:09 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:32:29 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:32:51 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:33:10 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-19 22:33:11 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-19 22:33:35 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-19 22:33:36 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-19 22:33:36 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-19 22:33:36 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-19 22:33:36 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
2025-06-19 22:33:36 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:33:37 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-19 22:33:37 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-19 22:33:37 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-19 22:33:37 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-19 22:33:37 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-19 22:33:38 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-19 22:33:38 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown'
2025-06-19 22:33:49 - [app] app - [INFO] INFO - Locating template 'login.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html')
2025-06-19 22:33:49 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html')
2025-06-19 22:33:49 - [app] app - [DEBUG] DEBUG - Response: 200

View File

@ -809,3 +809,15 @@
2025-06-19 22:10:29 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:26:56 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-19 22:26:56 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:32:29 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-19 22:32:29 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:32:51 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-19 22:32:51 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:11 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-19 22:33:11 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:35 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-19 22:33:35 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:37 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-19 22:33:37 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:37 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-19 22:33:37 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)

View File

@ -0,0 +1,3 @@
2025-06-19 22:33:36 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-19 22:33:37 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen
2025-06-19 22:33:37 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen

View File

@ -690,3 +690,7 @@
2025-06-19 22:08:33 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-19 22:09:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-19 22:10:30 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-19 22:33:11 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-19 22:33:36 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-19 22:33:37 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
2025-06-19 22:33:37 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert

View File

@ -3306,3 +3306,10 @@
2025-06-19 22:26:56 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:27:21 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:27:21 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE
2025-06-19 22:32:09 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:32:29 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:32:51 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:33:11 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:33:35 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:33:37 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen
2025-06-19 22:33:37 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen

View File

@ -1568,3 +1568,21 @@
2025-06-19 22:26:33 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:26:56 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:26:56 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:32:09 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:32:09 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:32:29 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:32:29 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:32:51 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:32:51 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:33:11 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:33:11 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:33:35 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:33:35 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:33:36 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-19 22:33:37 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:33:37 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:33:37 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-19 22:33:37 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-19 22:33:38 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-19 22:33:38 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
2025-06-19 22:33:38 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)

View File

@ -805,3 +805,11 @@
2025-06-19 22:09:27 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:10:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-19 22:10:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:11 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-19 22:33:11 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:36 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-19 22:33:36 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:37 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-19 22:33:37 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:37 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
2025-06-19 22:33:37 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)

View File

@ -403,3 +403,6 @@ WHERE users.role = ?]
2025-06-19 22:08:33 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:09:27 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:10:30 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:33:36 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:33:37 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-19 22:33:38 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert

View File

@ -2399,3 +2399,16 @@
2025-06-19 22:25:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:26:33 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:26:56 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:32:09 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:32:29 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:32:51 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:33:11 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:33:35 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:33:36 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-19 22:33:36 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-19 22:33:37 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:33:37 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-19 22:33:38 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-19 22:33:38 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-19 22:33:38 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-19 22:33:38 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet

View File

@ -1213,3 +1213,18 @@
2025-06-19 22:26:33 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:26:56 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-19 22:26:56 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:32:29 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-19 22:32:29 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:32:51 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-19 22:32:51 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:11 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-19 22:33:11 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:35 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-19 22:33:35 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:36 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
2025-06-19 22:33:37 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-19 22:33:37 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:37 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-19 22:33:37 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-19 22:33:37 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
2025-06-19 22:33:37 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert

View File

@ -3233,3 +3233,31 @@
2025-06-19 22:10:30 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
2025-06-19 22:10:30 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-19T22:10:30.365260
2025-06-19 22:10:30 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:11 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:11 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-19 22:33:11 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
2025-06-19 22:33:11 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
2025-06-19 22:33:11 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
2025-06-19 22:33:11 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-19T22:33:11.712253
2025-06-19 22:33:11 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:36 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:36 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-19 22:33:36 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
2025-06-19 22:33:36 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
2025-06-19 22:33:36 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
2025-06-19 22:33:36 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-19T22:33:36.031603
2025-06-19 22:33:36 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-19T22:33:37.665748
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - ==================================================
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-19T22:33:37.933650
2025-06-19 22:33:37 - [startup] startup - [INFO] INFO - ==================================================

View File

@ -1023,3 +1023,17 @@
2025-06-19 22:26:55 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:27:21 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:27:21 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:32:09 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:32:09 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:32:29 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:32:29 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:32:51 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:32:51 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:33:10 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:33:10 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:33:35 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:33:35 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:33:36 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:33:36 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-19 22:33:37 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-19 22:33:37 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)

View File

@ -367,12 +367,13 @@ class JobScheduler:
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
# Smart-Plug einschalten
if printer and printer.tapo_ip:
plug_success = tapo_controller.turn_on_plug(printer.tapo_ip)
if plug_success:
if printer and printer.plug_ip:
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_einschalten(printer.id, "Job-Start über Queue-System")
if ergebnis['success']:
job_logger.info(f"Smart-Plug für Drucker {printer.name} eingeschaltet")
else:
job_logger.warning(f"Smart-Plug für Drucker {printer.name} konnte nicht eingeschaltet werden")
job_logger.warning(f"Smart-Plug für Drucker {printer.name} konnte nicht eingeschaltet werden: {ergebnis.get('error', 'Unbekannter Fehler')}")
# Job-Status aktualisieren
job.status = 'printing'
@ -411,10 +412,11 @@ class JobScheduler:
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
# Smart-Plug ausschalten
if printer and printer.tapo_ip:
plug_success = tapo_controller.turn_off_plug(printer.tapo_ip)
if plug_success:
# Smart-Plug ausschalten über neue Hardware-Integration
if printer and printer.plug_ip:
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_ausschalten(printer.id, "Job-Ende über Queue-System")
if ergebnis['success']:
job_logger.info(f"Smart-Plug für Drucker {printer.name} ausgeschaltet")
# Job-Status aktualisieren

View File

@ -642,8 +642,11 @@ class BackgroundTaskScheduler:
try:
self.logger.info(f"Starte geplanten Job {job.id} für Drucker {job.printer_id}")
# Steckdose einschalten
success, msg = printer_monitor.control_plug(job.printer_id, "on")
# Steckdose einschalten über neue Hardware-Integration
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_einschalten(job.printer_id, "Geplanter Job-Start")
success = ergebnis['success']
msg = ergebnis.get('message', ergebnis.get('error', 'Unbekannter Fehler'))
if success:
job.status = "running"
@ -670,8 +673,11 @@ class BackgroundTaskScheduler:
try:
self.logger.info(f"Beende Job {job.id} für Drucker {job.printer_id}")
# Steckdose ausschalten
success, msg = printer_monitor.control_plug(job.printer_id, "off")
# Steckdose ausschalten über neue Hardware-Integration
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_ausschalten(job.printer_id, "Geplanter Job-Ende")
success = ergebnis['success']
msg = ergebnis.get('message', ergebnis.get('error', 'Unbekannter Fehler'))
if success:
job.status = "finished"