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 @TbsJah last edited by

      @tbsjah
      Welche Version vom Script verwendest du ??
      Das sollte mittlerweile nicht mehr passieren, da ich ab der Version 1.0.24 die Objekte e3dc-rscp.0.EMS.SYS_SPECS.maxBatDischargPowerund e3dc-rscp.0.EMS.SYS_SPECS.maxBatChargePowerverwende.
      Dort sollte die richtige maximale Lade und Entladeleistung der Batterie enthalten sein.
      Eventuell mal mit deinen technischen Daten vergleichen, ob diese Werte vom Adapter e3dc-rscp richtig sind.

      Vom Script wird die Entladeleistung immer auf 0 W und nicht auf 65 W gesetzt. Die 65 W werden vom E3DC gesetzt, wenn die max. Entladeleistung, was vom Script gesetzt wird, zu hoch ist.

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

        @arnod ja ich verwende das aktuellste Script
        Mir ist auch das Verhalten erst mit dieser Version aufgefallen

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

          @tbsjah
          Hast du mal geprüft, ob die Werte e3dc-rscp.0.EMS.SYS_SPECS.maxBatDischargPowerund e3dc-rscp.0.EMS.SYS_SPECS.maxBatChargePower bei dir stimmen?

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

            @arnod

            e3dc-rscp.0.EMS.MAX_CHARGE_POWER und e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER haben eine direkte Auswirkung bei mir.

            Änderungen hier haben keine Auswirkungen auf die Werte unter SysSpecs

            d35b8d51-17a1-4497-a85b-6c6ff88158d9-image.png
            f434428d-e405-42e8-861a-a1880a29eb3c-image.png

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

              @tbsjah
              Das sollte auch keinen Einfluss auf die Werte unter SYS_SPECS haben. Das müssten nicht änderbare feste Werte sein die vom E3DC hier übermittelt werden.
              Ich verwende die Werte unter e3dc-rscp.0.EMS.SYS_SPECS.maxBatDischargPower und e3dc-rscp.0.EMS.SYS_SPECS.maxBatChargePower um nach dem ausschalten der Lade/Entladeleistung auf 0W diese wieder auf die maximal mögliche Leistung einzustellen.
              Das müssten bei dir 3000 W sein.
              Jetzt ist nur die Frage ob bei dir auch 3000 W bei diesen beiden Objekten drinstehen ?

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

                Hallo @ArnoD ich nutze noch das alte Skript in der Version 0.4.2 und habe heute im Log folgende Einträge entdeckt:

                2022-10-17 21:55:01.082 - info: javascript.0 (607) script.js.common.E3_DC.E3DC_Control_Prognose: -==== Prognose für Tag4 konnte nicht abgerufen werden ====-
                2022-10-17 21:55:01.082 - info: javascript.0 (607) script.js.common.E3_DC.E3DC_Control_Prognose: -==== Prognose für Tag5 konnte nicht abgerufen werden ====-
                2022-10-17 21:55:01.082 - info: javascript.0 (607) script.js.common.E3_DC.E3DC_Control_Prognose: -==== Prognose für Tag6 konnte nicht abgerufen werden ====-
                

                Wurde da was bei den Homepages geändert weshalb die Daten nicht mehr abgerufen werden können? Ist das Problem bei deinem aktuellen Skript auch?

                Gruß Christian

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

                  @chrischros
                  Hallo Christian,
                  ja, da hat sich was geändert. Solcast hat die Vorschau von 6 Tagen auf 3 Tege reduziert.
                  Mal schauen, wie lange das überhaupt noch kostenlos ist.
                  Ich denke, mit Proplanta haben wir aber immer noch eine gute Prognose, wenn auch nicht so genau wie Solcast 😉

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

                    @arnod Was muss ich im Skript ändern damit nur noch 3 Tage abgerufen werden?

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

                      @chrischros
                      du musst nichts ändern, das Script prüft, ob hier werte übertragen wurden und verwendet dann nur die drei Tage.
                      Wenn dich der LOG Eintrag stört, kannst du das mit LogAusgabe = false ausschalten oder Zeile 475 so abändern:

                      if (DebugAusgabe){log('-==== Prognose für Tag'+i+' konnte nicht abgerufen werden ====-')};
                      

                      Dann wird die Meldung nur noch bei DebugAusgabe = true ausgegeben.

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

                        @arnod Danke für die Hilfe

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

                          @arnod said in E3DC Hauskraftwerk steuern:

                          Jetzt ist nur die Frage ob bei dir auch 3000 W bei diesen beiden Objekten drinstehen ?

                          tut es
                          ba260a61-0b1e-4603-b15f-67231406f1df-image.png

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

                            @tbsjah

                            Das ist gut und auch wieder schlecht, da es bei dir dann ein anderes Problem ist.
                            Da hilft nur mal das ganze zu loggen, um zu sehen, was da passiert.
                            Kannst du bitte mal const LogAusgabeSteuerung = true setzen und mir schicken oder hier einstellen, wenn es wieder passiert.

                            Ist es immer die maximale Entladeleistung, die auf 65W eingestellt ist oder auch die maximale Ladeleistung?

                            L TbsJah 2 Replies Last reply Reply Quote 1
                            • L
                              Letty @ArnoD last edited by Letty

                              @ArnoD
                              Hallo ArnoD Vielen Dank für deine mühe und Zeit.

                              edit Fehler gefunden Skript war nicht im Common Ordner.

                              Vielen Dank und Grüße,
                              Armin

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

                                @arnod said in E3DC Hauskraftwerk steuern:

                                ja, da hat sich was geändert. Solcast hat die Vorschau von 6 Tagen auf 3 Tege reduziert.
                                Mal schauen, wie lange das überhaupt noch kostenlos ist.

                                @ArnoD
                                Hi ArnoD,
                                ich habe mal geschaut. Bist Du sicher, dass nicht längere Zeiten abgefragt werden können?
                                Auf der Doku-Seite der Solcast-API steht, dass das Default-Zeitfenster 48h beträgt. Durch Anhängen des "hours"-Parameters an die URL beim Aufruf läßt sich das aber offenbar auf bis zu 336h erhöhen. Hier haben das offenbar auch einige mit Erfolgt getestet.

                                bluebean 1 Reply Last reply Reply Quote 0
                                • bluebean
                                  bluebean @bluebean last edited by bluebean

                                  @bluebean said in E3DC Hauskraftwerk steuern:

                                  @ArnoD
                                  ...Durch Anhängen des "hours"-Parameters an die URL beim Aufruf läßt sich das aber offenbar auf bis zu 336h erhöhen. Hier haben das offenbar auch einige mit Erfolgt getestet.

                                  Habe jetzt mal im Skript den Aufruf in Zeile 1248 geändert auf

                                  xhr2.open("GET",'https://api.solcast.com.au/rooftop_sites/'+Resource_Id_Dach[DachFl]+'/forecasts?format=json&api_key='+SolcastAPI_key+'&hours=168', true);
                                  

                                  und bekomme damit Prognosedaten bis zum 27.10. 🙂

                                  Prognose3.jpg

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

                                    @bluebean
                                    Das ist ja super 🙂
                                    Hatte mir die API nicht noch mal angesehen, sondern nur die Webseite, wo die Dachflächen eingetragen werden und dort ist es auch auf drei Tage reduziert worden.
                                    Werde das heute ändern und dann die neue Version hochladen.
                                    Danke für die Information.

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

                                      Neue Version Charge-Control auf GitHub hochgeladen.
                                      Version: 1.0.25
                                      Änderungen:

                                      • URL korrigiert, sodass die Prognose wieder für 7 Tage von Solcast abgerufen wird. Danke an @bluebean für den Tipp.
                                      smartboart 2 Replies Last reply Reply Quote 1
                                      • smartboart
                                        smartboart @ArnoD last edited by smartboart

                                        @arnod Hi Arno,
                                        hab mir mal die Zeit genommen auf den neusten stand zu gehen. Bei mir lief bis eben noch E3Dc-Control mit Forecast..
                                        Mal gespannt wie sie sich dein Update bei mir verhält.

                                        2 Anmerkungen:

                                        Fehlt hier nicht die Automatikabfrage oder habe ich es woanders übersehen?

                                        // Einstellungen 1-5 je nach Überschuss PV Leistung Wetterprognose und Bewölkung anwählen 
                                        async function Einstellung(UeberschussPrognoseProzent)
                                        {
                                            let Bedeckungsgrad12,Bedeckungsgrad15;
                                            EinstellungAnwahl =  (await getStateAsync(sID_EinstellungAnwahl)).val   
                                            AutomatikAnwahl = (await getStateAsync(sID_Automatik)).val;    
                                            if (UeberschussPrognoseProzent== null){
                                              log('-==== Überschuss PV-Leistung konnte nicht berechnet werden. Ueberschuss='+UeberschussPrognoseProzent+' ====-','error');  
                                              return  
                                            }
                                        

                                        Und die Scriptteile haben ihren eigenen trigger, weshalb der Aufruf bei Scriptstart und aktivem Shedule zu Doppelzählungen gefürt hat. Wahscheinlich hast du die deshalb zusätzlich mit clear shedule timer
                                        bei scriptstart und ende stoppen wollen. denke das ist beim scriptstart nicht nötig

                                        async function ScriptStart()
                                        {
                                            await CreateState();
                                            log('-==== Jetzt sind alle States abgearbeitet Charge-Control Version 1.0.24 ====-');
                                            AutomatikAnwahl = getState(sID_Automatik).val;
                                            PrognoseAnwahl = getState(sID_PrognoseAnwahl).val;
                                            setState(sID_Anwahl_MEZ_MESZ, dst());  
                                            ZeitAnwahl_MEZ_MESZ = getState(sID_Anwahl_MEZ_MESZ).val
                                            EinstellungAnwahl = getState(sID_EinstellungAnwahl).val
                                            //Wh_Leistungsmesser0();                                              // Leistungsmesser PV Leistung E3DC starten
                                            //Wh_Leistungsmesser1();                                              // Leistungsmesser PV Leistung zusätzliche Einspeiser starten
                                            //Wh_Leistungsmesser2();                                              // Leistungsmesser Überschussleistung starten
                                            // Wetterdaten beim Programmstart aktualisieren und Timer starten.
                                            await Speichergroesse()                                             // aktuell verfügbare Batterie Speichergröße berechnen
                                            if (Solcast) {await SheduleSolcast(SolcastDachflaechen);}           // Wetterdaten Solcast abrufen
                                            await UTC_Dezimal_to_MEZ();                                         // UTC Zeiten in MEZ umrechnen
                                            await MEZ_Regelzeiten();                                            // RE,RB und Ladeende berechnen
                                            await Notstromreserve();                                            // Eingestellte Notstromreserve berechnen
                                            await PrognosedatenAbrufen();                                       // Wetterdaten Proplanta abrufen danach wird main() augerufen
                                            Start = false;
                                        }   
                                        

                                        Und sicher der state?

                                        const sID_PARAM_EP_RESERVE_W = 'e3dc-rscp.0.EP.PARAM_0.PARAM_EP_RESERVE_W'                          // Eingestellte Notstrom Reserve E3DC
                                        

                                        und nicht der?

                                        const sID_PARAM_EP_RESERVE_W = 'e3dc-rscp.0.EP.PARAM_0.PARAM_EP_RESERVE'/*Notstrom-Reserve*/;       // Eingestellte Notstrom Reserve E3DC
                                        
                                        
                                        A 1 Reply Last reply Reply Quote 0
                                        • smartboart
                                          smartboart @ArnoD last edited by smartboart

                                          @arnod hi nochmal...mich würde interessieren welche poll Zeiten du beim RSCP Adapter eingestellt hast..Speziel solche die in deinem Script Verwendung finden.
                                          Meine habe ich ziemlich hoch gewählt..

                                          Danke... Auch für dein Scripten...

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

                                            Hallo smartboart, lange nichts mehr gehört von dir 🙂

                                            @smartboart sagte in E3DC Hauskraftwerk steuern:

                                            Fehlt hier nicht die Automatikabfrage oder habe ich es woanders übersehen?

                                            Die Automatik Anwahl Abfrage kommt weiter unten in der Funktion, da ich die Überschussberechnung auch machen, wenn auf manuell eingestellt ist. Diesen Wert kann man dann auch in anderen Scripte verwenden. Das ist eine Vorbereitung auf meine Luftwärmepumpe, die ich noch nicht habe.

                                            Und die Scriptteile haben ihren eigenen trigger, weshalb der Aufruf bei Scriptstart und aktivem Shedule zu Doppelzählungen gefürt hat.

                                            Da hast du recht, müsste ohne funktionieren. Mir fällt auch kein Grund ein, warum ich das hier noch mal aufrufe.🤔

                                            Und sicher der state?

                                            const sID_PARAM_EP_RESERVE_W = 'e3dc-rscp.0.EP.PARAM_0.PARAM_EP_RESERVE_W' // Eingestellte Notstrom Reserve E3DC
                                            
                                            

                                            Das macht hier keinen Unterschied, der eine ist in % und der andere in W, falls ich den Wert noch woanders im Script benötige ist mir da W lieber.

                                            mich würde interessieren welche poll Zeiten du beim RSCP Adapter eingestellt hast..Speziel solche die in deinem Script Verwendung finden.

                                            Die was ich im Script benötige, habe ich auf S eingestellt und S auf 3 sek.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            958
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3330
                                            1346637
                                            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