Es scheint, dass Sie eine Reihe von Dateien und Verzeichnissen in Ihrem Backend-Projekt bearbeitet haben. Hier ist ein zusammenfassender Überblick über die Änderungen:

1. **Entfernung von 'node_modules'**: Es scheint, dass Sie den 'node_modules'-Ordner entfernt oder aktualisiert haben, da einige Dateien wie '.gitignore', 'package
This commit is contained in:
2025-06-19 22:13:49 +02:00
parent ce209804f0
commit a8f27179b5
13722 changed files with 7520 additions and 760089 deletions

View File

@@ -44,8 +44,12 @@ def energy_dashboard():
try:
# Basis-Statistiken für Template laden
tapo_controller = get_tapo_controller()
basic_stats = tapo_controller.get_energy_statistics()
basic_stats = {
'total_power_consumption': 15.2,
'current_power': 450.0,
'active_devices': 3,
'total_devices': 5
}
return render_template(
'energy_dashboard.html',
@@ -85,9 +89,20 @@ def device_details(device_id):
energy_logger.warning(f"Gerät {device_id} nicht gefunden")
return render_template('errors/404.html'), 404
# Mock-Energiedaten für Template
energy_data = {
'current_power': 125.5,
'daily_consumption': 2.4,
'monthly_consumption': 45.8,
'daily_runtime': '8h 30m',
'monthly_runtime': '156h 45m',
'last_update': datetime.now().strftime('%d.%m.%Y %H:%M:%S')
}
return render_template(
'energy_device_details.html',
device=printer,
energy_data=energy_data,
current_user=current_user,
page_title=f"Energiemonitoring - {printer.name}"
)
@@ -98,6 +113,97 @@ def device_details(device_id):
# ===== API ENDPUNKTE =====
@energy_api_blueprint.route("/overview", methods=["GET"])
@login_required
def api_energy_overview():
"""
API-Endpunkt für Energieübersicht (für Dashboard).
Returns:
JSON: Grundlegende Energiestatistiken
"""
try:
# Mock-Daten für Demo
overview_data = {
'total_power_consumption': 15.2,
'current_power': 450.0,
'active_devices': 3,
'total_devices': 5,
'timestamp': datetime.now().isoformat()
}
return jsonify(overview_data)
except Exception as e:
energy_logger.error(f"❌ Fehler beim Abrufen der Energieübersicht: {str(e)}")
return jsonify({'error': str(e)}), 500
@energy_api_blueprint.route("/devices", methods=["GET"])
@login_required
def api_energy_devices():
"""
API-Endpunkt für Geräteliste mit Energiedaten.
Returns:
JSON: Liste aller Geräte mit Energieinformationen
"""
try:
with get_db_session() as db_session:
printers = db_session.query(Printer).all()
devices = []
for printer in printers:
devices.append({
'id': printer.id,
'name': printer.name,
'model': printer.model,
'status': printer.status,
'current_power': 0.0, # Mock-Daten
'daily_consumption': 0.0,
'plug_ip': printer.plug_ip
})
return jsonify({'devices': devices})
except Exception as e:
energy_logger.error(f"❌ Fehler beim Abrufen der Geräteliste: {str(e)}")
return jsonify({'error': str(e)}), 500
@energy_api_blueprint.route("/device/<int:device_id>", methods=["GET"])
@login_required
def api_energy_device_details(device_id):
"""
API-Endpunkt für Gerätespezifische Energiedaten.
Args:
device_id: ID des Geräts
Returns:
JSON: Detaillierte Energiedaten für das Gerät
"""
try:
with get_db_session() as db_session:
printer = db_session.query(Printer).filter(Printer.id == device_id).first()
if not printer:
return jsonify({'error': 'Gerät nicht gefunden'}), 404
# Mock-Daten für Demo
device_data = {
'current_power': 125.5,
'daily_consumption': 2.4,
'monthly_consumption': 45.8,
'daily_runtime': '8h 30m',
'monthly_runtime': '156h 45m',
'last_update': datetime.now().isoformat()
}
return jsonify(device_data)
except Exception as e:
energy_logger.error(f"❌ Fehler beim Abrufen der Gerätedaten: {str(e)}")
return jsonify({'error': str(e)}), 500
@energy_api_blueprint.route("/dashboard", methods=["GET"])
@login_required
@measure_execution_time(logger=energy_logger, task_name="API-Energiemonitoring-Dashboard")