Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. E3DC Hauskraftwerk steuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    E3DC Hauskraftwerk steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ArnoD last edited by

      Habe eine neue Version Charge-Control auf GitHub hochgeladen.
      Version: 1.0.3
      Änderungen:

      • Die Entladeleistung wird langsam erhöht, um Kurve zu glätten.
      • Speichergröße berechnen geändert. Es wird der ASOC (Alterungszustand) von Bat_0 verwendet, um die verfügbare Batteriekapazität zu berechnen
      • Wenn weniger als 500 W in das Netz eingespeist werden können, wird die Regelung ausgeschaltet.
        Bei wechselnder Bewölkung ist die Regelung zu langsam, um Netzbezug zu verhindern, deswegen wird bereits ab einer Einspeiseleistung von 500 W die Regelung E3DC überlassen.
      A 1 Reply Last reply Reply Quote 0
      • A
        ArnoD last edited by ArnoD

        Ich habe mir heute die Regelung angesehen und stelle fest, dass die Batteriekapazität immer noch zu hoch berechnet wird.
        Die Ladeleistung fällt kontinuierlich ab, was bedeutet, es wird mit einer zu hohen Batteriekapazität gerechnet.
        Im Script wird der ASOC oder auch SoH der Batterie bereits berücksichtigt.
        Was aber fehlt ist die max. Entladetiefe der Batterie, die bei mir mit 90 % angegeben ist.

        Meine Frage an euch ist nun, ob bei euch das auch so ist, dann würde ich das im Script noch berücksichtigen.
        3f4a7c89-8987-457e-ab75-3958059d57e8-grafik.png

        Nachtrag:
        Ich habe mir die technischen Angaben der anderen E3DC Speicher mal angesehen und je nach Typ kann die Entladetiefe der Batterie zwischen 90% und 100% liegen.
        Ich werde dann im Script eine zusätzliche Variable anlegen, wo man das eintragen kann.

        1 Reply Last reply Reply Quote 0
        • stiwy18
          stiwy18 last edited by stiwy18

          Hi ArnoD,
          erst mal Danke für die tolle Arbeit, bin schon seit langen Fan von E3DC Control zusammen mit deinem ioBroker Skript, aber direkt über ioBroker ist es natürlich noch genialer.
          Evtl. macht es Sinn, wenn man eine Variable einbaut, als Puffer für die Abregelung, mein E3DC glaube ich fällt regelmäßig kurzzeitig in die Abregelung, weil er zu wenig Zeit zum regeln hat:
          Abregelung.png
          Was meinst du?
          VG
          Stefan

          A 1 Reply Last reply Reply Quote 0
          • A
            ArnoD @stiwy18 last edited by

            @stiwy18
            Das ist ja interessant.
            Wie hat da deine Einstellung ausgesehen und kannst du mal das Diagramm vom ganzen Tag zeigen.
            Wo ist deine Einspeisegrenze und was ist die max WR-Leistung?
            An der Zeit kann es nicht liegen, da min. 2 min. nicht reagiert wurde.
            Das komische ist der letzte Balken von der Abriegelung, da die Netz-Leistung da unter 5000W ist und die PV-Leistung knapp darüber.

            1 Reply Last reply Reply Quote 0
            • stiwy18
              stiwy18 last edited by stiwy18

              Klar, die Einstellung ist folgende gestern gewesen:
              c1296736-e32e-44e0-a30e-bba54036fedb-image.png
              Der Verlauf über den ganzen Tag sah so aus:
              e66d1d7d-8040-4d27-8067-53b1602aadb8-image.png
              Die Einspeisegrenze ist 5806 Watt und die maximale WR Leistung 15000 Watt.

              Viele Grüße,
              Stefan

              A 1 Reply Last reply Reply Quote 0
              • A
                ArnoD @stiwy18 last edited by

                @stiwy18

                Ok, da war was mit 0.1 kWh Abstand zum Grenzwert wegen Trägheit der Steuerung.
                Das konnte man mit dem Parameter "einspeiselimit" selber einstellen.

                Ändere mal im Script die Zeile 163 und 164 folgendermaßen ab:

                
                let Max_wrleistung_W = getState(sID_Max_wrleistung_W).val - 200;                // Maximale Wechselrichter Leistung (Abzüglich 200 W, um die Trägheit der Steuerung auszugleichen)
                let Einspeiselimit_kWh = (getState(sID_Einspeiselimit_W).val - 200)/1000;       // Einspeiselimit (Abzüglich 200 W, um die Trägheit der Steuerung auszugleichen)
                

                Damit sollte es funktionieren.
                Bitte eine kurze Rückmeldung, ob es so funktioniert, dann übernehme ich das im Script.

                stiwy18 1 Reply Last reply Reply Quote 0
                • stiwy18
                  stiwy18 @ArnoD last edited by

                  @arnod Hab ich so eingebaut, ich schick morgen Nachmittag einen neuen Graph, wie er sich verhält.
                  Danke für die schnellen Antworten, gibt's eigentlich eine Kaffeekasse für deine Arbeit?

                  A 2 Replies Last reply Reply Quote 0
                  • A
                    ArnoD @stiwy18 last edited by

                    @stiwy18

                    gibt's eigentlich eine Kaffeekasse für deine Arbeit?

                    Ist ein reines Hobby, sonst würde ich es nicht machen 🙂
                    Wer aber mir ein Bier spendieren will, für abends auf der Terrasse findet den Link auf GitHub im Readme:
                    GitGub ArnoD

                    1 Reply Last reply Reply Quote 0
                    • A
                      ArnoD last edited by

                      Nach der Änderung im Skript, das 10% von der Batteriekapazität abgezogen werden, passt die Regelung.
                      Jetzt wird gleichmäßig geladen und auch auftretende Verschattung durch Wolken führen nicht mehr zu einem Netzbezug.
                      e6a83484-d65e-4d35-a258-ce7c09904404-grafik.png

                      Morgen werde ich auch mal versuchen, dass ich die Einspeisebegrenzung teste.

                      1 Reply Last reply Reply Quote 0
                      • A
                        ArnoD @stiwy18 last edited by

                        @stiwy18
                        Ich konnte heute bei mir die Regelung bei Erreichen der Einspeisegrenze prüfen und habe festgestellt, dass hier noch ein anderes Problem mit reinspielt.
                        Die E3DC Steuerung bleibt mit der Entladeleistung um ca. 100 W unter dem Einstellwert.
                        Bedeutet, wenn ich im Script einstelle das mit 200 W entladen werden soll, wird das vom e3dc-rscp Adapter so an die E3DC-Steuerung geschickt, aber die lädt trotzdem nur mit 100W.
                        Warum das so ist, habe ich noch nicht verstanden.
                        Einfache Lösung ist die Werte um das zu erhöhen, also im Script Zeile 163 und 164 folgendes einzutragen:

                        let Max_wrleistung_W = getState(sID_Max_wrleistung_W).val - 300;                // Maximale Wechselrichter Leistung (Abzüglich 200 W, um die Trägheit der Steuerung auszugleichen)
                        
                        let Einspeiselimit_kWh = (getState(sID_Einspeiselimit_W).val - 300)/1000;       // Einspeiselimit (Abzüglich 200 W, um die Trägheit der Steuerung auszugleichen)
                        
                        1 Reply Last reply Reply Quote 0
                        • stiwy18
                          stiwy18 last edited by stiwy18

                          Hi Arno,
                          das probiere ich dann für morgen aus, wie sich der Unterschied verhält, heute ist er in der Tat noch nicht in die Abregelung gefallen:
                          76f3a8d2-4940-48dc-8dfa-e9cf47b06c60-image.png
                          und die Netzleistung liegt maximal bei ~5600 Watt.
                          VG
                          Stefan

                          1 Reply Last reply Reply Quote 0
                          • stiwy18
                            stiwy18 last edited by stiwy18

                            Hi Arno,
                            auch Tag zwei mit den 200 Watt Abzug liefen ohne Abregelung super durch 🙂
                            c58b206d-8dad-4c9b-a359-6575dae166af-image.png
                            Was mir aber auffällt, dass er aktuell immer noch den Akku bei 95% hält, obwohl er Ladeende eigentlich schon erreicht hätte:
                            ccb1c7bc-9ad3-4fc9-a69e-bec65ccc3bf5-image.png
                            Müsste er nicht jetzt schon die Regelung abschalten (zumindest hatte ich das so mit E3DC Control glaube ich)?

                            VG
                            Stefan

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              ArnoD @stiwy18 last edited by ArnoD

                              @stiwy18 sagte in E3DC Hauskraftwerk steuern:

                              Müsste er nicht jetzt schon die Regelung abschalten (zumindest hatte ich das so mit E3DC Control glaube ich)?

                              Ja stimmt, habe ich in v1.0.7 geändert.
                              Danke.

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

                                Habe eine neue Version Charge-Control auf GitHub hochgeladen.
                                Version: 1.0.7
                                Änderungen:

                                • Nach der Zeit Ladeende (Sommer Ladeende) wird die Regelung ausgeschaltet
                                • Beim Skript Start werden jetzt auch die Prognosewerte Solcast abgerufen, mit folgender Einschränkung:
                                  Vor 4 Uhr werden die Prognosewerte für den aktuellen Tag + 6 Tage aktualisiert
                                  Nach 4 Uhr werden nur die Prognosewerte für den nächsten Tag + 5 Tage aktualisiert
                                • Es werden 200 W vom Einspeiselimit und der maximalen Wechselrichterleistung abgezogen, um die Trägheit der Steuerung auszugleichen,
                                • Speichergröße berechnen geändert. Von der max. Kapazität der Batterie, werden 10 % abgezogen, die E3DC verwendet,
                                  um ein Entladen auf 0 % oder laden auf 100 % zu verhindern.
                                  Da das typabhängig ist, muss die Entladetiefe in % im Script unter Einstellungen E3DC eingetragen werden.
                                • Fehler korrigiert, dass SET_POWER_MODE und SET_POWER_VALUE beim Skript Start zu einem Fehler führen, wenn diese beiden State
                                  nicht definiert sind.
                                A 1 Reply Last reply Reply Quote 0
                                • stiwy18
                                  stiwy18 last edited by

                                  Hi Arno,
                                  Vielen Dank für das einbauen der Erkenntnisse :-), hab das natürlich gleich eingespielt am 17 Juli.
                                  Was mir aufgefallen ist, heute morgen hat er auf „Alles laden“ eingestellt, obwohl die Berechnungsgrundlage eigentlich „Sonne“ ergeben müsste:
                                  74D5BBCF-2D20-4948-B1E9-9AA990094A64.jpeg
                                  Ich hab dann einmal die Automatik rausgenommen und wieder aktiviert, dann hat er „Sonne“ ausgewählt.
                                  076914A0-C66B-4034-B2FE-501067E0B9D1.jpeg
                                  Das ist heute morgen das erste mal aufgetreten, daher weis ich noch nicht, ob es etwas mit Version 1.0.7 zu tun hat oder eine „Eintagsfliege“ war.
                                  Viele Grüße
                                  Stefan

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    ArnoD @stiwy18 last edited by

                                    @stiwy18
                                    Kannst du mal die Berechnung aus dem LOG von heute Morgen zeigen.
                                    Sollte in etwa so aussehen:

                                    2022-07-19 02:10:00.245 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: ******************* Es wird die Globalstrahlung von Proplanta abgerufen *******************
                                    2022-07-19 02:10:01.021 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Rueckmeldung InterrogateProplanta XHR.Status= 200
                                    2022-07-19 02:10:01.209 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Näste Aktualisierung Wetterdaten =10:00 Uhr
                                    2022-07-19 02:10:01.268 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose Solcast in kWh = 95.41
                                    2022-07-19 02:10:01.269 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose Solcast 90 Perzentil in kWh = 95.41
                                    2022-07-19 02:10:01.269 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose Proplanta in kWh = 102.49199999999999
                                    2022-07-19 02:10:01.269 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: -==== Prognose für Tag6 konnte nicht abgerufen werden ====-
                                    2022-07-19 02:10:01.269 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose_kWh nach Abzug Korrekturfaktor = 95.41
                                    2022-07-19 02:10:01.270 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Bereits produzierte PV-Leistung = 0
                                    2022-07-19 02:10:01.331 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose_kWh_heute für Berechnung = 95.41
                                    2022-07-19 02:10:01.531 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: BatterieProzent(wert)=63.79
                                    2022-07-19 02:10:01.531 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Eigenverbrauch Tag = 27
                                    2022-07-19 02:10:01.531 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: AktSpeicherSoC in % = 86
                                    2022-07-19 02:10:01.531 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Ueberschuss in kWh 63.79 = (Prognose kWh 95.41 - Berechneter Eigenverbrauch 27) - FreieKapBatterie_kWh 4.62
                                    2022-07-19 02:10:01.531 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Ueberschuss in Prozent = 100
                                    2022-07-19 02:10:01.581 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Bewölkungsgrad 12 Uhr Proplanta 0
                                    2022-07-19 02:10:01.582 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Bewölkungsgrad 15 Uhr Proplanta 0
                                    2022-07-19 02:10:01.582 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Einstellung 2 aktiv EinstellungAnwahl=1
                                    2022-07-19 02:10:01.808 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: RB UTC = 8:13
                                    2022-07-19 02:10:01.808 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: RE UTC = 13:10
                                    2022-07-19 02:10:01.808 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: LE UTC = 15:52
                                    2022-07-19 02:10:01.808 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Trigger manuelle Programmvorwahl
                                    2022-07-19 02:10:04.811 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose Solcast in kWh = 95.41
                                    2022-07-19 02:10:04.812 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose Solcast 90 Perzentil in kWh = 95.41
                                    2022-07-19 02:10:04.812 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose Proplanta in kWh = 102.49199999999999
                                    2022-07-19 02:10:04.812 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: -==== Prognose für Tag6 konnte nicht abgerufen werden ====-
                                    2022-07-19 02:10:04.812 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose_kWh nach Abzug Korrekturfaktor = 95.41
                                    2022-07-19 02:10:04.812 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Bereits produzierte PV-Leistung = 0
                                    2022-07-19 02:10:05.269 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Prognose_kWh_heute für Berechnung = 95.41
                                    2022-07-19 02:10:06.048 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: BatterieProzent(wert)=63.79
                                    2022-07-19 02:10:06.048 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Eigenverbrauch Tag = 27
                                    2022-07-19 02:10:06.048 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: AktSpeicherSoC in % = 86
                                    2022-07-19 02:10:06.048 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Ueberschuss in kWh 63.79 = (Prognose kWh 95.41 - Berechneter Eigenverbrauch 27) - FreieKapBatterie_kWh 4.62
                                    2022-07-19 02:10:06.049 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Ueberschuss in Prozent = 100
                                    2022-07-19 02:10:06.099 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Bewölkungsgrad 12 Uhr Proplanta 0
                                    2022-07-19 02:10:06.099 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Bewölkungsgrad 15 Uhr Proplanta 0
                                    2022-07-19 02:10:06.099 - info: javascript.1 (489) script.js.Charge-Control.Charge_Control: Einstellung 2 aktiv EinstellungAnwahl=2
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • stiwy18
                                      stiwy18 last edited by stiwy18

                                      Hi Arno,
                                      Ich hab die Logs geladen, sieht aber so aus, als wäre es eher ein Anzeigefehler, ihr die Berechnung von 4 Uhr, diese zeigt Einstellung 2
                                      C0E4D14C-8EF0-4F95-9967-6D5C73E765E9.jpeg
                                      Dann sieht man im Log um 7:12 schön meinen Automatik An/Aus Vorgang
                                      5E01E7AD-59D0-4AD3-BC03-B8109E666BE8.jpeg

                                      Eine Frage abseits davon :-), EBA hatte damals ja das Thema wenn man über HT Off / On die „Notstromreserve“ hält, dass der Wechselrichter nicht in den Standby ging, da der Akku ja nicht leer war, aufgrund der vielen Sonne, natürlich schwer zu testen im Moment, wollte aber nur mal fragen, ob das Charge-Control auch berücksichtigt wird.
                                      Finde leider im PV Forum nicht mehr den Beitrag von EBA, was er mit dem Standby gemacht hat.

                                      Viele Grüße und Danke
                                      Stefan

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        ArnoD last edited by ArnoD

                                        @stiwy18 sagte in E3DC Hauskraftwerk steuern:

                                        ch hab die Logs geladen, sieht aber so aus, als wäre es eher ein Anzeigefehler, ihr die Berechnung von 4 Uhr, diese zeigt Einstellung 2

                                        Hier wurde sicher Einstellung 2 eingestellt vom Skript.
                                        Was mich etwas verwirrt ist das in der View bei Berechnungsgrundlage der 18.07.2022 als Aktualisierungsdatum steht.
                                        Dort müsste eigentlich auch der 19.07.2022 angezeigt werden.
                                        Da wurde anscheinend irgendwas nicht richtig aktualisiert in der View.

                                        Wenn das Problem wieder auftritt, könntest du mal prüfen was im State 0_userdata.0.Charge_Control.Allgemein.Einstellung eingetragen wurde.

                                        Eine Frage abseits davon :-), EBA hatte damals ja das Thema wenn man über HT Off / On die „Notstromreserve“ hält, dass der Wechselrichter nicht in den Standby ging, da der Akku ja nicht leer war, aufgrund der vielen Sonne, natürlich schwer zu testen im Moment, wollte aber nur mal fragen, ob das Charge-Control auch berücksichtigt wird.

                                        Kann ich nicht mit Sicherheit sagen. Versuche mal den Beitrag zu finden.

                                        Nachtrag:
                                        Ok habe die Beiträge gefunden, anscheinend wird auch Minimum-Lade/Entladeleistung auf 0 gesetzt, um ein entladen zu verhindern.
                                        Müsste ich mal testen, wenn meine Batterie leer ist, ob das hier auch erforderlich ist.
                                        Das kann aber dauern, bei dem schönen Wetter. 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          ChrisChros last edited by

                                          Hallo @ArnoD,
                                          aktuell nutze ich noch dein altes Skript, welches bisher auch wirklich gut funktioniert hat. Seit ein paar Tagen habe ich aber das Problem, dass mir der errechnete PV-Ertrag falsch ausgerechnet wird und somit die Regelung etwas durcheinander kommt.

                                          Wo wird die in dem Skript berechnet? Oder hattest du das Problem vlt. schon einmal in der Vergangenheit.

                                          Gruß Chris

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            ArnoD @ChrisChros last edited by

                                            @chrischros sagte in E3DC Hauskraftwerk steuern:

                                            Seit ein paar Tagen habe ich aber das Problem, dass mir der errechnete PV-Ertrag falsch ausgerechnet wird

                                            Was meinst du genau, die Berechnung der Prognose oder den Zähler PV-Leistung im Skript?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            694
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3331
                                            1356610
                                            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