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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    IOBroker Anbindung an einen Kostal Plenticore

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

      @ukl sagte in IOBroker Anbindung an einen Kostal Plenticore:

      @StrathCole , wie war Dein SOC Verlauf in den Tagen vor dem Ruhezustand - konstant oder ständiger Abfall?

      Das mit dem Abfallen ist normal. Ich habe immer so 1% Abfall pro 3-4 Stunden. Das führt nur manchmal dazu, dass ich morgens in die Zwangsladung von 3% auf 8% rutsche, aber das ist kein Problem. Der Ruhezustand ist wohl nur abhängig von der PV-Leistung.

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

        @StrathCole d.h. bei Deinem System funktioniert die SOC Berechnung von BYD. Bei mir ist der SOC über Tage konstant und fällt dann inerhalb von wenigen Stunden um >15% ab. Die BatterieSpannung geht aber ständig linear runter, obwohl geladen wurde. Da funktioniert das gesamte Laden/Entladen/SOC Berechnung gar nicht.
        6c595a73-ab42-4da3-99de-6f9780a7f180-grafik.png

        aber das ist ein OFF-topic und nichts für diesen Thread denke ich

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

          @StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:

          Und ich rege mich gerade mal wieder über Kostal auf. Man kann die automatische Aktivierung des Ruhezustandes (Batterie) ja nicht wirklich verhindern. Die letzten Tage war das Wetter mies, ein paar Tage hatten wir eine dünne Schicht Schnee auf dem Dach, also kamen nur etwa 15-20W. Entsprechend hat der WR die Batterie dann heute Nacht um 0 Uhr in den "Ruhemodus 2"

          ... und ich könnte Kostal in die Tonne kloppen 😠
          Ich möchte folgende Erfahrungen mit Euch teilen:

          Ich hatte gestern Abend irgendwie nichts zu tun und habe das KSEM auf die FW 1.3.0. upgedated.
          Heute Morgen hatte ich dann folgendes Bild:
          b831d67f-6ae5-4acc-a5ac-939f9ec2dbf2-grafik.png
          Batteriestatus: Tiefentladeschutz - Spannung 1V - Batterie wurde nicht geladen - ... und PV-Leistung????

          Neustart der Batterie und des Wechselrichters haben nichts verändert. Die Kommunikation zwischen dem WR und der BYD Batterie war gestört ... durch das Update des KSEM !!! Ein FW-Downgrade des KSEM wurde verhindert - geht also nicht.

          Ich habe dann in meiner Verzweiflung den Plenticore auf die FW 01.17.05075 upgedated. Das Resultat war das Gleiche: Kommunikation zwischen WR und BYD gestört. Erst zwei weitere Neustarts des KSEM haben das Problem gelöst.

          Folgende Anmerkungen zur FW 01.17.05075 des Plenticore WR:

          • Ein FW Downgrade auf 01.16.05025 geht (anders als beim KSEM)
          • Der eingestellte Modus der Batteriesteuerung bleibt beim Upgrade erhalten (bei mir: Extern über Modbus TCP)
          • Bei der FW 01.16.05025 war der Modus über Modbus Register 1080 (Management Mode) veränderbar, das geht mit der FW 01.17.05075 nicht mehr. Der einmal eingestellte Modus bleibt erhalten. Der initiale "timeout" ist übrigends 180 Sekunden. Manuell eingebbar sind aber nur Werte zwischen 1...60 Sekunden ... warum?
          • Laut Handbuch müssen ja innerhalb des Timouts jeweils neue Steuersignale gesendet werden, sonst geht der WR zur internen Batteriesteuerung zurück. Macht ja auch Sinn, falls die externe Steuerung z.B. des Netzbetreibers unterbochen sein sollte. Bei eigener Programmierung sende ich ggfs. jede Minute das Signal neu. Muss ich dann irgendwann mal ausprobieren. Ist im Winter eh egal.
          • Ich bleibe erst mal auf der FW FW 01.17.05075 ... solange ein Downgrade möglich ist (also immer alte FW aufheben)
          StrathCole 1 Reply Last reply Reply Quote 0
          • StrathCole
            StrathCole @tp1de last edited by StrathCole

            Frohes neues Jahr allen zusammen.

            @tom57 Du armer.

            Ich habe jetzt ein ganz anderes Problem. Unser Dach hat ein Scheefanggitter. Das verhindert aber dummerweise, dass der Schnee von den unteren Modulen rutschen kann. Seit ein paar Tagen ist daher die obere Reihe und die halbe mittlere Reihe schneefrei, die andere Hälfte der Mitte und die untere Reihe sind vollständig mit Schnee bedeckt.
            Leistung der kompletten Anlage: Maximal 15W (!)

            Ich hab es schon versucht, indem ich Schattenmanagement eingeschaltet habe, aber keine Änderung. Keine Ahnung, was das soll ☹

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

              @strathcole
              Ganz herzlichen Dank für Deinen Adapter. Ich freue mich jeden Tag über den wunderbaren Überblick über die Daten!!

              Ich habe auch eine Frage... Habe mir den Thread nahezu kompletto durchgelesen 😉

              @Alle
              Ich würde gerne die Forecast Daten nutzen, um für den Tag morgens vor dem Hausverlassen so Dinge wie Trockner, Spülmaschine oder Waschmaschine zu programmieren.

              Der Forecast bietet ja einen Überblick, aber den zu visualisieren fällt mir persönlich leider zu schwer.

              Ich wünschte mir sowas wie Daten mit der realen Uhrzeit (nicht am Sunrise orientiert).
              Also z.B. in eine Systemvariable den erwarteten Stromertrag für die reale Stunde schreiben:
              7-8 Uhr: 0,3 kWh
              8-9 Uhr 0,7 kWh
              ...
              12-13 Uhr 3 kWh
              17-18 Uhr 1 kWh usw.

              Hat jemand vielleicht ein Skript, wo die Stunden des Forecast / erwartete Strommenge auf reale Stunden umgerechnet werden und dann diese in eine Systemvariable geschrieben werden??

              Ich würde daraus gerne dann die Daten in einer Tabelle visualisieren...

              Am oberdollsten wäre es, wenn man in der Tabelle nebeneinander stellen könnte: Durchschnittlicher Verbrauch zwischen 8-9 Uhr x kWh (basierend auf den letzten x Tagen), erwarte Produktion y kWh.

              Und wenn ich schon beim wünschen bin, wäre es super, wenn jemand eine VIS zur Verfügung stellen könnte, die die Werte von oben (durchschnittlicher Verbrauch zur Stunde x und erwartete Erzeugung zu derselben Stunde) schön anzeigt...

              Ich bin leider kein Held beim Blockly bauen ...

              Würde mich über jede Hilde sehr freuen!

              Danke
              Lem

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

                @lemonbiter Genau so etwas nutze ich 😉

                Habe das Ergebnis, also javascript.0.vis.pv_hours dann einfach in ein Feld der vis gelegt.

                if(existsState('javascript.0.vis.pv_hours') === false) {
                    createState('vis.pv_hours', 0, {name: 'HTML-Daten der Stundenvorhersagen', unit: '', type: 'string', role: 'text'});
                }
                schedule('* * * * *', function() {
                    let vishtml = '';
                    let state_id = 'plenticore.0.forecast.day1.power';
                    let hour_state_id;
                    let power;
                    let generated;
                    let time;
                    let gen_percentage;
                    for(let h = 1; h <= 24; h++) {
                        hour_state_id = state_id + '.' + h + 'h';
                        if(!existsState(hour_state_id + '.power')) {
                            //log(hour_state_id + '.power not existing', 'info');
                            continue;
                        }
                        power = getState(hour_state_id + '.power').val;
                
                        if(existsState(hour_state_id + '.generated')) {
                            generated = getState(hour_state_id + '.generated').val;
                        } else {
                            generated = 0;
                        }
                
                        //log('Gen for h ' + h + ' is ' + generated);
                
                        gen_percentage = Math.round(100 * generated / power);
                
                        if(existsState(hour_state_id + '.time')) {
                            time = new Date(getState(hour_state_id + '.time').val);
                            //time.toGermanTime();
                            time = ('0' + time.getHours()).slice(-2) + ':' + ('0' + time.getMinutes()).slice(-2);
                        } else {
                            time = '';
                        }
                
                        vishtml += '<div class="fc-hour-entry">';
                        vishtml += '<div class="fc-hour-time">' + time + '</div>';
                        vishtml += '<div class="fc-hour-forecast">' + Math.round(power).toLocaleString().replace(',', '.') + ' Wh</div>';
                        vishtml += '<div class="fc-hour-real"><span class="progress-bar"><span class="progress" style="width:' + (gen_percentage > 100 ? 100 : gen_percentage) + '%"></span></span><span class="progress-label">' + Math.round(generated).toLocaleString().replace(',', '.') + ' Wh (' + gen_percentage + '%)</span></div>';
                        vishtml += '</div>';
                    }
                
                    setState('vis.pv_hours', vishtml, true);
                });
                
                
                lemonbiter 1 Reply Last reply Reply Quote 0
                • lemonbiter
                  lemonbiter @StrathCole last edited by

                  @strathcole
                  Hey... ja Danke Dir ganz herzlich.

                  Nunja... Ich komme nicht wirklich weit, bitte sei nachsichtig 🙂

                  Habe also ein neues Skript angelegt, den von Dir netterweise zur Verfügung gestellten Inhalt da rein kopiert... Das Skript gestartet... Das war einfach.
                  Aber wie bekomme ich das nun in die VIS?
                  Was für einen Objekttyp ziehe ich in die VIS? Dem müsste ich ja dann das Java Skript zuordnen oder?

                  Also ich habe eine leere Seite in der VIS... und nu? (Schäm)

                  LG
                  Lem

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

                    @lemonbiter Nein, du brauchst ein Objekt vom Type String (unescaped) und musst da dann die Objekt-ID javascript.0.vis.pv_hours eintragen. Und du musst es groß genug ziehen.

                    Und dann im rechten Bereich noch den Reiter CSS öffnen und das hier einfügen:

                    .vis-pv-hours > div {
                        height: 100%;
                    }
                    
                    .vis-pv-hours > div > div {
                        display: flex;
                        flex-direction: column;
                        flex-wrap: wrap;
                        align-items: flex-start;
                        height: 100%;
                    }
                    
                    .fc-hour-entry {
                        display: flex;
                        position: relative;
                        justify-content: space-between;
                        margin-bottom: 0.5rem;
                        width: 45%;
                    }
                    
                    .fc-hour-entry:before {
                        content: '}';
                        position: absolute;
                        left: 110px;
                        bottom: -5px;
                        font-size: 1.75rem;
                    }
                    
                    .fc-hour-entry:after {
                        order: 2;
                        content: '';
                        border-bottom: dotted 2px #fff;
                        flex-basis: 100%;
                        flex-shrink: 1;
                        margin-bottom: 7px;
                    }
                    
                    .fc-hour-entry > * {
                        margin-left: 2rem;
                    }
                    
                    .fc-hour-entry > *:first-child {
                        margin-left: 0;
                    }
                    
                    .fc-hour-entry > .fc-hour-time {
                        flex-basis: 15%;
                        flex-grow: 0;
                        font-size: 1.5rem;
                        white-space: nowrap;
                        order: 1;
                        margin-right: 15px;
                    }
                    
                    .fc-hour-entry > .fc-hour-time:after {
                        content: ' Uhr';
                    }
                    
                    .fc-hour-entry > .fc-hour-forecast,
                    .fc-hour-entry > .fc-hour-real {
                        flex-basis: 35%;
                        text-align: right;
                        flex-grow: 0;
                        flex-shrink: 0;
                        font-size: 1.125rem;
                        margin-top: 1.5rem;
                        order: 3;
                        white-space: nowrap;
                    }
                    
                    .fc-hour-entry > .fc-hour-forecast {
                        flex-basis: 25%;
                        flex-shrink: 1;
                        margin-left: 8px;
                    }
                    
                    .progress-bar {
                        display: flex;
                        height: 16px;
                        background-image: linear-gradient(to right, #9a0000, #009000);
                        border: solid 1px #fff;
                    }
                    
                    .progress-bar:after {
                        content: '';
                        display: block;
                        background: #000;
                        flex-basis: 100%;
                        flex-shrink: 1;
                        flex-grow: 1;
                        max-width: 100%;
                    }
                    
                    .progress-bar > .progress {
                        display: block;
                        background: transparent;
                        flex-shrink: 0;
                    }
                    
                    .fc-hour-entry > .fc-hour-real {
                        position: relative;
                    }
                    
                    .fc-hour-entry > .fc-hour-real > span.progress-label {
                        position: absolute;
                        right: 0;
                        top: 1px;
                        font-size: 0.875rem;
                        font-weight: bold;
                    }
                    
                    lemonbiter 1 Reply Last reply Reply Quote 0
                    • lemonbiter
                      lemonbiter @StrathCole last edited by lemonbiter

                      @strathcole

                      Vielen lieben Dank.
                      So sieht das nun aus....

                      Screenshot 2021-01-14 002304.png
                      Ist vermutlich alles da, aber gut ablesen kann ich es nicht.
                      Würdest Du mir netterweise mal einen Screen deiner VIS reinpacken?

                      Viele Grüße
                      Lem

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

                        @lemonbiter das ist schon richtig so. Ich habe nur den Hintergrund meiner ganzen Vis auf Schwarz.

                        lemonbiter 1 Reply Last reply Reply Quote 0
                        • A
                          ansi70 @ak1 last edited by

                          @ak1 Ich stehe aktuell vor dem gleichen Problem. Hat es hierzu eine Rückmeldung gegeben?

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            ak1 @ansi70 last edited by

                            @ansi70 said in IOBroker Anbindung an einen Kostal Plenticore:

                            @ak1 Ich stehe aktuell vor dem gleichen Problem. Hat es hierzu eine Rückmeldung gegeben?

                            @ansi70 Was meinst Du genau?

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

                              @strathcole Vielen lieben dank. Es läuft. Finde die Lesbarkeit zwar nicht sooo... ideal, aber immerhin.

                              Hast Du vielleicht auch noch einen netten Tipp zum zweiten Teil meiner Frage: Ich fände es supi wenn die Werte - umgeschrieben auf der echten Uhrzeit (also nicht der x nach Sonnenaufgang) in eine Sysvariable geschrieben würde... Dann könnte ich mir selbst eine Tabelle bauen...

                              Wenn Du da nichts hast, was ich nutzen kann... kein Problem... Wenn doch: Jippieeijäh 🙂

                              Lieben Gruß und Danke noch mal

                              Lem

                              1 Reply Last reply Reply Quote 0
                              • J
                                joefarm @Diginix last edited by joefarm

                                @diginix
                                Ich versuche seit einiger Zeit an die HV-Box zu kommen per web-interface, aber ich schaffe es nicht. Die Box ist in der Fritzbox zu sehen, aber wenn ich die IP der HV-Box eingebe, passiert ein redirect auf die Fritzbox, die beim mir dir 192.168.5.1 hat. Evtl. ist das Teil des Problems, weil über WLAN das auch die IP der HV-Box. Über WLAN komm ich nach dem Einschalten dran, aber nur direkt.

                                Auch eine statische Route 192.168.6.1 auf die IP der HV-Box hilft nicht.
                                Was mache ich falsch?

                                Diginix 1 Reply Last reply Reply Quote 0
                                • Diginix
                                  Diginix @joefarm last edited by Diginix

                                  @joefarm Sicher dass du eine alte HV BYD hast und keine neuere HVS oder HVM?
                                  Denn diese haben keine eigene WebUI mehr. Die kannst du imho nur noch mit Be Connect administrieren.

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    joefarm @Diginix last edited by

                                    @diginix
                                    Ja ganz sicher.
                                    Wenn ich die HV-Box einschalte, kann ich mich an deren WLAN-Hotspot z.B. mit dem Ipad dranklemmen und dann über die Seite 192.168.5.1 einloggen. Da sehen ich alles. Nur hätte ich die Box gerne im LAN, wenn ich sie anstecke, bekommt sie auch eine eigene IP in der Fritzbox. Soweit so gut.
                                    Ich hab die Box jetzt schon fast 2 Jahre, da gab es nur HV und nicht die neueren.

                                    Diginix 1 Reply Last reply Reply Quote 0
                                    • Diginix
                                      Diginix @joefarm last edited by

                                      @joefarm Ja, bei dem Alter ist es sicher eine HV, wie bei mir.
                                      Ich hab bei meiner auch einfach nur ein LAN Kabel zur Fritzbox gezogen und konnte dann mit der IP, die die Fritzbox vergeben habt, direkt auf die Oberfläche. Wenn das so bei dir nicht klappt, fällt mir gerade auch nichts weiter hilfreiches ein.

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        joefarm @Diginix last edited by

                                        @diginix
                                        Ok danke. Dachte ich mir fast. Noch eine Frage: wenn du die IP der HV-Box eingibst, passiert dann ein redirect auf die 192.168.5.1 oder bleibt es bei der IP der HV-Box?

                                        T Diginix 2 Replies Last reply Reply Quote 0
                                        • T
                                          tp1de @joefarm last edited by tp1de

                                          @joefarm Ich habe verstanden, dass Du per WLAN auf die BYD HV-Box kommst. Hat der Router denn eine IP-Adresse aus dem DHCP Bereich für eth0 vergeben?

                                          Bei mir sieht das unter Device Information so aus:
                                          f5c02ece-7ca6-4b22-b764-5a02068b270a-grafik.png

                                          Ein redirect erfolgt bei der eigenen IP nicht.

                                          J 2 Replies Last reply Reply Quote 0
                                          • Diginix
                                            Diginix @joefarm last edited by

                                            @joefarm Bei Verbindung mit der FB hat meine BYD eine IP im Bereich meines Heimnetzes. Das ist nicht 192.168.5.x.
                                            Und wenn ich diese aufrufen werde ich auch nicht weitergeleitet.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            635
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            83
                                            1298
                                            317843
                                            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