Hallo mrdomek und willkommen,
erstmal danke für dein ausführliches Feedback! Es ist super, dass du dich so tief in OpenEMS eingearbeitet hast und deine Erfahrungen teilst. Ich kann viele deiner Punkte nachvollziehen, aber ein paar Dinge möchte ich doch etwas anders einordnen.
Dokumentation & Einstiegshürden
Ja, OpenEMS hat definitiv eine steile Lernkurve – keine Frage. Aber man darf dabei nicht vergessen: Wir sind fast alle Hobbyentwickler, die das Projekt in ihrer Freizeit vorantreiben. OpenEMS ist kein kommerzielles Produkt mit einem professionellen Support-Team, sondern ein Open-Source-Projekt, an dem jeder mitarbeiten kann. Auch die Doku wurde nicht „von oben herab“ geschrieben, sondern tatsächlich zusammen mit Laien beim letzten Hackathon erarbeitet – genau mit dem Ziel, den Einstieg für Nicht-Entwickler zu erleichtern.
Es gibt mittlerweile viele Anleitungen und Hilfestellungen im Forum, die viele der Themen abdecken. Natürlich könnte die Doku noch strukturierter sein, aber der klassische Open-Source-Gedanke ist eben: Wenn du eine Hürde überwunden hast, dann hilf anderen, indem du die Doku verbesserst! Ein Pull Request wäre also eine super Möglichkeit, aktiv beizutragen.
Dass es Leute gibt, die beim Punkt „Entwicklungsumgebung installieren“ aussteigen, ist nachvollziehbar. Aber OpenEMS ist kein Plug & Play-System – ein gewisses Maß an technischem Verständnis ist einfach nötig. Und seien wir ehrlich: Wer schon an der Einrichtung scheitert, wird auch beim Betrieb nicht weit kommen. OpenEMS ist hochflexibel, aber eben auch komplex. Wer eine komplett fertige Lösung sucht, wird mit OpenEMS (zumindest aktuell) nicht glücklich.
Sunspec & Universelle Geräte-Module
Zu deiner Idee mit den universellen Sunspec- oder Modbus-Modulen: So einfach, wie du es dir vorstellst, ist es leider nicht.
Sunspec ist kein einheitlicher Standard, der für alle Geräte gleich funktioniert. Jeder Hersteller interpretiert und implementiert es ein bisschen anders.
Manche Geräte haben z. B. abweichende Register, andere Einheiten oder spezielle Herstellerfunktionen, die nicht standardisiert sind.
Sunspec sagt auch nicht aus, ob ein Gerät einphasig oder dreiphasig ist, welche Steuerfunktionen es unterstützt oder wie genau die Datenpunkte zu interpretieren sind.
Deshalb gibt es keine „universellen“ Sunspec-Module – die müssten immer wieder angepasst und erweitert werden. Das ist auch der Grund, warum es spezifische Module für verschiedene Hersteller gibt. Einfach ein „Sunspec Universal“-Modul anzubieten, würde eher zu Frust führen, weil es eben nicht für alle Geräte funktionieren würde.
Genauso ist es mit Modbus: Ja, viele Geräte sprechen ModbusTCP oder ModbusRTU, aber jedes Gerät hat eigene Registerbelegungen, Skalierungsfaktoren und Funktionsweisen. Ein universelles Mapping-Tool wäre also extrem aufwendig und würde nie für alle Geräte passen. Hier ist es oft einfacher, für bestimmte Geräte ein eigenes Modul zu schreiben – genau das machen ja viele Hersteller, die OpenEMS nutzen.
Fazit
Ich finde es super, dass du dir Gedanken machst, wie OpenEMS für Endanwender zugänglicher werden könnte. Aber man muss auch realistisch bleiben: OpenEMS ist und bleibt eine entwicklergetriebene Lösung, die nicht einfach „out of the box“ läuft. Wir arbeiten daran, es einfacher zu machen, aber ein bisschen „Schmalz“ muss aktuell einfach noch investiert werden.
Wenn du konkrete Verbesserungsvorschläge hast, wäre ein Pull Request für die Doku eine klasse Möglichkeit, das Projekt zu unterstützen. Und falls du tiefer in die Entwicklung einsteigen willst – die Community freut sich immer über neue Mitstreiter!
Beste Grüße,
Hannes