Default post hero

BambooGrid – Stromnetzsimulation im Browser

Backend
Frontend
Energy
Power systems
Simulation tool


BambooGrid application view

Kickstage entwickelt Software für den Energiesektor und Anwendungen rund um elektrische Energienetze. BambooGrid ist direkt aus dieser Arbeit entstanden – als Werkzeug, das wir selbst gerne gehabt hätten und das wir nun der Community zur Verfügung stellen.


ickstage konzipiert und entwickelt Software für die elektrische Energietechnik, Netzberechnung und kritische Energieinfrastruktur. BambooGrid zeigt, wie wir elektrotechnisches Fachwissen mit moderner Webarchitektur verbinden, um komplexe Analyseprozesse in zugängliche und produktionsreife Anwendungen zu überführen.

Die Analyse elektrischer Energiesysteme war traditionell von spezialisierter Desktop-Software, kommerziellen Lizenzen oder einer sorgfältig konfigurierten lokalen Python-Umgebung abhängig. Bevor eine neue Solaranlage, ein Batteriespeicher, eine industrielle Last, ein Kabel oder ein Transformator an ein Netz angeschlossen wird, müssen Ingenieure konkrete Fragen beantworten:

  • Bleiben die Spannungen an den Netzknoten innerhalb der zulässigen Grenzen?
  • Könnte eine Leitung oder ein Transformator überlastet werden?
  • Wie viel Leistung wird aus dem übergeordneten Netz bezogen oder in dieses zurückgespeist?

Diese Fragen werden mithilfe von Lastfluss- und Kurzschlussanalysen beantwortet. Bislang war jedoch eine aufwendige Einrichtung erforderlich, bevor die eigentliche Arbeit überhaupt beginnen konnte.

BambooGrid ist eine browserbasierte Open-Source-Anwendung zur visuellen Modellierung und Analyse elektrischer Energienetze. Die auf pandapower basierende Anwendung ermöglicht es Ingenieuren, Energieexperten, Forschern, Studierenden und Entwicklern, Netze mit mehreren Spannungsebenen über einen Drag-and-drop-Editor zu erstellen und Lastflussberechnungen oder Kurzschlussberechnungen nach IEC 60909 direkt im Browser durchzuführen.

Es sind weder eine Desktop-Installation noch eine lokale Python-Umgebung oder eine kommerzielle Softwarelizenz erforderlich.

Die Herausforderung

Die Simulation elektrischer Energiesysteme ist mit einer hohen Einstiegshürde verbunden. Nicht nur die eigentliche Ingenieursarbeit ist anspruchsvoll, sondern bereits die Einrichtung einer funktionsfähigen Arbeitsumgebung:

  • Etablierte Werkzeuge sind an Desktop-Systeme gebunden, lizenzpflichtig oder erfordern einen manuell konfigurierten Python-Stack, bevor überhaupt ein erster Netzknoten erstellt werden kann.
  • Das Teilen eines Netzes für Reviews, Lehrveranstaltungen oder die Zusammenarbeit bedeutet üblicherweise, Dateien zu versenden und darauf zu hoffen, dass der Empfänger über eine kompatible Umgebung verfügt.
  • Programmbibliotheken wie pandapower sind leistungsfähig, verfolgen jedoch einen Code-first-Ansatz und bieten keine visuelle, interaktive Möglichkeit, ein Netz aufzubauen und zu untersuchen.
  • Ergebnisse werden meist in Tabellen dargestellt, anstatt direkt im Netzdiagramm sichtbar zu sein. Das erschwert den intuitiven Zugang und verlangsamt den Lernprozess.
  • Es gibt keine leichtgewichtige Lösung, mit der ein Ingenieur ein Umspannwerkslayout entwerfen, ein Studierender seine erste Lastflussberechnung durchführen oder ein Entwickler ein Forschungsnetz untersuchen kann – alles am selben Ort und direkt im Browser.

Unser Ziel war es, ein Werkzeug zu entwickeln, das die vollständige analytische Genauigkeit von pandapower beibehält und gleichzeitig sämtliche technischen Einstiegshürden zwischen einem Ingenieur und seiner ersten Berechnung beseitigt.

Die Lösung von Kickstage: BambooGrid

Kickstage hat BambooGrid von Grund auf als browsernative Modellierungs- und Simulationsumgebung entwickelt. Ein echtes pandapower-Netzwerk bleibt dabei stets die zentrale und verbindliche Datenquelle. Dadurch gehen bei der Übertragung zwischen dem visuellen Editor und der Berechnungs-Engine keine Informationen verloren.

Die Anwendung kombiniert einen visuellen Editor mit einem autoritativen pandapower-Netzwerk im Backend. Dadurch bleibt die Benutzeroberfläche schnell, reaktionsfähig und intuitiv, während das zugrunde liegende Netzmodell weiterhin vollständig mit einer professionellen Berechnungs-Engine für elektrische Energiesysteme kompatibel ist.

BambooGrid kann Arbeitsabläufe von Energieversorgungsunternehmen, Übertragungs- und Verteilnetzbetreibern, Entwicklern erneuerbarer Energieprojekte, Ingenieurbüros, Forschungseinrichtungen, Universitäten und Energietechnologieunternehmen unterstützen.

Zu den wichtigsten Funktionen von BambooGrid gehören:

  • Visuelle Netzmodellierung per Drag-and-drop – Netze mit mehreren Spannungsebenen können auf einer Zeichenfläche aufgebaut und die einzelnen Komponenten direkt miteinander verbunden werden.
  • Umfangreiche Komponentenbibliothek – Netzknoten, externe Netze beziehungsweise Slack-Knoten, Generatoren, statische Generatoren für Photovoltaik, Windenergie und Speicher, Lasten, Shunts, SVCs, Leitungen, Knoten-Knoten-Schalter, Zwei- und Dreiwicklungstransformatoren mit Stufenschaltern sowie erweiterte XWard- und Serienimpedanz-Elemente.
  • Lastflussberechnung auf Basis des Newton-Raphson-Verfahrens von pandapower mit konfigurierbarem Algorithmus, einstellbarer Toleranz und flexibler Slack-Behandlung.
  • Kurzschlussanalyse nach IEC 60909 für maximale dreipolige Kurzschlüsse. Die Kurzschlusswerte werden für jeden Netzknoten ausgegeben, sodass Ingenieure die zu erwartenden Kurzschlussströme direkt in derselben Umgebung untersuchen können, die auch für die Netzmodellierung und Lastflussanalyse verwendet wird.
  • Direkte Darstellung der Ergebnisse im Netzdiagramm – Die Farbe eines Netzknotens zeigt die Abweichung von der Nennspannung in Grün, Gelb oder Rot an. Einspeiser zeigen die berechnete Wirk- und Blindleistung, während Transformatoren und Leitungen mit ihrem jeweiligen Auslastungsgrad dargestellt werden.
  • Import und Export im pandapower-JSON-Format einschließlich des Diagrammlayouts, sodass Netze vollständig und ohne Layoutverlust exportiert und wieder importiert werden können. Reine pandapower-Netze aus Skripten oder wissenschaftlichen Arbeiten erhalten automatisch ein Diagrammlayout.
  • Teilbare Links, über die Empfänger eine unabhängige und bearbeitbare Kopie des Netzes erhalten, während das Original unverändert bleibt.
  • Google-Anmeldung und Cloud-Speicherung für eine dauerhafte persönliche Netzbibliothek sowie vollständig funktionsfähige Gast-Sitzungen für alle, die direkt mit der Modellierung beginnen möchten.
  • Bereitstellung als einzelner Container für alle, die BambooGrid selbst betreiben möchten.


Technische Umsetzung

Die Entwicklung eines browserbasierten Simulators, der die Genauigkeit einer professionellen Berechnungs-Engine vollständig bewahrt, erforderte eine bewusst konzipierte Architektur: Der Browser dient als leistungsfähiger Editor, wird jedoch niemals zur verbindlichen Datenquelle. BambooGrid verbindet Software für die elektrische Energietechnik mit einem modernen Webanwendungs-Stack.

Unsere Architektur basiert auf mehreren zentralen Entscheidungen:

  • Serverseitiges pandapower-Netz als einzige verbindliche Datenquelle
    Jede Bearbeitungssitzung enthält im Backend ein vollständiges pandapower-Netz, das dauerhaft in PostgreSQL gespeichert wird. Der Browser erhält lediglich eine Projektion dieses Netzes und verändert das autoritative Modell über eine Abfolge von Befehlen. Elemente und Attribute, die der Editor noch nicht abbildet, bleiben auf dem Server erhalten und beeinflussen weiterhin jede Berechnung.
  • Synchronisierung über Projektionen und Befehle
    Änderungen werden in der Benutzeroberfläche zunächst optimistisch angewendet, gebündelt und mit einer kurzen Verzögerung an das Backend übertragen. Vor jeder Berechnung, jedem Export und jeder Freigabe werden jedoch immer alle ausstehenden Änderungen vollständig synchronisiert. Eine optimistische Versionierung erkennt veraltete Zustände über mehrere Pods hinweg und löst eine saubere Neusynchronisierung aus. Dadurch kann die Anwendung horizontal skaliert werden, ohne eine Sitzung zu beschädigen.
  • Eine Diagrammebene ohne Einfluss auf die physikalische Berechnung
    Das Layout und die stabilen Identitäten der Elemente werden in benutzerdefinierten Diagrammtabellen gespeichert, die direkt im pandapower-Netz enthalten sind. Die Berechnungs-Engine ignoriert diese Informationen, sie ermöglichen jedoch den Export und erneuten Import eines Netzes mit exakt demselben Canvas-Layout.
  • Sicherheitsorientierter Import
    pandapower-JSON-Dateien können grundsätzlich Strukturen enthalten, die zur Ausführung von Code missbraucht werden könnten. Deshalb wird jeder Import vor der Deserialisierung anhand einer strukturellen Positivliste geprüft. Zusätzlich begrenzen maximale Dateigrößen und eine Obergrenze für die Anzahl der Netzknoten den möglichen Speicherverbrauch.
  • Bereitstellung als einzelner Docker-Container
    Das FastAPI-Backend stellt die erstellte React-Single-Page-Application als statische Dateien bereit. Dadurch verwenden Benutzeroberfläche und API denselben Origin. Die einzige externe Abhängigkeit ist eine PostgreSQL-Datenbank zur dauerhaften Speicherung der Sitzungen.

Kerntechnologien

  • Python 3.10 oder höher und FastAPI für die API-Schicht. CPU-intensive Berechnungen werden in einem Thread-Pool hinter einer Begrenzung der gleichzeitigen Ausführungen verarbeitet, damit der Dienst auch während komplexer Berechnungen reaktionsfähig bleibt.
  • pandapower als Berechnungs-Engine für Lastfluss-, Kurzschluss- und Admittanzmatrixberechnungen.
  • PostgreSQL für die dauerhafte Speicherung von Sitzungen, Freigaben und in der Cloud gespeicherten Netzen.
  • React 18, TypeScript und Vite für das Frontend, React Flow beziehungsweise XYFlow für die interaktive Zeichenfläche und Mantine für die Benutzeroberfläche.
  • Zustand für die optimistische clientseitige Zustandsverwaltung und elkjs für die automatische Anordnung importierter Netze.
  • Google Identity Services und JWT für die optionale Anmeldung und eine persönliche Netzbibliothek.
  • Docker für die Bereitstellung als einzelner Container über einen gemeinsamen Origin.


PostgreSQL

PostgreSQL

React

React

Typescript

pandapower

PandaPower

python

Python

Fast API

React flow

Mantine

Docker

Docker


Projektverlauf und Weiterentwicklung

BambooGrid entwickelte sich innerhalb kurzer Zeit von einer internen Idee zu einer öffentlich verfügbaren Open-Source-Anwendung:

  • Das Projekt wurde zunächst als internes Werkzeug entwickelt, um die technischen Einrichtungshürden zu beseitigen, auf die wir bei unserer eigenen Arbeit im Energiesektor immer wieder gestoßen sind.
  • Es entwickelte sich zu einem vollständigen Editor für Netze mit mehreren Spannungsebenen, der in jeder Sitzung mit einem aktiven pandapower-Netzwerk im Backend verbunden ist.
  • Der Funktionsumfang wurde von der Lastflussberechnung auf Kurzschlussanalysen nach IEC 60909, Y-Bus- und Netzübersichten sowie eine umfangreiche Komponentenbibliothek erweitert. Diese umfasst unter anderem Dreiwicklungstransformatoren, SVCs und erweiterte Ersatznetzelemente.
  • Freigabefunktionen, Google-Anmeldung mit Cloud-Speicherung, einbettbare Ansichten und ein mobiloptimierter Lesezugriff wurden ergänzt.
  • BambooGrid wurde unter der MIT-Lizenz als Open-Source-Projekt veröffentlicht. Zusätzlich stehen eine gehostete Live-Demo und eine geführte Auswahl an Beispielnetzen zur Verfügung, darunter das klassische IEEE-14-Knoten-Testnetz.
  • Das Projekt wird aktiv weiterentwickelt. Der CGMES-Export ist als nächster großer Entwicklungsschritt auf der Roadmap vorgesehen.



Ergebnisse und Wirkung

BambooGrid macht die Untersuchung von Lastflüssen zu einer Aufgabe, die direkt in einem Browser-Tab durchgeführt werden kann:

  • Keine Einrichtung erforderlich – keine Desktop-Installation, keine lokale Python-Umgebung und keine Lizenz. Die Anwendung kann geöffnet und die Modellierung sofort begonnen werden.
  • Vollständige pandapower-Kompatibilität – die Genauigkeit und Funktionalität von pandapower bleibt über den gesamten Prozess erhalten. Dadurch entsprechen die Ergebnisse den Erwartungen, die Ingenieure an die zugrunde liegende Bibliothek stellen.
  • Schnelleres Verständnis – Ergebnisse werden direkt im Netzdiagramm statt ausschließlich in Tabellen dargestellt. Auswirkungen wie Rückspeisung oder Transformatorauslastung werden dadurch unmittelbar sichtbar.
  • Einfache Zusammenarbeit – Ein einziger Link stellt Kollegen oder Studierenden eine eigene bearbeitbare Kopie zur Verfügung. Dies eignet sich besonders für Reviews, Lehrveranstaltungen und Workshops.
  • Interoperabilität – Durch die native Unterstützung des pandapower-JSON-Formats können Netze aus Skripten, wissenschaftlichen Arbeiten oder anderen Werkzeugen visualisiert und berechnet werden, ohne dass sie neu gezeichnet werden müssen.
  • Offen und selbst betreibbar – BambooGrid steht unter der MIT-Lizenz und kann als einzelner Container bereitgestellt werden. Beiträge für neue Komponententypen, den CGMES-Export und Verbesserungen der Benutzeroberfläche sind ausdrücklich willkommen.


Wir haben ein echtes pandapower-Netz als zentrale und verbindliche Datenquelle auf dem Server beibehalten. Dadurch bleibt der Browser schnell, und keine für die Berechnungs-Engine relevante Information geht verloren. Genau das macht BambooGrid zuverlässig genug für reale Anwendungen in der Stromnetztechnik – und zugleich sicher genug, um es allen über das Web zugänglich zu machen. Professionelle Stromnetzsimulation bedeutete früher den Einsatz umfangreicher Desktop-Software. Wir haben sie in den Browser gebracht – mit der vollständigen Genauigkeit von pandapower, ohne Einrichtungsaufwand und offen für alle.
Šime Pavlić
Lead Backend Developer bei Kickstage


Fazit

BambooGrid zeigt, wie Kickstage tiefgreifende fachliche Komplexität – in diesem Fall die professionelle Simulation elektrischer Energiesysteme – zugänglich machen kann, ohne Kompromisse bei der technischen Korrektheit einzugehen.

Durch die Kombination der bewährten pandapower-Engine mit einem browsernativen Editor, einem autoritativen serverseitigen Netzmodell und einer unkomplizierten Bereitstellung haben wir ein Werkzeug geschaffen, das Ingenieure beim Entwurf eines Umspannwerks, Studierende bei ihrer ersten Lastflussberechnung und alle unterstützt, die verstehen möchten, wie das Stromnetz funktioniert, das ihr Zuhause mit Energie versorgt.

BambooGrid ist Open Source, live verfügbar und darauf ausgelegt, gemeinsam mit der Community weiterzuwachsen.

Testen Sie BambooGrid unter bamboo.kickstage.com, entdecken Sie den Quellcode auf GitHub unter github.com/kickstage/bamboogrid und geben Sie dem Repository gerne einen Stern, wenn Sie das Projekt hilfreich finden.

Ein großes Dankeschön an Hostzero für die Unterstützung der gehosteten Version.

Lassen Sie uns Ihr Projekt realisieren

Sie suchen technische Expertise für die Planung und Umsetzung digitaler Vorhaben, damit Sie sich auf Ihre Kernaufgaben konzentrieren können? Wir unterstützen Sie dabei. Besuchen Sie uns für ein persönliches Gespräch oder kontaktieren Sie uns direkt.

Kontakt

Büro Zagreb

Radnička cesta 47, 10000, Zagreb, Croatia

Social Media

Ljubo Radoš

Ljubo Radoš

Geschäftsführer