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.
    • 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
                      • C
                        ChrisChros @ArnoD last edited by ChrisChros

                        @arnod den PV-Leistungszähler im Skript, es wird deutlich zu viel berechnet. Heute zum Beispiel wurden 182,92 kWh PV-Ertrag errechnet, das kann bei unserer 16 kWp Anlage nicht möglich sein.
                        Im E3DC-Portal werden nur 91 kWh Solarproduktion angezeigt.

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

                          @chrischros
                          Die Funktionen werden bei Start vom Skript in Zeile 311 und 312 aufgerufen

                          Wh_Leistungsmesser0();
                          Wh_Leistungsmesser1();
                          

                          Danach jede Minute über einen Timer in der Funktion.

                          function Wh_Leistungsmesser0(){
                          	if(DebugAusgabe)log('Funktion Schedulestart aktiv'); 
                          	let AufDieMinute =  '* * * * *';
                          	Timer0 = schedule(AufDieMinute, function(){   
                          		if(DebugAusgabe)log('minütlicher Schedule aktiv');       
                          		let PVErtrag = getState (sID_PVErtragLM0).val;  
                          		let Pmin = Summe0/count0;
                          		if(count0>0 && Summe0 >0){
                          			setState(sID_PVErtragLM0, PVErtrag + Pmin/60/1000,true);//kWh
                          			if(DebugAusgabe)log(['Schedule Umrechnen W = P*t.  Minutenwert Leistung: '+ Pmin, ' Minutenwert Arbeit: ' + (Pmin/60/1000), ' Tageswert Ertrag: ' +PVErtrag ].join(''));
                          			setTimeout(function(){
                          				count0=0;
                          				Summe0=0;
                          				if(DebugAusgabe)log(['Reset: Count =  '+ count0, ' Summe = ' + Summe0 ].join(''));
                          			},100);
                          		}else{
                          			if(count0===0 && Summe0 ===0){
                          				clearSchedule(Timer0);
                          				Timer0 = null;
                                          if(DebugAusgabe)log('minütlicher Schedule gestoppt');
                                      }
                                  }  
                              });
                          }
                          
                          

                          Die PV Leistung wird hier aufsummiert:

                          on(sID_PvLeistungLM0_W, function(obj) {
                              let Leistung = getState(obj.id).val;
                              if(Leistung > 0){
                          		if(!Timer0)Wh_Leistungsmesser0();
                          		count0 ++
                          		Summe0 = Summe0 + Leistung;
                          		//if(DebugAusgabe)log(['Summe: ' + Summe0, ' Zaehler: '+count0, ' Addition: + ' +Leistung ].join(''));
                              }
                          });
                          

                          Wenn das Skript stoppt, werden die Timer hier gelöscht:

                          onStop(function () { 
                                  clearSchedule(Timer0);
                                  clearSchedule(Timer1);
                                  clearSchedule(Timer2);
                          }, 100);
                          

                          Wird zu viel oder zu wenig gezählt?

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

                            @chrischros

                            Wenn ich so darüber nachdenke, ist das eigentlich ein Relikt aus Zeiten vor dem Adapter e3dc-rscp.
                            Eigentlich könnte man jetzt den Zähler vom Adapter verwenden und hätte kein Problem mehr, außer mit der Leistung aller zusätzlichen Einspeiser, da gibt es keinen Zähler.

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

                              @arnod said in E3DC Hauskraftwerk steuern:

                              Wenn ich so darüber nachdenke, ist das eigentlich ein Relikt aus Zeiten vor dem Adapter e3dc-rscp.

                              ich nutze ja auch noch das alte Skript mit E3DC-Control.

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

                                @arnod said in E3DC Hauskraftwerk steuern:

                                Wird zu viel oder zu wenig gezählt?

                                Es wird deutlich zu viel gezählt.
                                Heute z.B. laut Skript bisher 184,13 kWh. Wohingegen laut E3DC nur 91,22 kWh erzeugt wurden.

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

                                  @chrischros

                                  Aktuell wird es in beiden Skripte so berechnet, aber nicht mehr lange 🙂

                                  Prüf mal bitte, ob die PV-Leistung bei deinem Modbus Instanz modbus.0.holdingRegisters.40068_PV_Leistung richtig aktualisiert wird und auch wieder auf 0 gesetzt wird, wenn keine PV-Leistung vorhanden ist.
                                  Der zweite Fehler könnte sein, dass du in anderen Skripte Timer einsetzt, die gleich benannt sind, also Timer0, Timer1.

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

                                    @arnod said in E3DC Hauskraftwerk steuern:

                                    Prüf mal bitte, ob die PV-Leistung bei deinem Modbus Instanz modbus.0.holdingRegisters.40068_PV_Leistung richtig aktualisiert wird und auch wieder auf 0 gesetzt wird, wenn keine PV-Leistung vorhanden ist.

                                    Die aktualisierung über Modbus scheint zu passen. Ob es auch 0 wird werde ich heute Abend noch mal überprüfen.

                                    @arnod said in E3DC Hauskraftwerk steuern:

                                    Der zweite Fehler könnte sein, dass du in anderen Skripte Timer einsetzt, die gleich benannt sind, also Timer0, Timer1.

                                    Ich habe nur dein Skript am laufen von daher sollte da sich nichts in die quere kommen.

                                    Das ganze verhalte habe ich auch erst seit ein paar Tagen aber Änderungen am System wurden in jüngster Zeit nicht durchgeführt.

                                    Aktuell driften die Werte noch nicht wirklich auseinander.
                                    ioBroker = 39,04 kWh
                                    E3DC-Portal: 36,8 kWh

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

                                      @arnod said in E3DC Hauskraftwerk steuern:

                                      und auch wieder auf 0 gesetzt wird, wenn keine PV-Leistung vorhanden ist.

                                      Das Objekt wird korrekt aktualisiert und auch auf NULL gesetzt wenn keine PV-Leistung kommt.

                                      Heute scheint die Berechnung geklappt zu haben, zumindest ist heute keine große Diskrepanz zwischen den Werten.
                                      ioBroker: 72,65 kWh
                                      E3DC: 72,2 kWh

                                      Warum das die letzten Tage so gesponnen hat, kann ich dir leider nicht sagen, werde es aber weiter beobachten.

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

                                        @chrischros
                                        Hast du das Skript vorher eventuell öfter neu gestartet?
                                        Mir ist einmal aufgefallen, dass die Timer hier nicht zuverlässig gelöscht werden.

                                        C 2 Replies Last reply Reply Quote 0
                                        • C
                                          ChrisChros @ArnoD last edited by

                                          @arnod nicht das ich wüsste.
                                          Was ich aber gemacht habe, als mit aufgefallen ist das die Werte nicht stimmen, ist das Objekt

                                          0_userdata.0.E3DC-Control.Allgemein.IstPvErtragLM0_kWh
                                          

                                          händisch mit dem Wert aus dem E3DC-Portal zu überschreiben.

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

                                            @arnod So gestern war alles gut und heute schon wieder viel zu viel gezählt worden.
                                            Ich habe keine Änderungen zu gestern vorgenommen, der Raspberry oder das Skript wurden nicht neu gestartet.
                                            Ich lasse jetzt das Objekt "0_userdata.0.E3DC-Control.Allgemein.IstPvErtragLM0_kWh" in die History schreiben, eventuell kann man das was erkennen.

                                            Skript: 127,50 kWh
                                            E3DC: 62,71 kWh

                                            Durch das zu viel zählen stellt das Skript automatisch auf Einstellung 1 um wodurch natürlich der Akku auf 100% SOC geladen wird, was er ja eigentlich nicht sollte.

                                            UPDATE:
                                            17:03 = 126,57 kWh
                                            17:33 = 132,16 kWh

                                            also irgendwie wird da falsch gezählt. Kann mir nicht vorstellen das ich mit meiner 16,16 kWp Anlage am späten Nachmittag innerhalb einer halben Stunde 5,5 kWh produziere.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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