Ich komme von EVCC und habe schon seit längerem damit geliebäugelt, mir OpenEMS genauer anzuschauen.
Ich hab es mir auf einem virtueller Ubuntu Server mal aufgesetzt und versucht zu konfigurieren.
Ich habe drei Kostal Plenticore wovon einer das KSEM via Modbus RTU angebunden hat. Das KSEM wäre aber auch im lokalen LAN.
Was ich jetzt irgendwie nicht hinbekommen habe, dass ich die Grid-Werte in OpenEMS bekommen. Auch die Batterie, die an einem Plenticore hängt, kriege ich nicht in OpenEMS. Bei der Batterie kann ich das noch nachvollziehen. Soweit ich den Code lesen kann, werden hier auf die Sunspec-Register zurückgegriffen. Kostal hat aber, vor allem das Batterie-Modell, nicht vollständig implementiert.
Aber warum das Meter nicht erkannt wird, erschließt sich mir nicht.
Weiterhin hätte ich ein grundsätzliche Frage: Die meisten Hybridinverter erlauben nur einen Inverter mit einer Batterie, da sich die Systeme sonst gegenseitig zu Tode regeln. Gibt es hier Möglichkeiten, das zu umgehen, indem OpenEMS das übernimmt?
Konkreter: Die Kostal ermöglichen es, via Register 1028 die Leistung der Batterie in % vorzugeben. Wenn man jetzt zwei Plenticore mit Batterien hätte, könnte man diese so von openEMS regeln lassen, dass sich die nicht mehr gegenseitig hochschaukeln?
Der Kostal Plenticore ist in OpenEMS nur als PV-Wechselrichter (via SunSpec) eingebunden. An die Ansteuerung des Hybrid-Wechselrichters hat sich bisher niemand gemacht. In OpenEMS müsste man diesen als “ManagedSymmetricEss”, also als integriertes Stromspeichersystem (ESS), implementieren.
OpenEMS kann mit dem “Ess.Cluster” mehrere ESS als Cluster betreiben. Das wird vielfach produktiv eingesetzt. Es funktioniert auch mit (richtig eingebundenen) Hybrid-Wechselrichtern, allerdings nicht in jeder Situation optimal (weil die DC-Leistung nicht in der Verteilung berücksichtigt wird).
Da ich grundsätzlich ein wenig in Java bewandert bin, würde ich mich dem gerne annehmen. Ich würde hier aber auf jeden Fall ein wenig Unterstützung benötigen.
Könntest du mir eine beispielhafte Implementierung empfehlen, nach der ich mich hinsichtlich einer good practice richten kann?
Die Doku hätte ich mal mit dem Energy Meter von Kostal durch:
Sehr gerne Feedback dazu. Funktioniert zwar schon mal, ist aber noch nicht ganz fertig, da das KSEM die Werte für Einspeisung und Verbrauch getrennt ausgibt und ich mir das noch ansehen muss, wie das openEMS braucht.
Eine andere Anregung hätte ich noch: Gab es in der Vergangenheit mal den Gedanken, die API von EVCC zu verwenden?
Anders herum gibt es ja ein Template von dir für EVCC.
Da aber in EVCC sehr viele Geräte bereits untersützt werden, wäre es m.E. ein enormer Gewinn für openEMS wenn man einfach auf die API von EVCC zugreift.
Und eine dritte und letzte Frage hätte ich noch: Warum gibt es kein Standard Sunspec Gerät? Mir ist bewusst, dass sich die meisten nicht an die Spec halten und da doch wieder eigenen Dinge drehen, aber m.E. wären da doch einige Geräte schon mal erschlagen.
Ich denke nicht, dass es Sinn und Zweck eines OpenEMS ist, ein anderes EMS zu benötigen, um auf Geräte zuzugreifen
Klar, viele Geräte fehlen noch in OpenEMS, das liegt aber einfach daran, dass 1. Alle Geräte zu 100% sauber im OpenEMS laufen und getestet werden - 2. Weil OpenEMS eben viel viel mehr anforderungen an die Entwickler hat eben WEIL es mehr Steuerungsmöglichkeiten bietet.
Das ist die Frage, ob das wirklich so ist. EVCC entwickelt sich hier zunehmend weiter und steuert in vielen Fällen (sofern es dieser zulässt) den WR schon.
Mir fehlen sowohl bei openEMS als auch bei EVCC einige Dinge und sähe hier gewisse Synergieeffekte.
EVCC ist näher an Wallbox und openEMS, soweit ich das überblicke, näher am WR.
Nichtsdestostrotz, hättest du ein Implementierung eines Hybridwechselrichters nach der man sich richten kann? Direkt den von Fenecon?