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

      @stephan61
      Hallo Stephan,
      das Ganze baut auf dem Programm E3DC-Control von Eberhard auf.
      Das Script ermöglicht eine Einstellung der Parameter von E3DC-Control über VIS und erweitert diese Steuerung um eine Prognose der zu erwartenden PV-Leistung.
      Je nach Prognose wird automatisch eine andere Einstellung der Parameter von E3DC-Control vorgenommen (Einstellung 1-5). Diese Parameter werden in der Datei e3dc.config.txt gespeichert, wo sie von E3DC-Control bei Änderung der .txt Datei neu eingelesen und übernommen werden.
      Die richtigen Werte für die Einstellung 1-5 müssen von dir für deine Anlage angepasst werden.

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

        @arnod sagte in E3DC Hauskraftwerk steuern:

        Habe jetzt auch den letzten fehler in der Zeitberechnung RB,RE und LE gefunden und korrigiert.
        Sollte jetzt funktionieren.

        Da habe ich mich wohl etwas zu früh gefreut.
        Habe heute mal die Zeiten verglichen und wieder Abweichungen zur Berechnung E3DC-Control.
        Weichen bei euch die Zeiten RB,RE und LE auch ab ?

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

          @arnod ja RB und RE liegen deutlich daneben. und LE 2 min...

          wenn du nix findest, versuche mal ein wenig wartezeit zwichen den Rechenschritten einzupflegen. unter umständen wir die jeweilige variable herangezogen welche noch das vorläufige Ergebnis bzw. die Vorbedingung beinhaltet.. Nur ne Vermutung.

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

            @ArnoD können wir nich eba bitten seine Messwerte in ne json zu schreiben? Dann können wir die doch als states einbinden...
            Er müsste nur sagen wir mal alle 60 sekunden die json aktualisieren, würde ja reichen...Die json könnten wir dann parsen und als states im iobroker zur verfügung stellen.Würde dein Script deutlich schlanker machen...

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

              @arnod hallo Arno.... Bin mit Eberhard eba in Kontakt... Wir haben eine mqtt lösung diskutiert.. Dann haetten wir alle Daten welche in screen angezeigt werden als state im iobroker.. Hatte noch angeregt mqtt ueber die textkonfig von eba konfigurierbar zu machen... Auch die pollintervalle.. Dann brauchst du nix mehr berechnen und wir haetten auch alle Messwerte dabei... Mal gespannt was er draus macht...

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

                @smartboart

                Das würde vieles einfacher machen 🙂 👍

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

                  @arnod

                  Hallo Arno,
                  ist der State :

                  40088_WallBox_0_CTRL_Bit_0 state Wallbox vorhanden und verfügbar=1 state State 0

                  auf 0?

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

                    @smartboart
                    Beim State modbus.0.holdingRegisters.40088_WallBox_0_CTRL ist Bit 0 bei mir immer auf 1

                    2021-02-14 11_00_18-objects - ioBroker.png

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

                      Ich habe jetzt die Steuerung der E3DC Wallbox über den E3DC Speicher getestet und bin mehr als enttäuscht.
                      Die Einstellmöglichkeiten begrenzen sich auf mit Solarstrom laden, nur wenn der Speicher voll ist und Laden was geht egal wo der Strom herkommt.
                      Das Problem dabei ist, wenn ich mit E3DC-Control meine Speicherladung steuern will, also der Speicher erst am Abend voll ist, kann ich mein E-Auto nie mit Solarstrom laden.
                      Der Sinn der Einstellung, das an bestimmten Tagen zu bestimmten Urzeiten geladen wird, ist für mich auch nicht nachvollziehbar, ist jetzt aber auch kein Nachteil.
                      Da ich die Wallboxsteuerung über E3DC-Control von Eba bei mir auch nicht zum Laufen bekomme, werde ich mir wohl selber was programmieren müssen.

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

                        Hallo leider bekomme ich das Script nicht zum laufen. bekomme die Meldung

                        javascript.0	2021-02-24 20:14:52.959	error	(3177) at processImmediate (internal/timers.js:463:21)
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17)
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) at Object.createScript (vm.js:261:10)
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) at new Script (vm.js:88:7)
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) SyntaxError: Identifier 'sWallbox' has already been declared
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) ^
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) let sWrleistung,sHtmin,sHtsockel,sHton,sHtoff,sHtsat,sHtsun,sDebug,sWallbox,sWBmode,sWBminLade,sPeakshave;
                        javascript.0	2021-02-24 20:14:52.959	error	(3177) script.js.Skript.E3DC_Steuerung compile failed: at script.js.Skript.E3DC_Steuerung:211
                        

                        Daten werden aber gelesen vom E3DC Unbenannt.JPG
                        In der Version 0.2.17 lief das Script hat aber die Datenpunkte nicht anlegen können warum auch immer. Kann mir einer sagen bitte warum das nicht läuft.

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

                          @kmuenke
                          Hast du im Script was angepasst ?
                          Kann anhand der Fehlermeldung leider nicht sagen wo das Problem ist.
                          Bitte mal den Code-Auszug mit der Zeile posten, wo der Fehler auftritt.
                          Hast du die zusätzlichen NPM-Module xmlhttprequest, tail und is-it-bst in der Javascript Instanz eingetragen?

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

                            @arnod Im Script nur die Teile wie IP vom E3DC usw. mehr nicht. Habe das Script genommen. Die NPM Module habe ich installiert.

                            npm i xmlhttprequest ; npm i is-it-bst; npm i fs; npm i tail-file
                            
                            

                            Wenn die Zeile 211 das Problem ist dann ist das hier die Zeile

                            let sWrleistung,sHtmin,sHtsockel,sHton,sHtoff,sHtsat,sHtsun,sDebug,sWallbox,sWBmode,sWBminLade,sPeakshave;
                            
                            
                            const fs = require('fs');       
                            const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
                            const dst = require('is-it-bst');
                            let AutomatikAnwahl,ZeitAnwahl_MEZ_MESZ,EinstellungAnwahl,PrognoseAnwahl;
                            let sWrleistung,sHtmin,sHtsockel,sHton,sHtoff,sHtsat,sHtsun,sDebug,sWallbox,sWBmode,sWBminLade,sPeakshave;
                            let xhr = new XMLHttpRequest();
                            let count0 = 0, count1 = 0, Summe0 = 0, Summe1 = 0, Timer0 = null, Timer1 = null,Timer2 = null,Timer3 = null, merker0 = false, merker1 = false;
                            let TimerForecast;
                            let xhrProplanta = new XMLHttpRequest();
                            let baseUrls = {
                                    "de" : "https://www.proplanta.de/Wetter/profi-wetter.php?SITEID=60&PLZ=#PLZ#&STADT=#ORT#&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT=",
                                    "at" : "https://www.proplanta.de/Wetter-Oesterreich/profi-wetter-at.php?SITEID=70&PLZ=#PLZ#&STADT=#ORT#&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT=",
                                    "ch" : "https://www.proplanta.de/Wetter-Schweiz/profi-wetter-ch.php?SITEID=80&PLZ=#PLZ#&STADT=#ORT#&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT=",
                                    "fr" : "https://www.proplanta.de/Wetter-Frankreich/profi-wetter-fr.php?SITEID=50&PLZ=#PLZ#&STADT=#ORT#&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter-Frankreich&wT=",
                                    "it" : "https://www.proplanta.de/Wetter-Italien/profi-wetter-it.php?SITEID=40&PLZ=#PLZ#&STADT=#ORT#&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter-Italien&wT=",
                                };
                            let baseurl = baseUrls[country];
                            const sID_Automatik = instanz + PfadEbene1 + PfadEbene2[1]+'Automatik';                     /* true = automatik false = manuell */
                            const sID_Anwahl_MEZ_MESZ = instanz + PfadEbene1 + PfadEbene2[1] + 'Anwahl_MEZ_MESZ';       /* true = MESZ ,false = MEZ */
                            const sID_EinstellungAnwahl = instanz + PfadEbene1 + PfadEbene2[1] + 'EinstellungAnwahl';   /* Einstellung 1-5 */
                            const sID_PVErtragLM0 = instanz + PfadEbene1 + PfadEbene2[1] + 'IstPvErtragLM0_kWh';
                            const sID_PVErtragLM1 = instanz + PfadEbene1 + PfadEbene2[1] + 'IstPvErtragLM1_kWh';
                            const sID_Einstellung = instanz + PfadEbene1 + PfadEbene2[1] + 'Einstellung';
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • A
                              Abyss last edited by Abyss

                              @ArnoD , @smartboart

                              Ich hätte mal eine "Anfrage" an euch Scripter, da ich als Script-Noob da nicht weiterkomm.
                              Evtl habt ihr so etwas ja bereits für euch gebastelt. 😉

                              Ich bekomme (ihr ja auch) pro Monat ja eine feste Einspeisevergütung, x-€/Monat, was somit insgesamt 12x im Jahr ergibt.
                              Je nach y cent/kWh Einspeisevergütung bedeutet das "z" kWh pro Monat oder eben 12z kWh im Jahr.

                              Sprich ich würde mir eine Berechnung vorstellen anhand der ich erkennen kann wieviel kWh im Jahr ich einspeisen muss, und um dann zu sehen ob ich diese Menge erreicht habe, oder ob ich Einspeisevergütung zurückzahlen muss oder mehr verdient habe.

                              Ansich einerseits die Berechnung anhand der Variablen y cent/kWh, im Vergleich zu x€/Monat die ich vom Stromanbieter fix bekomme.
                              Und dann eine Berechnung mit dem Stand des Einspeisezählers zum 1.1. mit der Differenz was man das Jahr über so einspeist.

                              Ich hoffe ich habs verständlich ausgedrückt. 😉
                              Evtl habt ihr da ja schon etwas parat und könnt mich hierbei unterstützen?!?

                              Vielen Dank schon mal und sonnige Grüße

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

                                @arnod
                                So habe noch mal ein wenig was versucht es scheint an der Variablen sWallbox zu liegen habe die entfernt aus der Zeile und siehe da läuft soweit.

                                kannst du die das noch mal anschauen bitte.
                                Zeile 211

                                let sWrleistung,sHtmin,sHtsockel,sHton,sHtoff,sHtsat,sHtsun,sDebug,sWallbox,sWBmode,sWBminLade,sPeakshave;
                                

                                Okay das mit der Wallbox habe ich gefunden in einer Version war die

                                const sWallbox = "false";
                                

                                noch drin rausgenommen nun läuft es auch mit dem eintrag der Wallbox in Zeile 211.

                                Die Datenpunkte werden aber nicht angelegt.

                                javascript.0	2021-02-25 12:10:55.639	info	(3177) script.js.Skript.E3DC_Steuerung: Cannot write object for state [0_userdata.0.E3DC-Control.History.PrognoseAuto_kWh_31]: Function "setObject" is not allowed. Use adapter settings to allow it.
                                javascript.0	2021-02-25 12:10:55.639	error	(3177) Function "setObject" is not allowed. Use adapter settings to allow it.
                                javascript.0	2021-02-25 12:10:55.639	info	(3177) script.js.Skript.E3DC_Steuerung: [Debug] Currently processing following state: [0_userdata.0.E3DC-Control.History.PrognoseAuto_kWh_31]
                                

                                Wo muss ich da dem Adapter die Berechtigung geben ?

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

                                  Habe den Schalter gefunden.

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

                                    @kmuenke sagte in E3DC Hauskraftwerk steuern:

                                    Okay das mit der Wallbox habe ich gefunden in einer Version war die
                                    const sWallbox = "false";

                                    noch drin rausgenommen nun läuft es auch mit dem eintrag der Wallbox in Zeile 211.

                                    Das hat sich ab der Version 0.2.18 bereits geändert, um den Parameter Wallbox in Vis ändern zu können.
                                    Sorry das ich erst so spät antworte, du hast dir aber sehr gut selber geholfen 👍 🙂

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

                                      @abyss
                                      Das würde perfekt in das Script von smartboart passen 😉
                                      https://forum.iobroker.net/topic/35659/stromzählerscript-pv-anlage-finanzamt-in-json-oder-html

                                      Könnte so ausehen:
                                      2021-02-25 19_34_08-vis.png

                                      In der Spalte Einspeisevergütung berechne ich mir was ich pro Monat produziert habe um das mit der erhaltenen Einspeisevergütung abgleichen zu können.
                                      Das einzige was fehlt ist jetzt die Berechnung Einspeisevergütung_erhalten - Einspeisevergütung_produziert dann hättest du den positive oder negative Differenzwert.
                                      Das war mir dann aber zu aufwendig, da ich das jedes Jahr neu eintragen müsste.

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

                                        @arnod Hallo, das Script habe ich alleine laufen kann es auch mit in das andere Script für die Steuerung von E3DC ? Muss an dem Script noch was angepasst werden (Datenpunkte) bekommen in dem Widgets nichts angezeigt.

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

                                          @kmuenke sagte in E3DC Hauskraftwerk steuern:

                                          @arnod Hallo, das Script habe ich alleine laufen kann es auch mit in das andere Script für die Steuerung von E3DC ? Muss an dem Script noch was angepasst werden (Datenpunkte) bekommen in dem Widgets nichts angezeigt.

                                          Habe dir im Forum stromzählerscript-pv-anlage-finanzamt-in-json-oder-html geantwortet.
                                          Es handelt sich hier um zwei unterschiedliche Scripte wo das eine nichts mit dem anderen zu tun hat und wird auch nicht hier integriert.

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

                                            @kmuenke
                                            Hallo habe das Problem das der Speicher sich nicht bis auf 10 % entleert. Warum.

                                            RB 10: 3 76.9% RE 11:55 95.0% LE 13: 8 94.2%
                                            ML1 12000 ML2 11507 RQ 12000 GMT 11:55 ZG -773 E3DC: Sat Feb 27 12:24:22 2021
                                            AVB -2.6 -31.7 DisC 0 BattL 12000 iLMSt 3 Rsv 10.0%
                                            U 0.0000kWh td 0.0000kWh yd 0.0000kWh
                                            
                                            Request cyclic example data done 2020.11.28.0 12:21: 1
                                            EMS PV 840 add 0 # 840 BAT 0 home 1719 grid 879 E3DC 0  # 1719
                                            POWER_LIMITS_USED
                                            MAX_CHARGE_POWER 3000 W
                                            MAX_DISCHARGE_POWER 0 W
                                            DISCHARGE_START_POWER 65 W
                                            POWERSAVE_ENABLED
                                            Battery SOC 12.9 %  48.2 V  0.0 A
                                            #0 is -108.0 W 897.0 W 90.0 W  # 879.0 W
                                             & 1424.8 975.0 920.0 889.2 W  230.4 V 228.5 V 231.5 V
                                            DC0 398 W  517 V 0.77 A DC1 442 W  551 V 0.80 A
                                            AC0 829W 230V 3.62A AC1 0W 229V 0.00A AC2 0W 231V 0.00A  # 829W
                                            RB 10: 3 76.9% RE 11:55 95.0% LE 13: 8 94.2%
                                            ML1 12000 ML2 11512 RQ 12000 GMT 11:55 ZG -773 E3DC: Sat Feb 27 12:24:23 2021
                                            AVB -2.6 -31.7 DisC 0 BattL 12000 iLMSt 2 Rsv 10.0%
                                            U 0.0000kWh td 0.0000kWh yd 0.0000kWh
                                            
                                            Request cyclic example data done 2020.11.28.0 12:21: 1
                                            EMS PV 839 add 0 # 839 BAT 0 home 1721 grid 882 E3DC 0  # 1721
                                            Battery SOC 12.9 %  48.2 V  0.0 A
                                            #0 is -104.0 W 894.0 W 92.0 W  # 882.0 W
                                             & 1424.7 974.8 919.4 888.9 W  230.4 V 228.5 V 231.5 V
                                            DC0 398 W  517 V 0.77 A DC1 441 W  552 V 0.80 A![Unbenannt.JPG](/assets/uploads/files/1614428859049-unbenannt.jpg) 
                                            AC0 824W 231V 3.62A AC1 0W 229V 0.00A AC2 0W 231V 0.00A  # 824W
                                            RB 10: 3 76.9% RE 11:55 95.0% LE 13: 8 94.2%
                                            ML1 12000 ML2 11516 RQ 12000 GMT 11:55 ZG -773 E3DC: Sat Feb 27 12:24:24 2021
                                            AVB -2.6 -31.6 DisC 0 BattL 12000 iLMSt 1 Rsv 10.0%
                                            U 0.0000kWh td 0.0000kWh yd 0.0000kWh
                                            
                                            

                                            Unbenannt.JPG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            852
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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