🎉 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:
Binary file not shown.
BIN
backend/blueprints/__pycache__/drucker_steuerung.cpython-311.pyc
Normal file
BIN
backend/blueprints/__pycache__/drucker_steuerung.cpython-311.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2620,7 +2620,8 @@ def tapo_monitoring():
|
|||||||
|
|
||||||
# Aktueller Status aller Tapo-Steckdosen abrufen
|
# Aktueller Status aller Tapo-Steckdosen abrufen
|
||||||
try:
|
try:
|
||||||
from utils.hardware_integration import tapo_controller
|
from utils.hardware_integration import get_tapo_controller
|
||||||
|
tapo_controller = get_tapo_controller()
|
||||||
tapo_available = True
|
tapo_available = True
|
||||||
|
|
||||||
# Status für jeden Drucker mit Tapo-Steckdose abrufen
|
# Status für jeden Drucker mit Tapo-Steckdose abrufen
|
||||||
@ -2749,7 +2750,8 @@ def api_admin_bulk_tapo_control():
|
|||||||
|
|
||||||
# Tapo-Controller laden
|
# Tapo-Controller laden
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
return jsonify({
|
return jsonify({
|
||||||
'success': False,
|
'success': False,
|
||||||
@ -2870,7 +2872,8 @@ def api_admin_tapo_health_check():
|
|||||||
try:
|
try:
|
||||||
# Tapo-Controller laden
|
# Tapo-Controller laden
|
||||||
try:
|
try:
|
||||||
from utils.hardware_integration import tapo_controller
|
from utils.hardware_integration import get_tapo_controller
|
||||||
|
tapo_controller = get_tapo_controller()
|
||||||
tapo_available = True
|
tapo_available = True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return jsonify({
|
return jsonify({
|
||||||
@ -3060,7 +3063,8 @@ def api_admin_configure_printer_tapo():
|
|||||||
test_result = None
|
test_result = None
|
||||||
if test_connection and printer.plug_ip:
|
if test_connection and printer.plug_ip:
|
||||||
try:
|
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(
|
test_result = tapo_controller.test_connection(
|
||||||
printer.plug_ip,
|
printer.plug_ip,
|
||||||
username=printer.plug_username,
|
username=printer.plug_username,
|
||||||
|
@ -131,7 +131,7 @@ def drucker_details(drucker_id):
|
|||||||
|
|
||||||
@drucker_blueprint.route("/einschalten/<int:drucker_id>", methods=["POST"])
|
@drucker_blueprint.route("/einschalten/<int:drucker_id>", methods=["POST"])
|
||||||
@login_required
|
@login_required
|
||||||
@require_permission(Permission.CAN_CONTROL_PRINTERS)
|
@require_permission(Permission.CONTROL_PRINTER)
|
||||||
def drucker_einschalten(drucker_id):
|
def drucker_einschalten(drucker_id):
|
||||||
"""
|
"""
|
||||||
Schaltet einen Drucker über seine Tapo-Steckdose EIN.
|
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"])
|
@drucker_blueprint.route("/ausschalten/<int:drucker_id>", methods=["POST"])
|
||||||
@login_required
|
@login_required
|
||||||
@require_permission(Permission.CAN_CONTROL_PRINTERS)
|
@require_permission(Permission.CONTROL_PRINTER)
|
||||||
def drucker_ausschalten(drucker_id):
|
def drucker_ausschalten(drucker_id):
|
||||||
"""
|
"""
|
||||||
Schaltet einen Drucker über seine Tapo-Steckdose AUS.
|
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"])
|
@drucker_blueprint.route("/toggle/<int:drucker_id>", methods=["POST"])
|
||||||
@login_required
|
@login_required
|
||||||
@require_permission(Permission.CAN_CONTROL_PRINTERS)
|
@require_permission(Permission.CONTROL_PRINTER)
|
||||||
def drucker_toggle(drucker_id):
|
def drucker_toggle(drucker_id):
|
||||||
"""
|
"""
|
||||||
Wechselt den Status eines Druckers (Ein <-> Aus).
|
Wechselt den Status eines Druckers (Ein <-> Aus).
|
||||||
|
@ -182,10 +182,12 @@ def get_live_printer_status():
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
# Live-Status über den PrinterMonitor abrufen
|
# 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
|
# Zusammenfassung der Druckerstatus erstellen
|
||||||
summary = printer_monitor.get_printer_summary()
|
monitor = get_printer_monitor()
|
||||||
|
summary = monitor.get_printer_summary()
|
||||||
|
|
||||||
# Antwort mit Status und Zusammenfassung
|
# Antwort mit Status und Zusammenfassung
|
||||||
response = {
|
response = {
|
||||||
@ -448,7 +450,8 @@ def control_printer_power(printer_id):
|
|||||||
db_session.commit()
|
db_session.commit()
|
||||||
|
|
||||||
# Cache leeren, damit neue Status-Abfragen aktuell sind
|
# 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}")
|
printers_logger.info(f"✅ {action.upper()}: Drucker {printer.name} erfolgreich {message}")
|
||||||
|
|
||||||
@ -494,10 +497,10 @@ def force_refresh_all_printer_status():
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
# Hardware Integration Monitor für Force-Refresh verwenden
|
# Hardware Integration Monitor für Force-Refresh verwenden
|
||||||
from utils.hardware_integration import printer_monitor
|
|
||||||
|
|
||||||
# Force-Network-Refresh durchführen
|
# 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):
|
if refresh_results.get("success", False):
|
||||||
printers_logger.info(f"✅ Force-Refresh erfolgreich: {refresh_results.get('printers_refreshed', 0)} Drucker aktualisiert")
|
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()
|
db_session.commit()
|
||||||
|
|
||||||
# Cache leeren, damit neue Status-Abfragen aktuell sind
|
# 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
|
# Test-Eintrag für Audit-Log
|
||||||
printers_logger.info(f"🧪 TEST DURCHGEFÜHRT: {action.upper()} für {printer.name} | "
|
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
|
# Tapo-Controller laden
|
||||||
try:
|
try:
|
||||||
from utils.hardware_integration import tapo_controller
|
from utils.hardware_integration import get_tapo_controller
|
||||||
|
tapo_controller = get_tapo_controller()
|
||||||
tapo_available = True
|
tapo_available = True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
db_session.close()
|
db_session.close()
|
||||||
@ -1512,7 +1517,8 @@ def tapo_configuration_wizard():
|
|||||||
|
|
||||||
# Tapo-Controller laden
|
# Tapo-Controller laden
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
return jsonify({
|
return jsonify({
|
||||||
"success": False,
|
"success": False,
|
||||||
@ -1700,7 +1706,8 @@ def validate_tapo_configuration(printer_id):
|
|||||||
|
|
||||||
# Tapo-Controller laden
|
# Tapo-Controller laden
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
db_session.close()
|
db_session.close()
|
||||||
return jsonify({
|
return jsonify({
|
||||||
|
@ -74,7 +74,8 @@ def tapo_dashboard():
|
|||||||
|
|
||||||
# Status der Steckdose prüfen
|
# Status der Steckdose prüfen
|
||||||
try:
|
try:
|
||||||
reachable, status = tapo_controller.check_outlet_status(
|
controller = get_tapo_controller()
|
||||||
|
reachable, status = controller.check_outlet_status(
|
||||||
tapo_ip,
|
tapo_ip,
|
||||||
printer_id=printer_id
|
printer_id=printer_id
|
||||||
)
|
)
|
||||||
@ -195,7 +196,8 @@ def control_outlet():
|
|||||||
|
|
||||||
# Steckdose schalten
|
# Steckdose schalten
|
||||||
state = action == 'on'
|
state = action == 'on'
|
||||||
success = tapo_controller.toggle_plug(ip, state)
|
controller = get_tapo_controller()
|
||||||
|
success = controller.toggle_plug(ip, state)
|
||||||
|
|
||||||
if success:
|
if success:
|
||||||
action_text = "eingeschaltet" if state else "ausgeschaltet"
|
action_text = "eingeschaltet" if state else "ausgeschaltet"
|
||||||
@ -241,7 +243,8 @@ def get_outlet_status(ip):
|
|||||||
}), 400
|
}), 400
|
||||||
|
|
||||||
# Status prüfen
|
# Status prüfen
|
||||||
reachable, status = tapo_controller.check_outlet_status(ip)
|
controller = get_tapo_controller()
|
||||||
|
reachable, status = controller.check_outlet_status(ip)
|
||||||
|
|
||||||
return jsonify({
|
return jsonify({
|
||||||
'success': True,
|
'success': True,
|
||||||
@ -267,7 +270,8 @@ def discover_outlets():
|
|||||||
tapo_logger.info(f"🔍 Starte Tapo-Steckdosen-Erkennung auf Anfrage von {current_user.name}")
|
tapo_logger.info(f"🔍 Starte Tapo-Steckdosen-Erkennung auf Anfrage von {current_user.name}")
|
||||||
|
|
||||||
# Discovery starten
|
# 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)
|
success_count = sum(1 for success in results.values() if success)
|
||||||
total_count = len(results)
|
total_count = len(results)
|
||||||
@ -304,7 +308,8 @@ def test_connection(ip):
|
|||||||
}), 400
|
}), 400
|
||||||
|
|
||||||
# Verbindung testen
|
# Verbindung testen
|
||||||
test_result = tapo_controller.test_connection(ip)
|
controller = get_tapo_controller()
|
||||||
|
test_result = controller.test_connection(ip)
|
||||||
|
|
||||||
return jsonify({
|
return jsonify({
|
||||||
'success': True,
|
'success': True,
|
||||||
@ -342,7 +347,8 @@ def get_all_status():
|
|||||||
for printer in printers_with_tapo:
|
for printer in printers_with_tapo:
|
||||||
try:
|
try:
|
||||||
tapo_logger.debug(f"Prüfe Status für {printer.plug_ip} ({printer.name})")
|
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.plug_ip,
|
||||||
printer_id=printer.id
|
printer_id=printer.id
|
||||||
)
|
)
|
||||||
@ -431,7 +437,8 @@ def manual_control():
|
|||||||
|
|
||||||
if action == 'status':
|
if action == 'status':
|
||||||
# Status abfragen
|
# Status abfragen
|
||||||
reachable, status = tapo_controller.check_outlet_status(ip)
|
controller = get_tapo_controller()
|
||||||
|
reachable, status = controller.check_outlet_status(ip)
|
||||||
if reachable:
|
if reachable:
|
||||||
flash(f'Steckdose {ip} ist {status.upper()}', 'success')
|
flash(f'Steckdose {ip} ist {status.upper()}', 'success')
|
||||||
else:
|
else:
|
||||||
@ -439,7 +446,8 @@ def manual_control():
|
|||||||
else:
|
else:
|
||||||
# Ein/Ausschalten
|
# Ein/Ausschalten
|
||||||
state = action == 'on'
|
state = action == 'on'
|
||||||
success = tapo_controller.toggle_plug(ip, state)
|
controller = get_tapo_controller()
|
||||||
|
success = controller.toggle_plug(ip, state)
|
||||||
|
|
||||||
if success:
|
if success:
|
||||||
action_text = "eingeschaltet" if state else "ausgeschaltet"
|
action_text = "eingeschaltet" if state else "ausgeschaltet"
|
||||||
@ -482,7 +490,8 @@ def control_outlet_form():
|
|||||||
|
|
||||||
# Steckdose schalten
|
# Steckdose schalten
|
||||||
state = action == 'on'
|
state = action == 'on'
|
||||||
success = tapo_controller.toggle_plug(ip, state)
|
controller = get_tapo_controller()
|
||||||
|
success = controller.toggle_plug(ip, state)
|
||||||
|
|
||||||
if success:
|
if success:
|
||||||
action_text = "eingeschaltet" if state else "ausgeschaltet"
|
action_text = "eingeschaltet" if state else "ausgeschaltet"
|
||||||
@ -520,7 +529,8 @@ def test_connection_form():
|
|||||||
return redirect(url_for('tapo.tapo_dashboard'))
|
return redirect(url_for('tapo.tapo_dashboard'))
|
||||||
|
|
||||||
# Verbindung testen
|
# 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):
|
if test_result.get('success', False):
|
||||||
flash(f'✅ Verbindung zu {ip} erfolgreich!', 'success')
|
flash(f'✅ Verbindung zu {ip} erfolgreich!', 'success')
|
||||||
|
Binary file not shown.
@ -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: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 - 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: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
|
||||||
|
@ -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: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 - ✅ 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: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)
|
||||||
|
3
backend/logs/drucker_steuerung/drucker_steuerung.log
Normal file
3
backend/logs/drucker_steuerung/drucker_steuerung.log
Normal 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
|
@ -690,3 +690,7 @@
|
|||||||
2025-06-19 22:08:33 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
|
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: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: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
|
||||||
|
@ -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: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 - 🚀 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: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
|
||||||
|
@ -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: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 - ✅ 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: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)
|
||||||
|
@ -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: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 - ✅ 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: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)
|
||||||
|
@ -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: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: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: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
|
||||||
|
@ -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: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: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: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
|
||||||
|
@ -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: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 - ✅ 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: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
|
||||||
|
@ -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 - 📁 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 - ⏰ Startzeit: 2025-06-19T22:10:30.365260
|
||||||
2025-06-19 22:10:30 - [startup] startup - [INFO] INFO - ==================================================
|
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 - ==================================================
|
||||||
|
@ -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: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 - ✅ 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: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)
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -367,12 +367,13 @@ class JobScheduler:
|
|||||||
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
|
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
|
||||||
|
|
||||||
# Smart-Plug einschalten
|
# Smart-Plug einschalten
|
||||||
if printer and printer.tapo_ip:
|
if printer and printer.plug_ip:
|
||||||
plug_success = tapo_controller.turn_on_plug(printer.tapo_ip)
|
drucker_steuerung = get_drucker_steuerung()
|
||||||
if plug_success:
|
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")
|
job_logger.info(f"Smart-Plug für Drucker {printer.name} eingeschaltet")
|
||||||
else:
|
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 aktualisieren
|
||||||
job.status = 'printing'
|
job.status = 'printing'
|
||||||
@ -411,10 +412,11 @@ class JobScheduler:
|
|||||||
|
|
||||||
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
|
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
|
||||||
|
|
||||||
# Smart-Plug ausschalten
|
# Smart-Plug ausschalten über neue Hardware-Integration
|
||||||
if printer and printer.tapo_ip:
|
if printer and printer.plug_ip:
|
||||||
plug_success = tapo_controller.turn_off_plug(printer.tapo_ip)
|
drucker_steuerung = get_drucker_steuerung()
|
||||||
if plug_success:
|
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_logger.info(f"Smart-Plug für Drucker {printer.name} ausgeschaltet")
|
||||||
|
|
||||||
# Job-Status aktualisieren
|
# Job-Status aktualisieren
|
||||||
|
@ -642,8 +642,11 @@ class BackgroundTaskScheduler:
|
|||||||
try:
|
try:
|
||||||
self.logger.info(f"Starte geplanten Job {job.id} für Drucker {job.printer_id}")
|
self.logger.info(f"Starte geplanten Job {job.id} für Drucker {job.printer_id}")
|
||||||
|
|
||||||
# Steckdose einschalten
|
# Steckdose einschalten über neue Hardware-Integration
|
||||||
success, msg = printer_monitor.control_plug(job.printer_id, "on")
|
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:
|
if success:
|
||||||
job.status = "running"
|
job.status = "running"
|
||||||
@ -670,8 +673,11 @@ class BackgroundTaskScheduler:
|
|||||||
try:
|
try:
|
||||||
self.logger.info(f"Beende Job {job.id} für Drucker {job.printer_id}")
|
self.logger.info(f"Beende Job {job.id} für Drucker {job.printer_id}")
|
||||||
|
|
||||||
# Steckdose ausschalten
|
# Steckdose ausschalten über neue Hardware-Integration
|
||||||
success, msg = printer_monitor.control_plug(job.printer_id, "off")
|
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:
|
if success:
|
||||||
job.status = "finished"
|
job.status = "finished"
|
||||||
|
Reference in New Issue
Block a user