Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. IOBroker Anbindung an einen Kostal Plenticore

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    IOBroker Anbindung an einen Kostal Plenticore

    This topic has been deleted. Only users with topic management privileges can see it.
    • StrathCole
      StrathCole @Garbracht last edited by

      @garbracht sagte in IOBroker Anbindung an einen Kostal Plenticore:

      @StrathCole Nachdem ich bisher den ModBus Adapter erfolgreich eingesetzt habe, bin ich gestern auf deinen Kostal Plenticore API Adapter gestoßen. Ich habe ihn installiert und es hat alles problemlos geklappt. Danke für den tollen Adapter !!!

      Freut mich 🙂

      Mit dem Wetter habe ich eine Schwierigkeit: Unter forecast / city bekomme ich "sophienhoehe" angezeigt.
      Wie kann ich meinen Standort " Bad Harzburg" eingeben?

      Leider gar nicht. Dieser Standort wird nur informationshalber ausgegeben und ist der, der anhand der Webseite Kachelmannwetter und deiner Koordinaten, die du im ioBroker hinterlegt hast, als Basis genommen wird. Du kannst das auch prüfen, indem du direkt auf die Kachelmann Seite gehst und dort deinen Ort angibst.
      Diese Info wird aber nur für Kachelmann genutzt und nicht für die Übrigen Forecast-Quellen. Dort wird dein Standort nach Länge und Breite genutzt.

      G 1 Reply Last reply Reply Quote 0
      • H
        HomeUser @StrathCole last edited by

        @strathcole said in IOBroker Anbindung an einen Kostal Plenticore:

        @homeuser Kannst du denn vielleicht mal den Datenpunkt plenticore.0.devices.local.battery.SmartBatteryControl in den History- oder Influx-Adapter packen und schauen, wie er vom Adapter gesteuert wird?
        Wenn ich es recht im Kopf habe, sollte der Adapter den bei schlechter Prognose eigentlich auf false setzen, was wiederum (eigentlich!) dazu führt, dass auch der WR die Batterie immer bei Überschuss lädt und nicht einspeist.

        Heute war ein Tag mit anfangs Sonne, so dass ich Infos sammeln konnte.

        Das Chart mit SmartBatteryControl
        3363c3e5-b5e0-4f53-b607-c818f70f049e-image.png

        Außerdem habe ich zwischendurch aufgeschrieben wieder das Ladzustand des Speicher war und ob geladen wurde, verbraucht oder eingespeist (war blöd, dass ich es nicht im History aktiviert hatte; mache ich für morgen).
        d0390d0b-cbaa-4b69-8c3c-eb68389ba0e1-image.png

        Um 12:10 Uhr habe ich den Batteriestatus angeschaut. Der stand auf "Normal".

        Morgen ist wieder Sonne. Dann kann ich weiter aufzeichnen was wann wo passiert. Ich würde jetzt mal noch den Stand Speicherladung, Verbrauch, Ladung und Einspeisung aufzeichnen. Weitere Ideen, was nützlich sein könnte, um das Verhalten zu prüfen/verstehen?

        H 1 Reply Last reply Reply Quote 0
        • H
          HomeUser @HomeUser last edited by

          @StrathCole Ich habe gerade doch mal in den Code geschaut, ob ich eine Idee habe, was passiert. Da es nicht viele Stellen gibt bzgl. SmartBatteryControl, habe ich mich von dort rückwärts durchgehangelt.

          In plenticore.js sind die Zeilen 2329-2333 auskommentiert. Den auskommenierten Code habe so verstanden, dass das SmartBatteryControl auf false gesetzt wird, wenn die noch "freie" Energie (Energie des Tages minus erwarteter Verbrauch minus noch fehlende Ladung im Speicher) kleiner ist als 70% der Peakleistung. Oder wenn SoC kleiner ist als die Schwelle, die man in der Adapter-Konfig eingestellt hat.

          Statt der auskommentierten Zeilen werden jetzt die darunter stehenden verwendet. Diese sind mir unklar (nicht der Code, sondern die Gedanken dahinter).

          Und weil ich es dabei gerade gesehen habe: Ist der Faktor 0,7 drin wegen der Kappung bei 70% der Peakleistung? Wäre es möglich das konfigurierbar zu machen für Leute, die - so wie ich - wegen der Förderung des Speichers eine Kappung bei 50% haben? (Bitte keine Kommentare, ob das sinnvoll war. Man lerne ja einiges erst bei der ersten PV-Anlage und nicht davor....)

          StrathCole 1 Reply Last reply Reply Quote 0
          • G
            Garbracht @StrathCole last edited by

            @strathcole Danke für deine schnelle Antwort. Die Sache hat sich inzwischen geklärt: ich habe nochmal auf der ioBroker Seite mit den Systemeinstellungen / Ortskoordinaten nachgeschaut. Da wird auch eine Karte angezeigt. In der Nähe meines Hauses ist eine Bushaltestelle mit der Bezeichnung "Sophienhöhe". Der Text wurde wohl übernommen ??? Also alles i.O.

            Ich rechne damit, daß ich im Sommer Strom übrig haben werde. Ich möchte den nicht ins Netz einspeisen, sondern dazu benutzen, mein Brauchwasser aufzuwärmen. Dazu plane ich, entweder eine Heizstab oder eine Brauchwasserwärmepumpe einzusetzen. Wenn du deinen Adapter in diese Richtung erweiterst, wäre ich interessiert. Soweit ich weiß hat der Plenticore auch eine Schaltausgang, den man ggf. benutzen kann. Dazu ist aber wohl eine Freischaltung durch Kostal notwendig.

            Noch eine schönen Abend.

            StrathCole H 2 Replies Last reply Reply Quote 0
            • StrathCole
              StrathCole @Garbracht last edited by

              @garbracht sagte in IOBroker Anbindung an einen Kostal Plenticore:

              Wenn du deinen Adapter in diese Richtung erweiterst, wäre ich interessiert. Soweit ich weiß hat der Plenticore auch eine Schaltausgang, den man ggf. benutzen kann. Dazu ist aber wohl eine Freischaltung durch Kostal notwendig.

              Das wird schwierig für mich, da ich so etwas nicht habe und ansehen / testen kann.

              1 Reply Last reply Reply Quote 0
              • StrathCole
                StrathCole @HomeUser last edited by

                @homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:

                Statt der auskommentierten Zeilen werden jetzt die darunter stehenden verwendet. Diese sind mir unklar (nicht der Code, sondern die Gedanken dahinter).

                Das kann ich dir anhand der Zeilen erklären:

                if(parseInt(curSoCPercentage) < parseInt(curMinSoC) + 8) {
                    adapter.log.info('Disabling battery management because ' + curMinSoC + ' is too high for current SoC ' + curSoCPercentage);
                    fc_above_70 = false;
                } else if(power_plus >= 2 * adapter.config.battery_capacity) {
                    fc_above_70 = true;
                } else {
                    fc_above_70 = false;
                }
                

                Die erste Abfrage deaktiviert die Steuerung, wenn die aktuelle SoC des Speichers kleiner ist als die eingestellten minSoC + 8%. KOSTAL hat nämlich die Eigenart, dass das Management im Sommer sonst sofort greift und man mit Pech dann einen Verbrauchspeak hat, der aus dem Netz zieht. Daher 8% Puffer.

                Die zweite Abfrage prüft, ob die Prognose für die verbleibende Tagesleistung mind. das Doppelte der Batteriekapazität ist. Wenn nicht, wird die Steuerung auch deaktiviert. In allen übrigen Fällen ebenso.
                Bei dir müsste also die verbleibende Prognose > 2xSpeicherkapazität gewesen sein.

                H 1 Reply Last reply Reply Quote 0
                • H
                  HomeUser @Garbracht last edited by

                  @garbracht Da ich auch meine Wärmpumpe gerne dann laden will, wenn Strom verfügbar (oder sogar übrig) ist, habe ich etwas in der Richtung in Blockly aufgesetzt (Da ich zu lange selbst nicht mehr wirklich SW entwickelt habe, ist Blockly zufriedenstellender).
                  Es ist vorgesehen, dass die Wärmepumpe lädt, wenn das Wasser zu kalt wird (egal ob Strom da ist) oder wenn Strom da ist oder wenn Strom zu viel ist oder der Raum zu warm wird (weil unser uralter Trockner drin stehlt).

                  Das geht recht problemlos mit Hilfe dies Adapters aber außerhalb vom Adapter selbst.
                  Bei Interesse kann ich es Dir schicken.

                  1 Reply Last reply Reply Quote 0
                  • H
                    HomeUser @StrathCole last edited by

                    @strathcole said in [IOBroker Anbindung an einen Kostal Plenticore](/post/73446

                    Die zweite Abfrage prüft, ob die Prognose für die verbleibende Tagesleistung mind. das Doppelte der Batteriekapazität ist. Wenn nicht, wird die Steuerung auch deaktiviert. In allen übrigen Fällen ebenso.
                    Bei dir müsste also die verbleibende Prognose > 2xSpeicherkapazität gewesen sein.

                    Vom Code her verstanden, aber was ist der technische Gedanke dahinter? Den verstehe ich bislang nicht.

                    StrathCole 1 Reply Last reply Reply Quote 0
                    • StrathCole
                      StrathCole @HomeUser last edited by

                      @homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:

                      @strathcole said in [IOBroker Anbindung an einen Kostal Plenticore](/post/73446

                      Die zweite Abfrage prüft, ob die Prognose für die verbleibende Tagesleistung mind. das Doppelte der Batteriekapazität ist. Wenn nicht, wird die Steuerung auch deaktiviert. In allen übrigen Fällen ebenso.
                      Bei dir müsste also die verbleibende Prognose > 2xSpeicherkapazität gewesen sein.

                      Vom Code her verstanden, aber was ist der technische Gedanke dahinter? Den verstehe ich bislang nicht.

                      Also:
                      Kostal hat die Eigenheit, dass die Steuerung in beide Richtungen versagt. Nehmen wir an, du hast ein paar Tage Sonne und dann einen Tag mit mieser Prognose. Dann würde KOSTAL die Batterie erst einmal nicht laden, weil ja die vergangenen Tage gut waren.
                      Also schaue ich, dass die KOSTAL-Steuerung deaktiviert wird, wenn die Prognose (restlicher Tag) weniger ist als 2x die Batteriekapazität. Damit wollte ich sicherstellen, dass die Batterie nicht zu spät geladen wird.
                      Die andere Richtung kann ich nicht beeinflussen, also dass KOSTAL die Batterie nach mehreren Tagen schlechter Leistung bei einem Sonnentag sofort lädt.

                      Optimieren könnte man sicherlich, dass man die Abschaltschwelle der Steuerung selbst festlegen kann, entweder als Faktor der Batteriekapazität oder als absoluten Wh Wert. Aber dazu werde ich erst einmal nicht kommen.
                      Warum es bei dir nicht gut funktioniert, verstehe ich aber bisher noch nicht.

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        HomeUser @StrathCole last edited by

                        @strathcole said in IOBroker Anbindung an einen Kostal Plenticore:

                        Warum es bei dir nicht gut funktioniert, verstehe ich aber bisher noch nicht.

                        Ich habe gerade den Debugoutput eingeschaltet und bin Code und Output durchgegangen. Und siehe, die Ursache ich vermutlich simpel: Ich habe meine Speicherkapazität in kWh (5,12) anstatt Wh (5120) angegeben. Dadurch sind natürlich alle Vergleiche etc. Quatsch.
                        Mal schauen, was jetzt so in den nächsten Tagen passiert. Vielleicht lese ich mich auch weiter in den Code ein. Falls ich Vorschläge habe, melde ich mich.

                        StrathCole 1 Reply Last reply Reply Quote 0
                        • StrathCole
                          StrathCole @HomeUser last edited by

                          @homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:

                          @strathcole said in IOBroker Anbindung an einen Kostal Plenticore:

                          Warum es bei dir nicht gut funktioniert, verstehe ich aber bisher noch nicht.

                          Ich habe meine Speicherkapazität in kWh (5,12) anstatt Wh (5120) angegeben. Dadurch sind natürlich alle Vergleiche etc. Quatsch.

                          Das erklärt natürlich einiges.

                          1 Reply Last reply Reply Quote 0
                          • B
                            Bock.Johannes @StrathCole last edited by

                            @strathcole Hey, ich glaube das ist genau das was ich such 🙂
                            Habe eine OpenWB bzw. zwei und möchte wenn dort der Ladevorgang beginnt den Batteriespeicher auf z.B. Max 800W Erzeugung für die Dauer des Ladevorgangs drosseln sofern nicht PV-Laden aktiv ist. Die Holdingregister habe ich glaube ich alle soweit drin und mache auch schon eine Menge damit, aber das Thema Sofort Laden ohne den Speicher leerzusaugen ist aktuell meine Herausforderung. Kannst Du mir hier vielleicht mehr Infos geben?

                            Diginix StrathCole 2 Replies Last reply Reply Quote 0
                            • Diginix
                              Diginix @Bock.Johannes last edited by

                              @bock-johannes sagte in IOBroker Anbindung an einen Kostal Plenticore:

                              Thema Sofort Laden ohne den Speicher leerzusaugen ist aktuell meine Herausforderung. Kannst Du mir hier vielleicht mehr Infos geben?

                              Damit der Akku nicht verwendet wird, reicht es idR dessen minSOC >= dem istSOC zu setzen.
                              Wenn dein Akku also z.B. 65% hat und der minSOC 5% ist und du das Auto laden willst, dann setzt du den minSOC auf 65% und der PV Akku sollte dann nicht entladen werden.

                              B 2 Replies Last reply Reply Quote 0
                              • B
                                Bock.Johannes @Diginix last edited by

                                @diginix Das ist die einfachste Variante ja. Dafür habe ich mir schon den Plenticore Adapter eingerichtet. Worauf ich aber eigentlich hinaus möchte ist, das wenn Sofort geladen wird für die Dauer des Ladevorgangs die Leistung aus dem Speicher auf 1000W z.B. begrenzt wird, ich denke dann hält der auch länger und umladen aus dem Speicher ist ja auch mit vielen Verlusten verbunden...

                                1 Reply Last reply Reply Quote 0
                                • B
                                  Bock.Johannes @Diginix last edited by

                                  @diginix die Lösung habe ich schon etabliert und funktioniert super bisher

                                  1 Reply Last reply Reply Quote 0
                                  • StrathCole
                                    StrathCole @Bock.Johannes last edited by

                                    @bock-johannes Also, möglich ist das mit einem Skript.

                                    Dafür muss aber im Wechselrichter die externe Batteriesteuerung via ModBus erlaubt und aktiviert sein (das kann nur der Installateur-Zugang).

                                    Wenn das aktiv ist, kann man im Register modbus.0.holdingRegisters.1078_Max_Discharge Pwr Lim, also 1078 die Entladebegrenzung in W setzen. Wichtig ist dann nur, dass man sie mindestens alle ~10 Sekunden neu setzt, da der WR einen Timeout hat und die Steuerung dann automatisch wieder deaktiviert (auf intern umstellt).

                                    Vorgehen wäre also:
                                    Javascript schreiben, das

                                    1. mit openWB-Adapter ausliest, ob der Lademodus "Sofortladen" ist und das Auto eingesteckt ist
                                    2. wenn ja, entsprechend alle paar Sekunden das Register 1078 auf 1000 setzen
                                    3. wenn nein, Wert wieder auf Standard zurücksetzen
                                    J 1 Reply Last reply Reply Quote 0
                                    • N
                                      Neo77 last edited by

                                      Hallo, vielen Dank für diesen tollen Adapter. Ich habe seit Januar ebenfalls eine Anlage mit dem Kostal Plenticore plus 10. BYD Batterie ist auch geordert, kommt aber wohl erst Mitte des Jahres. Deinen Adpater habe ich schon miteingebunden und sehe Unmengen an Werten. Hier habe ich gerade auch schon eine Frage:

                                      Unter den Objekten Forecast bei generated plant power today wird mir ein Wert von 2,2 KW angezeigt, in der Statistik im Wechselrichter stehen für heute aber nur 1,7 KW. Wird dort vielleicht schon der Verbrauch vom Wechselrichter abgezogen?

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        Deven2k last edited by

                                        Hallo,
                                        ich habe diesen post hier gefunden und habe die selben Warnmeldungen bei mir auch.
                                        Konnte aber die Lösung nicht erlesen, darauf wurde nicht genau geantwortet oder ich hab es nicht verstanden.
                                        Liegt das an der Modbus Einstellung?

                                        von burnit

                                        @strathcole mit einem 20s polling interval sehe ich im log alle 20s eine Warnung vom Adapter

                                        2021-04-15 17:16:39.187 - warn: plenticore.0 (9754) Requesting settings - [{"moduleid":"devices:local","processdataids":["Dc_P","DigitalIn","EM_State","HomeBat_P","HomeGrid_P","HomeOwn_P","HomePv_P","Home_P","Inverter:State","LimitEvuAbs"]},{"moduleid":"devices:local:ac","processdataids":["CosPhi","Frequency","L1_I","L1_P","L1_U","L2_I","L2_P","L2_U","L3_I","L3_P","L3_U","P","Q","S"]},{"moduleid":"devices:local:battery","processdataids":["Cycles","SoC","I","U","P"]},{"moduleid":"devices:local:pv1","processdataids":["I","U","P"]},{"moduleid":"devices:local:pv2","processdataids":["I","U","P"]},{"moduleid":"scb:export","processdataids":["PortalConActive"]},{"moduleid":"scb:statistic:EnergyFlow","processdataids":["Statistic:Autarky:Day","Statistic:Autarky:Month","Statistic:Autarky:Total","Statistic:Autarky:Year","Statistic:EnergyHome:Day","Statistic:EnergyHome:Month","Statistic:EnergyHome:Total","Statistic:EnergyHome:Year","Statistic:EnergyHomeBat:Day","Statistic:EnergyHomeBat:Month","Statistic:EnergyHomeBat:Total","Statistic:EnergyHomeBat:Year","Statistic:EnergyHomeGrid:Day","Statistic:EnergyHomeGrid:Month","Statistic:EnergyHomeGrid:Total","Statistic:EnergyHomeGrid:Year","Statistic:EnergyHomePv:Day","Statistic:EnergyHomePv:Month","Statistic:EnergyHomePv:Total","Statistic:EnergyHomePv:Year","Statistic:OwnConsumptionRate:Day","Statistic:OwnConsumptionRate:Month","Statistic:OwnConsumptionRate:Total","Statistic:OwnConsumptionRate:Year","Statistic:Yield:Day","Statistic:Yield:Month","Statistic:Yield:Total","Statistic:Yield:Year","Statistic:CO2Saving:Day","Statistic:CO2Saving:Month","Statistic:CO2Saving:Year","Statistic:CO2Saving:Total"]}]) failed with code 503: {"message":"internal communication error, try again later"}

                                        Liegt das evtl. an meiner alten Firmware-Version oder ist das normal? Ich kann nicht erkennen, dass es irgendwelche Fehler in den Datenpunkten gäbe.

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          Jost 1 @StrathCole last edited by

                                          @strathcole Erstmal vielen Dank für den Adapter, habe deswegen gleich mal wieder iobroker aktiviert. 😉

                                          Da man aktuell leider weder den KSEM noch TQEM kaufen kann, lasse ich den Plenticore mit der baugleichen energybase laufen. Entladen des HVS hat via energybase geklappt, nur das Laden nicht. Deswegen will ich via Modbus das Laden selber steuern. Leider sind meine Versuche über Register 1026 oder 1034 nicht erfolgreich gewesen, jegliche Werte werden sofort wieder genullt. Muss ich weitere Register setzen, damit man die Ladung über Modbus "erzwingen" kann? Über die Digitaleingänge konnte ich laden mit 25% und 50% erzwingen, mehr ging nicht.

                                          UI-Version 01.18.05255 / MC-Version 01.47 / IOC-Version 01.45 / HW-Version 0200

                                          Installateurscode habe ich und kann dementsprechend die Einstellungen im Plenticore ändern. Würde mich über Erfahrungen mit Modbus-Steuerung freuen.

                                          StrathCole 1 Reply Last reply Reply Quote 0
                                          • StrathCole
                                            StrathCole @Jost 1 last edited by

                                            @jost-1 Du musst via Installateurscode in den Einstellungen die "Externe Steuerung" via Modbus aktivieren. Sobald diese aktiviert ist, musst du mindestens alle 10-30 Sekunden den entsprechenden Modbus Wert setzen, sonst setzt der Kostal wieder auf interne Steuerung zurück.

                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            522
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            83
                                            1298
                                            312742
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo