Zum Inhalt springen

Energieflexibilitäts-Dashboard

Ein interaktives Webtool, mit dem Unternehmen aus ihrem Lastgang ablesen können, wie viel Energiekosten sich durch das Verschieben flexibler Produktionsblöcke sparen lassen. Auftraggeberin war Fraunhofer, das Projekt entstand in Zusammenarbeit mit ihnen. Unten: eine eigene, vereinfachte Nachbildung des Prinzips mit erfundenen Daten.

Auftraggeberin war Fraunhofer; das Projekt entstand in Zusammenarbeit mit ihnen. Optimierungsmodell und fachliche Inhalte stammen von Fraunhofer, die Rechte daran liegen dort. Quellcode und Originaldaten sind vertraulich und nicht öffentlich; die Demo hier verwendet erfundene Daten.

Datenblatt

SachnummerJS-2026-05
ZeitraumWintersemester 2025/26 (Abgabe 12/2025)
RolleEinzelarbeit: Softwarearchitektur und Benutzeroberfläche
WerkzeugePython · Streamlit · pandas · NumPy · Plotly · TypeScript · SVG
KernergebnisInteraktive Simulation von Verschiebepotenzialen über ein ganzes Jahr (über 35.000 Viertelstundenwerte je Zeitreihe)
StatusAbgeschlossen (Seminararbeit Logistikmanagement)
Eigentümer
geschwärzt
Sachnummer
JS-2026-05
Titel
Energieflexibilitäts-Dashboard
Dokumentart
Versuchsprotokoll
Ausgabedatum
13.10.2026
Erstellt von
geschwärzt
Rev. · Blatt
F · 6/7
Sprache
DEEN
ISO 5456-2

1Ergebnis

Zone B
Beispieldaten: Strompreise und Lastblöcke sind frei erfunden und entsprechen nicht realen Messdaten. Sie dienen nur zur Visualisierung. Das Rechenprinzip (günstigstes zusammenhängendes Zeitfenster finden) ist hier eigenständig und vereinfacht nachgebaut, es ist nicht das Optimierungsmodell des Projekts.
Verschiebehorizont
Dauer der Blöcke
Leistung
Kosten ohne Optimierung
23 453 €
Kosten mit Optimierung
19 490 €
Einsparung (Jahr)
3 963 €
Einsparung relativ
16,9 %

Jahresübersicht: Kosten je Monat

Kosten nach Optimierung Einsparung (darauf gestapelt: Gesamthöhe = Kosten ohne Optimierung)

01 0002 0003 000Jän: 2 408 € → 2 210 € (−198 €)JänFeb: 2 364 € → 2 175 € (−189 €)FebMär: 2 114 € → 1 870 € (−244 €)MärApr: 1 945 € → 1 615 € (−330 €)AprMai: 1 763 € → 1 358 € (−406 €)MaiJun: 1 656 € → 1 216 € (−440 €)JunJul: 1 615 € → 1 112 € (−503 €)JulAug: 1 493 € → 1 057 € (−436 €)AugSep: 1 857 € → 1 451 € (−406 €)SepOkt: 2 012 € → 1 658 € (−354 €)OktNov: 1 928 € → 1 688 € (−240 €)NovDez: 2 298 € → 2 080 € (−218 €)Dez€

Tagesansicht: Donnerstag, 31. Juli

81,70 € → 57,68 € · Einsparung 24,02 €

4075110€/MWh00:0006:0012:0018:0024:00120 kW200 kW80 kWbleibt an der ursprünglichen Stelle150 kW

Gestrichelt: ursprüngliche Lage. Rot: nach der Optimierung. Der Verlauf oben ist der Strompreis dieses Tages.

2Problem und Motivation

Zone C

Energiepreise sind durch den Ausbau von Wind und Sonne von einer stabilen Planungsgröße zu einem schwankenden Risiko geworden; Einspeisung und Preise ändern sich innerhalb von Stunden. Energieflexibilität heißt, den Verbrauch an das Angebot anzupassen, ohne die Produktionsziele zu gefährden. Gerade kleine und mittlere Unternehmen haben zwar Lastgangdaten, aber keine Werkzeuge, um sie systematisch auszuwerten: Vorhandene Lösungen sind meist zu kompliziert oder zu theoretisch für den Alltag. Das Dashboard soll diese Lücke schließen.

3Aufbau

Zone D
  1. 01Anforderungen: Kick-off, Interaktivität, Performance
  2. 02Frameworkwahl: React, Plotly Dash, Streamlit
  3. 03Architektur: Model, View, Controller
  4. 04Oberfläche: Info, Best Practice, Tools, Kontakt
  5. 05Performance: Caching und Vektorisierung

Zu Beginn stand ein Kick-off-Gespräch, das die Anforderungen festlegte: Nutzer sollen Parameter wie Verschiebedauer oder Preisannahmen ändern und sofort aktualisierte Ergebnisse sehen; die Software soll sauber aufgebaut, schnell und einfach zu bedienen sein; und die Simulation läuft über ein ganzes Jahr in Viertelstundenwerten (4 × 24 × 365 = 35.040 Punkte pro Zeitreihe). Verglichen wurden drei Ansätze: React mit Node.js (maximale Gestaltungsfreiheit, aber hoher Entwicklungs- und Wartungsaufwand), Plotly Dash (auf Visualisierung ausgelegt, bei Seiten mit viel Text und Bildern langsamer und weniger flexibel) und Streamlit. Gewählt wurde Streamlit: nahtlose Anbindung an pandas, die ganze Entwicklung in Python, schnelles iteratives Arbeiten und gut dokumentiert. Das Optimierungsmodell und die fachlichen Inhalte stellte Fraunhofer; mein Schwerpunkt war die Softwarearchitektur und die nutzerzentrierte Oberfläche.

4Prüfung

Zone E

Funktionsprüfung bedeutete hier vor allem Performance: Nutzer sollen nach einer Parameteränderung nicht warten. Zwei Mechanismen sorgen dafür. Ein Adapter zwischen Oberfläche und Rechenkern legt Ergebnisse und Eingangsdaten im Arbeitsspeicher ab (Caching), und der Sitzungszustand merkt sich Ergebnisse und die aktive Seite über Seitenwechsel hinweg. Beim Start lädt ein Ladebalken die großen Datensätze schon im Hintergrund, sodass die Seiten danach ohne Verzögerung öffnen.

Fehlversuch

Der erste Ansatz berechnete die Verschiebung in Schleifen, Block für Block, und war über ein ganzes Jahr viel zu langsam. Die Lösung war die Vektorisierung mit pandas: große Datenblöcke werden gleichzeitig verarbeitet, statt jeden Datensatz einzeln. Außerdem wurden physikalische und wirtschaftliche Randbedingungen direkt in die Datenvorverarbeitung gelegt, etwa das Ausfiltern von Tagen ohne Produktion oder mit zu geringer Grundlast; die Tagesansicht weist darauf hin.

5Erkenntnis und nächste Iteration

Zone F
  • Trennung der Zuständigkeiten (Model-View-Controller): Der Rechenkern kennt die Oberfläche nicht, jede Seite ist eine eigene Datei, und ein Adapter vermittelt dazwischen. Das hält den Code übersichtlich und die Teile unabhängig.
  • Progressive Enthüllung: Zuerst die aggregierte Jahresübersicht, Details bei Bedarf über Expander und Popover. So wird der Nutzer nicht von einer Textwand erschlagen.
  • Ehrliche Diagramme: Statt Einsparungen künstlich zu skalieren, steht die Einsparung als gestapelter Balken auf den optimierten Kosten, die Gesamthöhe entspricht den ursprünglichen Kosten. So bleiben auch kleine Einsparungen sichtbar, ohne die Verhältnisse zu verzerren. Die Tagesansicht öffnet direkt mit dem Tag der größten Einsparung.

Nächste Iteration

Das Dashboard ist als erweiterbare Plattform angelegt; weitere Flexibilitätsmaßnahmen und Szenarien lassen sich als zusätzliche Module im Rechenkern ergänzen, ohne die Oberfläche umzubauen.

Technische Details: Projektstruktur und Datenfluss

app.py ist der bewusst minimale Einstiegspunkt: Er baut die Navigation (Seitenleiste) auf und lädt die passende Seite, ohne Berechnungslogik. Eine Sitzungsvariable merkt sich die aktive Seite, weil Streamlit bei jeder Interaktion das Skript neu ausführt.

Die Oberfläche besteht aus vier Seiten: Info und Best Practice (statische Inhalte mit Aufruf-zur-Aktion-Schaltflächen), Tools (Simulation mit Jahres- und Tagesansicht) und Kontakt (Formular, technisch vom Rest getrennt). Die Tools-Seite greift nie direkt auf Dateien oder den Rechenkern zu, sondern fragt den Adapter.

Der Adapter kapselt Aufrufe in Caching-Funktionen. Dahinter liegt die Rechenlogik: ein Daten-Lader (Dateien einlesen, Typen umwandeln) und der Optimierer als reine Python-Klasse ohne Streamlit-Code. Passwörter für den Mailversand liegen in einer geschützten Konfigurationsdatei und nicht im Code.