KACO Wechselrichter verbinden

Hallo Martin,

willkommen im OpenEMS Community-Forum. Der KACO Blueplanet Hybrid 10 wird nicht per Modbus/TCP eingebunden, sondern über ein eigenes proprietäres Protokoll.

KACO entwickelt das OpenEMS-Modul für den Wechselrichter als externes Modul unabhängig vom öffentlichen OpenEMS-Quellcode. @andreas.hummelsberge r von KACO wäre dafür der richtige Ansprechpartner.

Viele Grüße,
Stefan Feilmeier

Hallo Herr @stefan.feilmeier - Das Thema ist auch in 2022 immer noch offen und niemand bei Kaco scheint an einer offenen Schnittstelle interessiert zu sein, was ich sehr schade finde.
Herr @andreas.hummelsberge bitte gestatten Sie mir eine Frage, warum äußern Sie sich nicht zum Thema und warum strebt Kaco keine offene Read-Only Schnittstelle an? Ich fühle mich bspw durch die Werbeaussage getäust, das meine Kaco Produkte openEMS fähig sind. Ich spreche da primär vom Kaco Blueplanet Hybrid 10.0 TL3. Eine Freigabe der Modbus, die ja auch in anderen Produkten läuft, würde hier eine einfache und für den Endkunden praktische Option bieten. Man könnte dann Visualisierungen bspw mit der Raspi App Solaranzeige realisieren können. Leider geht Kaco da meiner Auffassung nach, den falschen Weg. Es wäre schön Herr @andreas.hummelsberge wenn Sie mal dazu stellung beziehen würden und ein Austausch statt findet.

Herr @stefan.feilmeier können Sie mir sagen, ob das FEMS ein Modul bereit stellt, mit dem man bspw die Daten aus dem oben genannten Kaco Wechselrichter auslesen kann um dann die Daten an die von mir genannte Open Source Softwarelösung zur Visualisierung (Solaranzeige.de) weiter zu geben?

Ich freue mich auf Ihre Antworten und den damit verbundenen Meinungsaustausch.

Viele Grüße
Jörg

Hallo Jörg,

ja, das proprietäre Modul für den KACO Blueplanet Hybrid 10.0 TL3 ist in FEMS integriert. Die Daten können damit dann über die offenen Schnittstellen am FEMS ausgelesen werden:

https://docs.fenecon.de/de/_/latest/fems/apis.html

Viele Grüße,
Stefan Feilmeier

Hallo Herr Feilmeier,

Vielen Dank für Ihre Rückmeldung.
Ich bin zwischenzeitlich über Ihr Github Repo gestolpert.

Ist es damit möglich per openEMS die Daten des Kaco Blueplanet Hybrid 10.0 TL3 auszulesen?
Wie sieht es aus, laut Hotline kann man das FEMS nicht “einzeln” erwerben. Ist das so korrekt?
Ich habe gerade erst meinen HVS Speicher und alles bekommen. Ein neuer Speicher wäre da eher nicht denkbar. Vielleicht können WIr uns da mal austauschen ggf. auch per PN?

Viele Grüße
Jörg

Bezugnehmend auf meine Anfrage an Herrn @andreas.hummelsberge und das ausbleiben einer adäquaten Rückmeldung und den Umstand das Herr @andreas.hummelsberge sich seit 2021 hier im Forum nicht mehr angemeldet hat, möchte ich folgende Warnung aussprechen.

Finger weg von KACO Produkten. Der Vertreter der Firma KACO und auch die Firma KACO haben anscheinend kein Interesse, eine frei zugängliche Schnittstelle bereit zu stellen oder den Kundendialog dazu einzueghen. Das ist traurig!

Diese Haltung schadet der freien Software Community und sollte auch seitens der openEMS nicht weiter unterstützt werden. Alle bemühungen hier, einen Austausch zum Thema anzustoßen sind im Sand verlaufen. Eben so auf anderen Kanälen. Daher die Warnung im Bezug auf openEMS ein Kaco Produkt zu erwerben.

Vielen Dank!

Hallo Grossi,

hier zur Info: der Quellcode an sich für die Anbindung an den KACO ist mittlerweile als Open-Source verfügbar (zur Verfügung gestellt durch Katek und angepasst an OpenEMS durch FENECON):

Leider ist die Anbindung so für den Privatkunden trotzdem nicht direkt nutzbar, weil ein sogenannter ‘identkey’ benötigt wird, der m.E. nur an Hersteller/Inverkehrbringer von Energiemanagementsystemen vergeben wird.

Das kann man so sehen, allerdings ist es meiner Ansicht nach etwas zu kurz gedacht. Zwar bin ich selbst ein großer Verfechter von Open-Source-Software und der Überzeugung, dass das der richtige Weg ist um bei dem komplexen Thema Energiewende und intelligentem Energiemanagement gemeinsam voran zu kommen. Ich investiere deshalb einen großen Teil meiner Freizeit in dieses Projekt. Ich habe aber auch den Vorteil, dass das Geschäftsmodell meines Arbeitgebers FENECON nicht nur auf Softwareprodukten basiert und sich der Open-Source-Gedanke so gut umsetzen und integrieren lässt.

Wir haben aber für OpenEMS bewusst die Eclipse Public License gewählt, um auch proprietäre Module zu ermöglichen. Zum einen, weil manche Schnittstellen einfach nicht veröffentlicht werden dürfen (z. B. mit NDA geschützt und/oder weil die Geräte damit in einen nicht mehr netzkonformen Modus versetzt werden könnten oder der Hersteller einfach den Vorteil (noch) nicht verstanden hat) oder wir Unternehmen die Möglichkeit geben wollen, softwarebasierte Geschäftsmodelle umzusetzen. So könnte sich z. B. eine Firma auf Prognosealgorithmen oder spezielle Steuerungsalgorithmen spezialisieren und diese über OpenEMS vermarkten - ohne dabei verpflichtet zu werden, den Code zu veröffentlichen.

Insgesamt denke ich ist das schon der richtige Ansatz. Allerdings ist es auch richtig, dass hier die Kommunikation seitens OpenEMS noch besser werden muss, welche Funktionen tatsächlich mit einem Modul möglich sind, wo und wie es zu beschaffen ist, etc. Aber auch da ist es so: OpenEMS ist eine offene Community und auch die OpenEMS Association hat nicht die Mittel, dafür eigenes Personal einzustellen. So entsteht vieles durch die Arbeit von Freiwilligen und jeder ist eingeladen, sich aktiv einzubringen um gemeinsam die Vision eines echten, offenen Open-Source Energiemanagements zu verwirklichen.

Wir (Consolinno) haben gerade Testgeräte von Kaco gestellt bekommen, mit denen ich OpenEMS getestet habe. Also kann ich etwas dazu sagen, wie diese funktionieren (ja, sie funktionieren).

Getestet habe ich dieses Gerät:
Kaco Blueplanet NX3 M2

Der NX3 kann über Modbus TCP (per Wlan) oder Modbus RTU (per RJ45) angebunden werden. Die Register sind Sunspec. Das entsprechende OpenEMS Plugin nennt sich “PV-Inverter KACO blueplanet” in Apache Felix. (Sollte evtl. umbenannt werden in “PV-Inverter Kaco Modbus Sunspec”?)

Um den Inverter für Modbus TCP per Wlan zu konfigurieren, wird die Kaco App benötigt. Wie der NX3 dann einzustellen ist, wird in der Anleitung von Fenecon auf Seite 3-5 beschrieben:
FEMS Konfigurationsanleitung
Für die Konfiguration von Modbus ist kein Passwort vom Hersteller nötig. Die Kaco App ist über den jeweiligen App-Store frei verfügbar (Nennt sich “KACO NX Setup” im Google-Play Store).

Der Kaco NX3 kann auch per Kabel über Modbus RTU angebunden werden, aber dafür war es nötig das OpenEMS Plugin etwas anzupassen. (Pullrequest dazu).

Beim Testen des Geräts hab ich einige Eigenheiten festgestellt:

  • Modbus TCP wird gestört, wenn in der RJ45 Buchse ein Kabel drin steckt. Also schauen, das hier kein Kabel drin steckt wenn man den Kaco per Modbus TCP auslesen will!
  • Modbus RTU wird gestört, wenn der Wlan Stick eingesteckt ist. Den also abziehen, wenn man den Kaco per RTU auslesen will!
  • Das Wlan vom Kaco versucht sich nur beim Einschalten mit dem Wlan Router zu verbinden. Fällt der Wlan Router kurz aus, verbindet sich der Kaco nicht automatisch wieder mit dem Wlan. Der Kaco muss dann neu gestartet werden, um sich wieder mit dem Wlan zu verbinden (der Kaco schaltet sich über Nacht eh immer aus und am Morgen dann wieder ein, also nicht sooo das Problem).
  • Der Kaco mag es nicht, viele Modbus Anfragen gleichzeitig zu bekommen. Einen großen Block abfragen funktioniert, viele einzelne Register abfragen geht nicht gut.
2 Likes

Vielen Dank für das Troubleshooting. Wir nehmen das zeitnah in unsere Anleitung mit auf.

Der Link dazu hat sich geändert.

Die neueste Version (und auch alle zukünftigen) ist hier zu finden:
Konfigurationsanleitung - KACO PV-Wechselrichter

Viele Grüße

Hello,

Hope you don’t mind me replying in English.

I am very interested to read the above discussion as we are currently developing a solution using OpenEMS and the KACO Blueplanet Gridsave 50.0 inverter which we plan on connecting via Modbus TCP.

Is it possible to connect OpenEMS to the KACO Blueplanet Gridsave 50.0 inverter? Do we need any additional proprietary things from KACO in order to make this work?
I can see that a device has been implemented for this inverter in OpenEMS edge so my assumption was that we can simply plug-and-play with this device - is this assumption correct?
This is a big reason why we selected this particular inverter and I would definitely reconsider using this in our product if it is not so easy to use with OpenEMS.

Any information would be greatly appreciated.

Thanks,
Thomas

Hi Thomas,

the discussion in this thread is about very different products by KACO:

To configure a KACO 50 or 90 battery inverter, you need to configure:

Then you can start charging or discharging the storage system e.g. using a

See the image here for a graphical representation:

Regards,
Stefan

Hi Stefan,

Thank you for the clear explanation.

In that case, it sounds like the KACO 50 was the correct choice for our requirements and has good OpenEMS integration.

Best regards,
Thomas

Nachtrag zum KACO Blueplanet Hybrid 10.0 TL3:
Ob man die Partner ID von Kaco benötigt, hängt vom Firmwarestand des Inverters ab. Erst ab Firmware 8.x wird die Partner ID benötigt. Inverter die noch nicht auf Firmware 8.x upgedated sind, kann man auch ohne diese Partner ID mit dem OpenEMS Plugin auslesen.

Hallo zusammen,

ich bin neu hier und “leide” ebenfalls unter dem proprietären Protokoll vom Kaco Blueplanet. Tatsächlich habe ich das Teil in dem Glauben erworben, dass es heutzutage eigentlich nicht mehr die Frage sein sollte, ob es für so ein Gerät eine frei verfügbare APP gibt. Leider habe ich mich getäuscht - wie ein paar andere Nutzer auch. Ist halt so und nun versuche ich, das beste daraus zu machen.

Daher habe ich mich mal daran gemacht, den TCP/IP Datenaustausch per WireShark zu beobachten. Das Protokoll zu verstehen, habe ich für die für mich interessanten Daten hinbekommen. War gar nicht so schwer. Es ist auch immer der gleiche Port. Wen es interessiert, dem kann ich hier im Chat gerne antworten. Bitte einfach fragen.
Meine nächsten Schritte wären dann:

  • Per Python-Programm möchte ich den WR ansprechen und eine Kommunikation aufbauen. Ob zu Beginn zwischen dem Windows-Programm (schein in Java geschrieben worden zu sein) und dem WR eine Art Zertifikat ausgetauscht wird, habe ich noch nicht ermitteln können. Falls das nicht der Fall ist, scheint der Kommunikationsaufbau und -Austausch für mich lösbar.
  • Dann muss ich in das Python Programm die learnings aus der Analyse des Protokolls einbauen. Wichtig: Ich will nur lesen. Mich interessieren die Leistungs- und Energiewerte. Der Rest ist mir persönlich “wurscht” :slight_smile:
  • Warum Python? Weil ich dann daraus noch ein Plugin für SmarthomeNG bauen möchte :wink:

So weit so gut. Am kommenden Wochenende mache ich weiter (unter der Woche habe ich dafür leider keine Zeit)

Viele Grüße
Ebse

Ach so: Ich kombiniere den WR mit einer 10.24kWh HVS von BYD (die habe ich schon per SmarthomeNG angebunden und lese die Daten aus) und auf dem nach SüdWest ausgerichteten Satteldach habe ich ca. 5KWp.

Ich klinke mich hier mal kurz ein, weil ich gerne Reverse-Engineering betreibe.
Ich verstehe leider aber gerade nicht ganz, wieso du das alles vor hast?

Im openEMS gibt es ja bereits den KACO Blueplanet Hybrid 10.0 TL3
Ich möchte nur verstehen, was das aktuelle Problem ist, eventuell könnte ich dann auch helfen :slight_smile:

Es ist allerdings so, dass hier halt auch nur openEMS Themen besprochen werden :slight_smile: Wenn wir da einen Vorteil fürs openEMS haben können, dann bin ich gerne dabei ! :wink:

Grüße !

Danke Dir. Gerne helfen. Ich habe leider bei der Suche nichts zum Protokoll gefunden. Welche SW-Komponenten gibt es denn, die ich nutzen kann, um direkt (ohne, dass ich etwas zusätzliches kaufen muss) mit meinem WR “zu reden”? Gerne ein Link oder ähnliches. Ich fräse mich dann schon autodidaktisch da durch :wink:

openEMS - wie bereits erwähnt…

Aber nochmal:

Mein Problem hatte ich versucht, oben zu beschreiben.
Kaco hat keine APP und ich würde gerne irgendwie die Daten auslesen, um sie mir anzuzeigen. Gerne auch via Home Assistant oder gerne auch SmarthomeNG. Jedes Mal dafür den Rechner anzuwerfen, weil die Applikation von Kaco das erfordert, ist für mich keine Option. Wenn OpenEMS eine Lösung hat, dann her damit :wink: Welche Lösung gibt es denn?

https://openems.github.io/openems.io/openems/latest/gettingstarted.html

Hallo @Ebse,

der Code teilt sich in diese beiden OpenEMS-Bundles auf - dort findest du im Prinzip alles, ohne selbst Reverse Engineering zu betreiben. Das Protokoll ist deshalb auch nicht das Problem, sondern dass du dafür eine Partner-ID brauchst.

Gruß,
Stefan

1 Like

Prima, 1000 Dank.
Dann wäre meine Zusammenfassung, dass das, was ich mir wünsche, mit openEMS wohl nicht oder nur schwer klappen wird - dumm, dass ich schon auf Version 8 bin :sob:. Ich schaue mir den code dennoch an, dümmer werde ich davon sicher nicht.
Ich schaue einfach, ob und wie ich eine ähnliche oder gleiche COM zwischen der Win-Applikation und meinem WR emulieren kann. Ich muss es ja nur für meinen eigenen WR schaffen und nicht für die Allgemeinheit. Im Notfall lasse ich irgendwo die Win-Applikation laufen und sniffe die COM, die Ordnung des TCP/IP-Payloads und die wenigen Werte, die mich interessieren, kenne ich ja bereits.
Danke noch mal für die Hilfe.

1 Like