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
      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
                    • smartboart
                      smartboart @kmuenke last edited by

                      @kmuenke htoff hton evtl.. Wenn beides auf gleiche Zeit setzt hast ne notstrom reserve von 10 %... Bis dahin und nicht weiter wird dann entladen..

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

                        @smartboart ja genaus so habe ich es auch verstanden. Jedoch sind zum einen die Reserve 10% und der Speicher hat aber noch 12% somit sollte er ja dann eigentlich noch die 2 % entladen. Hatte aber auch noch mehr im Akku und der Speicher hatte es auch gestern teilweise 35% und hat nicht frei gegeben. Bin dann über die App und habe dort die Entladeleistung vo 65W auf 3000 Watt hochsetzt.

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

                          @kmuenke
                          Gute Frage, mit deiner Einstellung sollte der Speicher eigentlich bis auf 10 % entladen werden.
                          Ab der Zeit hton wird der Speicher zum Entladen freigegeben, also in deinem Fall um 5:00 Uhr GMT in der Früh.
                          Ab der Zeit htoff wird das Entladen der Batterie gestoppt, also bei dir um 13:07 Uhr GMT.
                          Somit sollte um 12:21 Uhr noch bis 10% entladen werden.
                          Am besten im Photovoltaikforum eba direkt fragen.

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

                            @arnod

                            Hi Arno, mein Chart / Prognose für Februar hat im Wechsel auf März was verworfen...sind irgendwie Werte von einem anderen Monat drinnen wenn ich Februar anwähle..Hat das bei dir geklappt?
                            Der Zeitstempel in der json passt aber , wurde am 01.03.2021 um 00.00.00.114 geschrieben.
                            Hab nochmal geschaut der Chart der jetzt im Februar angezeigt wird is vom August...sehen beide identisch aus...

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

                              @ArnoD Komisch,

                              August und Februar / HistoryJson2 und 8 haben den gleichen inhalt..Wie kann das sein?

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

                                @smartboart
                                Habe es gerade geprüft und bei mir hat es funktioniert.
                                Sind bei dir alle Werte vom August drin ?
                                Die einzige Stelle wo er die komplette json kopiert ist die function HistorySichern().

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

                                  @ArnoD

                                  Was hälst du davon wenn wir in der Funktion HistorySichern() , die Daten der json zusätzlich in eine Datei schreiben, wie wir es in der Finanzamttabelle machen?

                                  var LogPath = "/home/pi/Smartmeter/Zaehler_Monatswerte.json";
                                  var fs = require('fs');  
                                  var logflag = true;
                                  
                                  // History Daten für lezten Monat sichern und aktuelles Monat Löschen
                                  function HistorySichern(){ 
                                      let date = new Date();
                                  	date.setMonth(date.getMonth() -1);
                                      let mm = date.getMonth() + 1;
                                      let MM = zeroPad(mm,2);
                                      let HistoryAlt = getState(instanz + PfadEbene1 + PfadEbene2[2]+'HistoryJSON').val;
                                      setState(instanz + PfadEbene1 + PfadEbene2[2] + 'HistoryJSON_'+MM, HistoryAlt);
                                      writelog();
                                      for (let i = 1; i <= 31; i++) {
                                          let n = zeroPad(i,2);
                                          setState(instanz + PfadEbene1 + PfadEbene2[2] + 'IstPvLeistung_kWh_'+ n, 0);
                                          setState(instanz + PfadEbene1 + PfadEbene2[2] + 'PrognoseProp_kWh_'+ n, 0);
                                  	    setState(instanz + PfadEbene1 + PfadEbene2[2] + 'PrognoseFore_kWh_'+ n, 0);
                                  	    setState(instanz + PfadEbene1 + PfadEbene2[2] + 'PrognoseAuto_kWh_'+ n, 0);
                                      }
                                  }
                                  
                                  // Funktion schreibt einen Logeintrag in das Filesystem 
                                  
                                  function writelog() {
                                      var string = getState(instanz + PfadEbene1 + PfadEbene2[2]+'HistoryJSON').val;
                                      if (logflag === true) {
                                          fs.readFile(LogPath, 'utf8', function(err,data){
                                              if (!err) {  
                                                  fs.writeFileSync(LogPath, string );
                                              }else{
                                                  if(logflag)log("Smartmeter: Zählerstände Monatswerte Tabelle: Routine writelog - Logfile nicht gefunden - wird angelegt"), "info";
                                                  fs.writeFileSync(LogPath, string );
                                              }
                                          });       
                                      } ; 
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • smartboart
                                    smartboart @ArnoD last edited by

                                    @arnod sagte in E3DC Hauskraftwerk steuern:

                                    @smartboart
                                    Habe es gerade geprüft und bei mir hat es funktioniert.
                                    Sind bei dir alle Werte vom August drin ?
                                    Die einzige Stelle wo er die komplette json kopiert ist die function HistorySichern().

                                    Was passiert denn wenn während des Monatswechsel ein anderer Monat in der HistoryJSON vorgewählt ist?
                                    Könnte es sein , dass ich den August vorgewählt hatte?

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

                                      @smartboart sagte in E3DC Hauskraftwerk steuern:

                                      Was passiert denn wenn während des Monatswechsel ein anderer Monat in der HistoryJSON vorgewählt ist?
                                      Könnte es sein , dass ich den August vorgewählt hatte?

                                      Das darfst du doch nicht machen. 😀

                                      Ja klar, dann überschreibt das Script den aktuellen Monat mit dem angewählten Monat.
                                      Das monatliche Sichern ist noch ein relikt aus Zeiten, wo ich nur einmal am Tag aktualisiert habe und ist eigentlich nicht mehr nötig, da bei jeder Änderung der PV-Leistung die json neu erstellt wird.
                                      Werde ich ändern und deinen Vorschlag mit dem speichern in eine Datei auch gleich mit umsetzen.

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

                                        @arnod ja nachdem ich mir den Scripteil eben angeschaut habe um das json ins filesystem einzuarbeiten ist mir das auch aufgefallen..
                                        bin mir sicher das es so war...😖

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

                                          @arnod sagte in E3DC Hauskraftwerk steuern:

                                          Das darfst du doch nicht machen

                                          Wenn du keine grosse änderung an der Stelle machen willst setzen wir den Vorwahl state vor dem Speichern der json doch einfach auf den aktuellen Monat.. Wäre nur eine zusätzliche Zeile und es wuerde die Misere ganz einfach verhindern...

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

                                            Neue Version hochgeladen.
                                            Änderung:
                                            Version: 0.2.21 Fehler beim Speichern History JSON korrigiert wo es möglich war das der aktuelle Monat mit falschen Daten überschrieben wurde. Neue Funktion von smartboat, Daten der JSON History zusätzlich in eine Datei schreiben hinzugefügt.
                                            Achtung neue Variable sLogPath und logflag im Bereich User Anpassungen.

                                            @smartboart
                                            Danke 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            719
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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