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
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.