Geschrieben February 13, 2026 at 08:4313. Feb 2026 Liebe tinkerforge Community,seit einigen Tagen läuft hier ein WEM2 im Zusammenspiel mit einem Kostal Plenticore G3 Hybrid-WR und einem Pylontech Force H Batteriespeicher. Ich möchte gerne die Batteriesteuerung über den WEM2 einrichten und habe mich gefragt, wie hier am Besten vorzugehen ist? Ein vorkonfiguriertes Profil besteht ja noch nicht. Ist das schon jemand aus der Community angegangen? Lassen sich die notwendigen Registerdaten irgendwo in der Kostal Dokumentation finden oder müsste ich die anderweitig herausfinden?Falls hilfreich, biete ich gerne meine Unterstützung bei der Entwicklung einer Kostal Plenticore G3 config für das firmware repo an. Gerne auch im direkten Austausch per github, Mail, o.ä. falls gewünscht.Schöne Grüße aus dem Ruhrgebiet bearbeitet March 5, 2026 at 09:235. Mär 2026 von laubblaeser Titeländerung
Geschrieben February 13, 2026 at 09:2413. Feb 2026 Autor Wenn ich nicht irre, sollten hier unter 3.4 mglw. die nötigen Infos zu finden sein?https://www.kostal-solar-electric.com/fileadmin/downloadcenter/kse/BA/Protokollbeschreibung/BA_KOSTAL_Interface_MODBUS-TCP_SunSpec_with_Control.pdf bearbeitet February 13, 2026 at 09:2513. Feb 2026 von laubblaeser link
Geschrieben February 14, 2026 at 10:0114. Feb 2026 Moin,ich habe die Batteriesteuerung (BYD HVS) über einem Plenticore+10 aus 2022 (G1?) auf meiner WARP3 konfiguriert, ich sperre das Entladen der Batterie beim "Schnell-"Laden mit 11kW.Hinweise zur Konfiguration im Thread https://www.tinkerunity.org/topic/13229-beta-test-batteriespeicher-steuerung-phase-2/ unter meinem Benutzernamen, Infos aus oben genanntem MODBUS SunSpec Dokument habe ich damals auch benutzt.Wie das auf den WEM mappt weiss ich nicht, bei Bedarf kann ich aber meine aktuelle Konfig exportieren ...GrüßeVinciSC71
Geschrieben February 14, 2026 at 12:5214. Feb 2026 Autor Die Software auf WEM2 und WARP3 sind soweit ich weiß zu weiten Teilen gleich. Sofern beide Geräte ein Modul haben (z.B. Batteriesteuerung), dann sollten sie auch gleich bedienbar sein und die gleichen Funktionalitäten bieten.Eine geteilte Config von dir wäre sicher ein toller Einblick für alle Plenticore Nutzer:innen hier. :)Ich hatte bisher keine Kontaktpunkte mit Modbus, daher scheue ich noch etwas davor zurück, einfach Dinge dafür zu schreiben und auszuprobieren. Am liebsten hätte ich natürlich, wenn wir es schaffen würden, eine Python Datei für die Registerkonfiguration der kompatiblen Plenticore WR im Firmware git zu entwickeln (https://github.com/Tinkerforge/esp32-firmware/tree/master/software/src/modules/batteries_modbus_tcp) und so als Blaupause für alle Interessierten zur Verfügung zu stellen.Was mir auf jeden Fall schon klar ist, ist die einstellbare Watchdog Dauer (60s) und die Standardgeräteadresse (71). Die Registerkonfig selbst müsste hoffentlich mit den bestehenden Konfigurationen, deinen bisherigen Erkenntnissen und der Modbus Dokumentation von Kostal herleitbar sein. bearbeitet February 14, 2026 at 14:4514. Feb 2026 von laubblaeser
Geschrieben February 14, 2026 at 16:1314. Feb 2026 Moin,Am 14.2.2026 um 13:52 schrieb laubblaeser: Eine geteilte Config von dir wäre sicher ein toller Einblick für alle Plenticore Nutzer:innen hier. :)Anbei der Export meiner Konfiguration der Batteriesteuerung (json) sowie 3 screenshots zu den Einstellungen in der Web-Oberfläche der WARP3:Mein Kostal setzt die Register nach 60 s zurück, daher habe ich das Wiederholraster auf 55 s gesetzt. Hatte in der Beta Phase auch mal 58 s eingestellt, ging auch. Um erst mal zu sehen, was im Normalbetrieb in den Registern steht, habe ich GModBus benutzt. Damit kann man auch Werte testweise schreiben um zu sehen, wie das System reagiert. Da der Plenticore physikalische Vorgaben will (zB Register 1040 in W), braucht es dann noch eine Umrechung von float nach hex. Im obigen Fall "Entladeleistung 0 W" ist das einfach, für andere Werte hilft google "float to hex" ...Batteriespeicher-Konfiguration-Modbus-TCP-Kostal_Plenticore+10_20260214.jsonWer aus sowas wie ein *.py wie im referenzierten git macht, ist mir nicht bekannt.hthVinciSC71
Geschrieben February 19, 2026 at 12:4119. Feb 2026 Autor Ich habe die ersten vier Optionen (Normal/Normal, Normal/Blocken, Blocken/Laden, Blocken/Blocken) erfolgreich konfiguriert. Die Tests stoppen z.B. direkt das vom Kostal WR gesteuerte Entladen der Batterie zur Deckung des Netzbezugs und nach Stoppen des Testsignals kehrt der WR innerhalb einiger Sekunden wieder zum Normalbetrieb zurück.So weit, so gut. Was bisher noch nicht klappt, si d die Optionen 5+6, also forciertes Laden und Entladen. Hier war mein erster Gedanke, die Register 1042 und 1044 zu nutzen, welche die Min und Max SOC in % vorgeben. Zum forcierten Laden habe ich versucht, den Min SOC auf 100 zu setzen, leider ohne Erfolg. Hierzu zwei Fragen:@VinciSC71 Wo hattest du gefunden, dass Hexwerte eingetragen werden müssen? Die Dokumentation gibt doch die Formate für jedes Register eindeutig an, z.B. Float in den o.g. Fällen. Ein Eintragen eines Hexwertes ist im Eingabefeld der WARP Batteriesteuerung auch gar nicht möglich. Da werden nur Dezimalzahlen akzeptiert.Die Modbus TCP Konfiguration habe ich im WR auf Sunspec eingestellt (ABCD), damit darüber die Einbindung als Zähler funktioniert. Ich denke, dass sich das dann auch auf den Modbus Steuerung der Batterie auswirkt. Wie werden denn von der WARP Batteriesteuerung die Werte an den WR weitergegeben? CDAB (standard Modbus) oder ABCD? Könnte es hierbei zu Problemen kommen? Vermutlich eine Detailfrage an die Entwickler.
Geschrieben February 22, 2026 at 21:1522. Feb 2026 Autor OK, ich hatte die letzten Tage ein wenig Zeit und hab mich etwas in Modbus und die Kostal Register eingelesen und einige Settings ausprobiert. Alle Optionen sind jetzt fertig konfiguriert und funktionieren einwandfrei. Derzeit habe ich die Leistung bei erzwungener Ladung und Entladung jeweils auf 4,0 kW eingestellt. Das ist weit entfernt vom Maximum das WR und Batterie könnten, aber ein angenehmer Startpunkt, um das System zum laufen zu bekommen.Ich habe leider keine Möglichkeit gefunden, eine Zwangsladung herbeizuführen, ohne die Ladeleistung vorzugeben. Einen Min SOC von 100% kann ich zwar erfolgreich einstellen, aber leider führt das nicht zur Ladung mit von WR/Batterie gesteuerter Leistungskurve.Ich teste das jetzt ein paar Tage und wenn alles wie gewünscht funktioniert, könnte man eine Config für das Firmware Repo daraus stricken. :)
Geschrieben February 28, 2026 at 10:2128. Feb 2026 Autor Habe noch ein gravierendes Problem festgestellt. Wenn die externe Batteriesteuerung aktiv bleibt und nur den Zustand wechselt, bleiben alte Registerwerte erhalten und setzen sich nicht auf den Standardwert zurück.Wenn also vom Beschreiben von Register 1032 zum erzwungenen Beladen mit 10 A (battery permitting) zu einem anderen Status wie "Normal entladen, laden blockieren" gewechselt wird, bleibt der zuvor geschriebene Wert in Register X erhalten, obwohl der jetzt aktiv zu beschreibende Registersatz dieses Register gar nicht mehr beinhaltet.Ich dachte erst, dass ich das gelöst bekomme, indem ich alle mglw. zuvor beschriebenen Register in allen Batteriesteuerungsregelsätzen (schönes Wort btw) wieder neutralisiere, aber ich habe keine Möglichkeit auf die Default Werte zuzugreifen. Demnach musste eine andere Lösung her.Derzeit probiere ich aus, die Batteriesteuerung nach 60 Sekunden für eine Sekunde aussetzen zu lassen. Der Kostal watchdog erwartet alle 60 Sekunden ein Signal, sonst springt er auf die normale interne Batteriesteuerung zurück und setzt alle zuvor geschriebenen Werte auf default. Wenn ich im Warp Registersatz eingebe, dass die Wiederholung alle 61 Selunden stattfinden soll, wird das also kurz getriggert. (Lässt sich auch im Kostal webinterface nachvollziehen, da dort immer kurz angezeigt wird, dass die externe Batteriesteuerung für eine Selunde deaktiviert und dann wieder aktiviert ist.)Ich werde das weiter beobachten und schau mal, ob das jetzt gut klappt oder zu anderen Problemen führt.Hat jemand schon einmal so eine Herangehensweise probiert? Ist das aus irgendwelchen Gründen ne dumme Idee, die ext. Batteriesteuerung regelmäßig kurz zu unterbrechen? bearbeitet February 28, 2026 at 10:2128. Feb 2026 von laubblaeser typo
Geschrieben February 28, 2026 at 13:2928. Feb 2026 Autor Am 28.2.2026 um 11:21 schrieb laubblaeser: Derzeit probiere ich aus, die Batteriesteuerung nach 60 Sekunden für eine Sekunde aussetzen zu lassen.Funktioniert, aber dadurch springt bspw. die Batterie direkt zur Deckung der Hauslast für eine Sekunde an, obwohl gerade der Strom aus dem Netz so günstig ist, dass eine Entladung verboten wird. Das Problem mit den bestehenden Registerwerten bleibt also, denn so lässt es sich zwar lösen, aber nicht wirklich sauber.Wäre es möglich, in der Firmware eine 1 Sekunde Pause einzufügen, wenn zwischen den 6 Optionen zur Batteriesteuerung gewechselt wird? Also eben nur die nötige „Resetpause“ einfügen, wenn nicht der bestehende Modus bestehen bleibt. bearbeitet February 28, 2026 at 13:3328. Feb 2026 von laubblaeser
Geschrieben March 4, 2026 at 15:524. Mär 2026 Autor Am 28.2.2026 um 14:29 schrieb laubblaeser: Das Problem mit den bestehenden Registerwerten bleibt also, denn so lässt es sich zwar lösen, aber nicht wirklich sauber.Wäre es möglich, in der Firmware eine 1 Sekunde Pause einzufügen, wenn zwischen den 6 Optionen zur Batteriesteuerung gewechselt wird?Nach weiterem Studium der Kostal Registertabelle und einigen Tests der Batteriesteuerung bin ich jetzt an dem Punkt, an dem alles zu klappen scheint. Die drei relevanten Register werden jetzt bei jedem Statuswechsel der Batteriesteuerung auf einen vordefinierten Wert gesetzt. Meine Bedenken, dass ich keine absoluten Werte in die Register schreiben wollte, haben sich erledigt, da es weitere Read-only Register gibt (z.B. vom BMS oder auch die Begrenzung der Wirkleistung im WR), die eine zu starke (Ent-)Ladung begrenzen, auch wenn die externe Batteriesteuerung über Modbus aktiv ist.Leider hat sich jetzt ein weiteres Problem aufgetan, das mir gerade noch Kopfzerbrechen bereitet: Wenn eine Regel greift, die das Entladen blockiert (z.B. weil der Strompreis gerade schön günstig ist), werden PV Überschüsse im Heimnetz leider nicht in die Batterie geladen, sondern in das Netz eingespeist. Es scheint, als ob der Kostal Plenticore WR jegliche Steuerung des Ladeverhaltens einstellt, sobald irgendein externer Steuerbefehl über Modbus eingeht. Also auch, wenn der eingegangene Befehl (maximale Entladeleistung = 0W) nichts mit dem Ladeverhalten zu tun hat.Kann mir bitte jemand sagen, ob so ein Verhalten bei anderen WR auch auftritt, wenn die externe Batteriesteuerung aktiv ist?Ich habe ja über den WEM2 keine Möglichkeit, die Ladeleistung dynamisch auf Basis des Überschusses am Netzanschlusspunkt zu regeln. (Und das soll ja auch explizit nicht der Scope der Warp Batteriesteuerung sein.) Das geschieht nur im Normalfall, also wenn der WR selbst alles regelt, durch die interne Steuerung von Kostal. Echt knifflig. bearbeitet March 4, 2026 at 15:534. Mär 2026 von laubblaeser typo
Geschrieben March 4, 2026 at 15:594. Mär 2026 Autor Am 4.3.2026 um 16:52 schrieb laubblaeser: Wenn eine Regel greift, die das Entladen blockiert (z.B. weil der Strompreis gerade schön günstig ist), werden PV Überschüsse im Heimnetz leider nicht in die Batterie geladen, sondern in das Netz eingespeist.Ein anderes Beispiel noch, um das zu veranschaulichen: Wenn ich zwischen 7 und 9 Uhr morgens das Laden der Batterie blockiere, weil es über den Tag hinweg ausreichend PV Ertrag geben wird (frei nach "Deine Batterie kann mehr"), dann wird zeitgleich auch die Entladung der Batterie zur Deckung des Hausverbrauchs unmöglich. Das kann nicht im Sinne des Betreibers sein, denn ich möchte ja eigentlich das Netz entlasten und nicht auch noch beim morgendlichen Kaffeekochen und Brot toasten Strom aus dem Netz beziehen.
Geschrieben March 5, 2026 at 05:575. Mär 2026 Das kann ich für meine Batterie so nicht bestätigen (Marstek Venus E 3.0). Genau dafür sind doch die beiden Regelsätze da. Wenn ich das Entladen der Batterie blockiere, kann ich dennoch fleißig PV-Strom laden, wenn ich das Laden blockiere kann die Batterie immer noch Netzbezug regulieren. Da wird noch was in deiner Registerkommunikation falsch sein.Am 4.3.2026 um 16:52 schrieb laubblaeser: Ich habe ja über den WEM2 keine Möglichkeit, die Ladeleistung dynamisch auf Basis des Überschusses am Netzanschlusspunkt zu regeln. (Und das soll ja auch explizit nicht der Scope der Warp Batteriesteuerung sein.) Das geschieht nur im Normalfall, also wenn der WR selbst alles regelt, durch die interne Steuerung von Kostal. Echt knifflig.Genau das soll sie auch nicht machen. Die Regelung bleibt weiterhin bei der Batterie, die Wallbox sagt nur "jetzt gar nicht laden bzw. entladen" oder "jetzt Vollgas laden/entladen". Ist keine Regel für laden oder entladen aktiv steuert einzig und alleine die Batterie das jeweilige laden und entladen unabhängig voneinander.
Geschrieben March 5, 2026 at 07:535. Mär 2026 Autor Danke für deine Erfahrung mit dem Marstek Speicher. Ich hoffe, es gibt noch ein paar weitere Kommentare, ob das bei allen anderen Herstellern auch so reibungslos funktioniert, z.B. von den Entwicklern mit ihren Testgeräten.Am 5.3.2026 um 06:57 schrieb MichiLo: Da wird noch was in deiner Registerkommunikation falsch sein.Das ist sehr gut möglich, aber meine Erfahrung mit der Modbus Steuerung des Kostal WR sieht gerade eher so aus wie oben beschrieben:Am 4.3.2026 um 16:52 schrieb laubblaeser: Es scheint, als ob der Kostal Plenticore WR jegliche Steuerung des Ladeverhaltens einstellt, sobald irgendein externer Steuerbefehl über Modbus eingeht.
Geschrieben March 5, 2026 at 09:365. Mär 2026 On 3/5/2026 at 8:53 AM, laubblaeser said:Danke für deine Erfahrung mit dem Marstek Speicher. Ich hoffe, es gibt noch ein paar weitere Kommentare, ob das bei allen anderen Herstellern auch so reibungslos funktioniert, z.B. von den Entwicklern mit ihren Testgeräten.Das ist leider von Hersteller zu Hersteller verschieden. Manche Hersteller bilden dass sehr schön ab, da hat gefühlt jemand wirklich drüber nach gedacht. Andere sind da schwieriger. Bisher habe ich es noch bei allen hinbekommen Laden und Entladen unabhängig von einander zu kontrollieren.Einziges Problem das gerade noch besteht sind SMA ennexOS Geräte, bei denen man die interne Regelung der Batterie wirklich komplett abstellen muss, wenn man extern steuern will. Dann kann man alles unabhängig steuern. ABER dann kann regelt die Batterie garnicht mehr selber und ich kann den Normal/Normal Modus nicht umsetzen. Weil wir eigentlich nicht die Regelung der Batterie übernehmen wollen, sondern nur der bestehenden Regelung Vorgaben machen wollen.Ich habe gerade noch SAX Power in der Mache. Sobald das durch ist steht Kostal auf der Liste. Ich würde da gerne auf deine Erfahrungen aufbauen und das offiziell in die Firmware bringen wollen.
Geschrieben March 5, 2026 at 09:425. Mär 2026 Autor Am 5.3.2026 um 10:36 schrieb photron: Sobald das durch ist steht Kostal auf der Liste. Ich würde da gerne auf deine Erfahrungen aufbauen und das offiziell in die Firmware bringen wollen.Sehr gerne. Meld dich einfach, wie ich unterstützen kann.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.