Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. E3DC Hauskraftwerk steuern

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    231

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

E3DC Hauskraftwerk steuern

E3DC Hauskraftwerk steuern

Scheduled Pinned Locked Moved JavaScript
3.4k Posts 70 Posters 1.6m Views 62 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • bluebeanB Offline
    bluebeanB Offline
    bluebean
    wrote on last edited by
    #1878

    Bei mir war heute früh die Abfrage wieder normal:

    Screenshot_20221209-065147~01.png

    A 1 Reply Last reply
    0
    • bluebeanB bluebean

      Bei mir war heute früh die Abfrage wieder normal:

      Screenshot_20221209-065147~01.png

      A Offline
      A Offline
      ArnoD
      wrote on last edited by
      #1879

      @bluebean
      ok, dann ist anscheinend das Problem bei Solcast behoben.

      1 Reply Last reply
      0
      • A ArnoD

        @chrischros
        Komisch, ist bei mir auch so, nur dass ich überhaupt keine Rückmeldung von der Seite erhalte.
        Wenn ich aber das Script manuell starte, werden die Daten normal abgerufen.
        Muss mal testen, ob das nur ein Problem um 4:00 Uhr ist oder generell.

        Nachtrag: Um 5:10 Uhr hat es heute funktioniert. Vermute das Solcast um 4:00 Uhr ein Problem hat.
        Kannst es ja mal bei dir testen und die Zeile 303 im Script so ändern:

        schedule('{"time":{"exactTime":true,"start":"05:10"},"period":{"days":1}}', function() {
        
        C Offline
        C Offline
        ChrisChros
        wrote on last edited by
        #1880

        @arnod said in E3DC Hauskraftwerk steuern:

        Nachtrag: Um 5:10 Uhr hat es heute funktioniert. Vermute das Solcast um 4:00 Uhr ein Problem hat.
        Kannst es ja mal bei dir testen und die Zeile 303 im Script so ändern:
        schedule('{"time":{"exactTime":true,"start":"05:10"},"period":{"days":1}}', function() {

        Danke, habe es nun eingepflegt und werde es die Tage beobachten.

        Heute Morgen war keine Fehlermeldung im Log gewesen, eventuell hatten die auch Server Probleme bei Solcast die Tage.

        1 Reply Last reply
        0
        • bluebeanB bluebean

          @arnod said in E3DC Hauskraftwerk steuern:

          @bluebean
          Kann ich machen, das dauert jetzt aber etwas, da ich aktuell wenig Zeit für mein Hobby habe.
          Nach Weihnachten sieht es wieder besser aus.

          Cool, danke dir bereits jetzt 🙂

          C Offline
          C Offline
          cacum
          wrote on last edited by
          #1881

          @bluebean said in E3DC Hauskraftwerk steuern:

          @arnod said in E3DC Hauskraftwerk steuern:

          @bluebean
          Kann ich machen, das dauert jetzt aber etwas, da ich aktuell wenig Zeit für mein Hobby habe.
          Nach Weihnachten sieht es wieder besser aus.

          Cool, danke dir bereits jetzt 🙂

          Ich würde mich dafür auch sehr bedanken, wenn ich zu einer bestimmten Zeit eine bestimmte Menge in den Speicher laden könnte (wegen flexibler tarife und so)

          Habt ihr auch die neue Nachicht im E3DC-System wegen dynamischer Direktvermarktung? Dass wird ja noch mal neuen Schwung in die Programmierung bringen. Ob es sich bei mir lohnt ist fraglich, weil ich mit meiner Anlage von 2011 noch mit üppiger Vergütung gesegnet bin.

          A 1 Reply Last reply
          0
          • C cacum

            @bluebean said in E3DC Hauskraftwerk steuern:

            @arnod said in E3DC Hauskraftwerk steuern:

            @bluebean
            Kann ich machen, das dauert jetzt aber etwas, da ich aktuell wenig Zeit für mein Hobby habe.
            Nach Weihnachten sieht es wieder besser aus.

            Cool, danke dir bereits jetzt 🙂

            Ich würde mich dafür auch sehr bedanken, wenn ich zu einer bestimmten Zeit eine bestimmte Menge in den Speicher laden könnte (wegen flexibler tarife und so)

            Habt ihr auch die neue Nachicht im E3DC-System wegen dynamischer Direktvermarktung? Dass wird ja noch mal neuen Schwung in die Programmierung bringen. Ob es sich bei mir lohnt ist fraglich, weil ich mit meiner Anlage von 2011 noch mit üppiger Vergütung gesegnet bin.

            A Offline
            A Offline
            ArnoD
            wrote on last edited by
            #1882

            @cacum sagte in E3DC Hauskraftwerk steuern:

            Habt ihr auch die neue Nachicht im E3DC-System wegen dynamischer Direktvermarktung?

            Wo genau soll diese Nachricht sein?

            bluebeanB Z 3 Replies Last reply
            0
            • A ArnoD

              @cacum sagte in E3DC Hauskraftwerk steuern:

              Habt ihr auch die neue Nachicht im E3DC-System wegen dynamischer Direktvermarktung?

              Wo genau soll diese Nachricht sein?

              bluebeanB Offline
              bluebeanB Offline
              bluebean
              wrote on last edited by bluebean
              #1883

              @arnod
              Die kommt, wenn man sich im S10 Portal oder über die E3DC App anmeldet.
              Es wird zunächst abgefragt, ob Nutzer prinzipiell Interesse haben - auf der Basis soll dann im nächsten Schritt ein konkretes Angebot geschnitten werden gemeinsam mit dem Partner, den E3DC dafür gewonnen hat.

              1 Reply Last reply
              0
              • A ArnoD

                @cacum sagte in E3DC Hauskraftwerk steuern:

                Habt ihr auch die neue Nachicht im E3DC-System wegen dynamischer Direktvermarktung?

                Wo genau soll diese Nachricht sein?

                Z Offline
                Z Offline
                Zelkin
                wrote on last edited by Zelkin
                #1884

                @arnod
                Mann, Mann, da hat man mal ein paar Wochen was um die Ohren .... dann verdoppelt sich gefühlt der umfang des Thread .... wow
                Danke dir @ArnoD, dass du meine Idee aufgenommen hast 🙂
                Die Arbeit die du hier leistest ist einfach unglaublich

                eben alles aktualisiert und läuft

                Danke für die Mühe

                1 Reply Last reply
                0
                • A ArnoD

                  @cacum sagte in E3DC Hauskraftwerk steuern:

                  Habt ihr auch die neue Nachicht im E3DC-System wegen dynamischer Direktvermarktung?

                  Wo genau soll diese Nachricht sein?

                  Z Offline
                  Z Offline
                  Zelkin
                  wrote on last edited by
                  #1885

                  @arnod
                  Mal ne Frage zum Eigenverbrauch (ist in der Vis Info noch "alt" beschrieben)
                  Soll Ich hier nun wirklich den MIN Eigenverbrach zwischen 06:00 und 19:00 Uhr angeben??
                  Also sozusagen 13 x meine Grundlast?

                  Bisher war meine Angabe ja der Durchschnittsverbrauch vom ganzen Tag

                  Sorry wenn die frage schon aufkam ... habs nicht gefunden

                  A 1 Reply Last reply
                  0
                  • Z Zelkin

                    @arnod
                    Mal ne Frage zum Eigenverbrauch (ist in der Vis Info noch "alt" beschrieben)
                    Soll Ich hier nun wirklich den MIN Eigenverbrach zwischen 06:00 und 19:00 Uhr angeben??
                    Also sozusagen 13 x meine Grundlast?

                    Bisher war meine Angabe ja der Durchschnittsverbrauch vom ganzen Tag

                    Sorry wenn die frage schon aufkam ... habs nicht gefunden

                    A Offline
                    A Offline
                    ArnoD
                    wrote on last edited by
                    #1886

                    @zelkin
                    Nein, beim Eigenverbrauch ist alles beim alten geblieben.
                    Der Durchschnittsverbrauch für die Berechnung der Entladezeit Notstromreserve wird automatisch berechnet und eingetragen, da musst du nichts machen.
                    Die einzigen Variablen wo du was eintragen musst, sind 10_minWertPrognose_kWh ab welcher Prognose für den nächsten Tag in kWh die Notstromreserve verwendet werden darf und 10_Offset_sunriseEnd wie viele Minuten nach Sonnenaufgang soll die Notstromreserve noch abdecken bevor die Batterie leer ist.
                    Wenn du bei 10_Offset_sunriseEnd z. B. 0 eintragen würdest, dann wird anhand vom berechnetet Durchschnittsverbrauch vom Vortag mit dem Entladen der Notstromreserve gestartet, sodass die Batterie bis zum Sonnenaufgang ausreicht. Wenn du da z. B. 60 einträgst, wird später mit dem Entladen gestartet, sodass die Batterie erst 60 Min. nach Sonnenaufgang leer ist.

                    smartboartS 1 Reply Last reply
                    0
                    • A ArnoD

                      @zelkin
                      Nein, beim Eigenverbrauch ist alles beim alten geblieben.
                      Der Durchschnittsverbrauch für die Berechnung der Entladezeit Notstromreserve wird automatisch berechnet und eingetragen, da musst du nichts machen.
                      Die einzigen Variablen wo du was eintragen musst, sind 10_minWertPrognose_kWh ab welcher Prognose für den nächsten Tag in kWh die Notstromreserve verwendet werden darf und 10_Offset_sunriseEnd wie viele Minuten nach Sonnenaufgang soll die Notstromreserve noch abdecken bevor die Batterie leer ist.
                      Wenn du bei 10_Offset_sunriseEnd z. B. 0 eintragen würdest, dann wird anhand vom berechnetet Durchschnittsverbrauch vom Vortag mit dem Entladen der Notstromreserve gestartet, sodass die Batterie bis zum Sonnenaufgang ausreicht. Wenn du da z. B. 60 einträgst, wird später mit dem Entladen gestartet, sodass die Batterie erst 60 Min. nach Sonnenaufgang leer ist.

                      smartboartS Offline
                      smartboartS Offline
                      smartboart
                      wrote on last edited by
                      #1887

                      @arnod
                      Hi Arno ich habe das Script Autonomiezeitberchnung aktualisiert und an die neuen Bedingungen / RSCP Adapter und deinem aktuellen Sript angepasst. Falls du oder andere es noch benutzten kann es hier kopiert werden.

                      /*
                      E3DC dynamische Autonomiezeitberechnung bis zur eingestellten Reserve
                      von Smartboard 
                      28.09.2020
                      V0.0.1  -Dynamische Berechnung der Batterie  Autonomiezeit bei Entladung anhand der Modbusinformationen 
                              BatSoc und Batterie_Leistung unter Berücksichtigung der Notstromreserve.   
                              Für anzeige in Vis..
                              Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit Diese nur bei Entnahme angezeigt wird.
                              BatSoc in kwh   
                      29.09.2020
                      V0.0.2 -Berechnung auf Durchschnittswert der Autonomiezeit erweitert,  dadurch wird die Zeitanzeige ruhiger und gibt einen gemittelten 
                             Wert wieder, welcher auch aussagekräftiger ist.
                             - Notstromreserve wird nun aus Sript E3DC Control von ArnoD eingelesen. Sowie unterscheidung zur manuellen Eingabe  falls in E3DC eine 
                             Notstromreserve hinterlegt wurde. Somit bleibt die Autonomie Berechnung automatisch aktuell sollte in E3DC Control etwas angepasst werden.        
                      30.09.2020
                      V0.0.3- Autonomiezeit Anzeige in Minuten wenn < 1 Stunde . State Autonomiezeit geändert von type numnber zu string.
                      03.10.2020
                      V0.0.4- debug überarbeitet für Anzeige im Log Adapter
                      07.10.2020
                      V0.0.6 - Berechnungsfehler, welche -Werte erzeugten wurden behoben.
                               Ausgabe der 1. Autonomiezeitberechnung sofort anzeigen dann wird auf Durchschnittswert umgeschalte
                      20.10.2020
                      V0.0.7 - Hinweis stevie77 Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
                      Bei 13 KW 13 / 100 * 88 = 11.44 Bemerkung .Vermutlich kann hier 1 eingetragen werden, da im Verbrauchswert Watt schon die die Verluste inkludiert sind.
                      21.10.2020
                      V0.0.7 - Hinweis stevie77 Tiefenentladeschutz bei 10 % mit  in Berechnung einbeziehen. 
                      V0.0.8 - Berücksichtung Notstrombetrieb: Im Normalbetrieb erfolgt die Autonomierzeitberechnung
                               bis zur Notstromreserve . Im Notstrombetrieb wird die Autonomiezeit nun weiter berechnet 
                               und die Berechnung erfolgt dann bis zur Nettokapazitätsgrenze (Entladeschutz).
                               Die Anzeige in kWh zeigt immer die Nettokapazität bis zum Entladeschutz.
                      13.11.2022
                      V0.0.9 - Notstromreserve nun aus E3DC-Charge-Control importiert. Lastabwurf ist entfallen
                      13.11.2022
                      v0.1.0 - Wirkungsgrad und Entladetiefe bei Autonomieberechnung entfernt, da dies zu Fehlberechnungen führt. Die Entnommene Leistung beinhaltet 
                              ja schon die Verluste, somit kann mit dem Brutto gerechnet werden. SOH einbezogen. 
                      11.01.2023
                      v0.1.1 - Berechnungsformel Autonomiteit geändert. Anderer Rechenweg. 
                      */        
                      
                      //Konfiguration
                      var debug = false;
                      var SpeicherNetto = 18.525; // kw/h hier die Speichergröße in kwh abzügl der Sicherheitsreserve 5 %
                      var cron1 = 6; // hier die Schedulezeit - Triggerhäufigkeit alle x Sekunden für Zeitberechnung eintragen
                      var Counter = 10; // Hier die Anzahl der Zeitberechnungen eintragen um einen Durchschnitswert zu ermitteln
                      
                      const fC = false;
                      const Statepfad = 'javascript.' + instance + '.PVAnlage.Autonomie.';
                      
                      //Variable für Cronjob start stop
                      var Timer = null;
                      //Variable Hilfsmerker
                      var Merker = true;
                      //Variablen zur Berechnung der Zeiten
                      var Autonomiezeit = 0;// bis Notstromreserve
                      // Variablen für Durchschnittsberechnung
                      var Count = 0;
                      var Summe = 0;
                      // Wert gleich anzeigen
                      var Anzeige = false;
                      // Variable für Bat Soc in kwh abzüglich Notstromreserve
                      var BatSockWh = 0;
                      var Entnahme = 0;
                      var BatSoc = 0;
                      var Speicher = 0;
                      var Asoc1 = 0;
                      var Asoc2 = 0;
                      var Asoc = 0;
                      
                      
                      //states to create Ergebnisse
                      const idAutonomiezeit = Statepfad + 'Autonomiezeit';   
                      const idBatSockWh = Statepfad + 'Batteriekapazitaet';  
                      
                      //Berechnungsgrundlagen
                      
                      const idAsoc1 = 'e3dc-rscp.0.BAT.BAT_0.ASOC'/*Alterungszustand*/
                      const idAsoc2 = 'e3dc-rscp.0.BAT.BAT_1.ASOC'/*Alterungszustand*/
                      
                      const idBatEntnahme = 'modbus.1.holdingRegisters.40070_Batterie_Leistung'/*Batterie-Leistung in Watt*/;
                      const idBatSoc = 'modbus.1.holdingRegisters.40083_Batterie_SOC'/*Batterie-SOC in Prozent*/;
                      const idNotstrombetrieb = 'modbus.1.holdingRegisters.40084_Emergency_Power_Status'/*Emergency-Power Status*/;
                      const idE3DCReserve = 'javascript.1.PVAnlage.E3DC-Control.Allgemein.Notstrom_akt'/*aktuell berechnete Notstromreserve*/;
                      
                      
                      //states create
                      // Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit nur Sichtbar bei Entnahme
                      createState(idAutonomiezeit, 0, fC, { type: 'string', name: 'Autonomiezeit',role:'text'});
                      createState(idBatSockWh, 0, fC, { type: 'number', name: 'Batteriekapazität',role:'value', unit: ' kWh'});
                      if(fC && debug)log('force Creation Aktiv States angelegt oder überschrieben');
                      
                      //Scriptstart
                      setState(idAutonomiezeit, '0' ,true);  
                      setTimeout( function(){
                      Berechnung();
                      },500);
                      
                      // Trigger Berechnung Aktueller Bat Soc in kwh
                      on(idBatSoc, function(dp) { 
                      if(debug)log('Batterie E3DC: Trigger BatSoc aktiv. BatSoc beträgt: '+ dp.state.val +' %'); 
                      Berechnung();
                      });
                      
                      
                      
                      //Berechnung Aktueller Bat Soc in kwh und Wert in State schreiben
                      function Berechnung(){    
                      BatSoc = getState(idBatSoc).val;
                      Asoc1 = getState(idAsoc1).val;
                      Asoc2 = getState(idAsoc2).val;
                      Asoc = (Asoc1+Asoc2)/2;
                      Speicher = SpeicherNetto/100*Asoc;
                      setState(idBatSockWh,Math.round(((Speicher/100) * BatSoc)*100)/100,true);  
                      if(debug)log('Batterie E3DC: Die Aktuell verfügbare Speicherkapazität ist: '+ getState(idBatSockWh).val+' kWh'); 
                      }
                      
                      // Schedule Berechnung Autonomiezeit starten bei Entnahme
                      on(idBatEntnahme, function(dp) {
                          if(dp.state.val < 0 ){
                          if(Merker)schedulestart();
                          Merker = false;
                          if(debug)log('Batterie E3DC: Aktuelle Entnahmeleistung: ' + dp.state.val +' Watt');
                          }
                      });
                      
                      //Berechnung Autonomiezeit
                      function schedulestart(){
                      if(debug)log('Batterie E3DC: Funktion Schedulestart aktiv');  
                      var cronjob = "*/"+cron1+" * * * * *";  
                      Timer = schedule(cronjob, function(){   
                      if(debug)log('Batterie E3DC: Schedule cronjob aktiv');       
                      Entnahme = getState (idBatEntnahme).val;
                      BatSockWh = getState (idBatSockWh).val;
                      BatSoc = getState(idBatSoc).val;
                      var Reserve = getState(idE3DCReserve).val;
                      var Notstrombetrieb = getState(idNotstrombetrieb).val;
                      if  (Notstrombetrieb !=2){
                      Reserve = 0;
                      }
                      setTimeout(function(){
                      if(Entnahme<0){
                      //BatSockWh = Math.round(BatSockWh - (Speicher/100*Reserve*100)/100);
                      BatSockWh = BatSockWh/BatSoc*(BatSoc-Reserve);
                      if(debug)log('Batterie E3DC: aktuelle Netto Gesamtkapazität abzüglich der Notstromreserve ist:  '+ BatSockWh + ' kWh.');
                      setTimeout(function(){
                      Autonomiezeit = Math.round(BatSockWh*1000/Entnahme*-1*100)/100;    
                      Durchschnitt();
                      if(Anzeige === false && Autonomiezeit >0){
                      setState(idAutonomiezeit, Autonomiezeit +' h',true);
                      Anzeige = true;
                      }
                      if(debug)log('Batterie E3DC: Autonomiezeit neu berechnet auf:  '+ Autonomiezeit + ' h.');
                      },100);
                      }else{
                      //Berechnung stoppen bei Entnahme 0 und Autonomiezeit auf 0 setzen
                              if(Entnahme >=0){
                              clearSchedule(Timer);
                              Merker = true;
                              if(debug)log('Batterie E3DC: Schedule cronjob gestoppt weil keine Entnahme');
                              setState(idAutonomiezeit,'0',true);
                              Anzeige = false;
                                      }
                                  }
                              },100);   
                          });
                      }
                      
                      // Zaehlem für Durchschnittsberechnung
                      
                      function Durchschnitt(){
                      Count ++
                      Summe = Summe + Autonomiezeit;
                      if(debug)log ('Summe: ' + Summe + ' Zaehler: '+Count+ ' Addition: + ' + Autonomiezeit);
                      if(Count===Counter){
                      var Zeit= Summe/Count;
                      setTimeout(function(){
                      if(debug)log('Batterie E3DC: Aktuelle Netto Speicherkapazität beträgt: '+ getState(idBatSockWh).val+' kWh, abzüglich der Notstromreserve '+BatSockWh+ ' kWh' );     
                      if(Zeit>=1){    
                      setState(idAutonomiezeit,+ Math.round(Zeit*100)/100 +' h',true);  
                      if(debug)log('Batterie E3DC: Autonomiezeit beträgt: '+ Math.round(Zeit*10)/10 + ' h');
                          }
                      if(Zeit<1 && Zeit >0){       
                      setState(idAutonomiezeit, + Math.round((Zeit*60)*100/100)+' min',true);
                      if(debug)log('Batterie E3DC: Autonomiezeit bis Notstromreserve beträgt: '+Math.round((Zeit*60)*100/100) +' min.');
                          }
                      if(Zeit < 0){
                      setState(idAutonomiezeit, '0' ,true);
                      if(debug)log('Batterie E3DC: Autonomiezeit beträgt: 0 min.');
                          }
                      Count=0;
                      Summe=0;
                      if(debug)log('Batterie E3DC: Reset: Count =  '+ Count+ ' Summe = ' + Summe);
                              },100);  
                          }
                      }
                      
                      
                      
                      A A 2 Replies Last reply
                      2
                      • smartboartS smartboart

                        @arnod
                        Hi Arno ich habe das Script Autonomiezeitberchnung aktualisiert und an die neuen Bedingungen / RSCP Adapter und deinem aktuellen Sript angepasst. Falls du oder andere es noch benutzten kann es hier kopiert werden.

                        /*
                        E3DC dynamische Autonomiezeitberechnung bis zur eingestellten Reserve
                        von Smartboard 
                        28.09.2020
                        V0.0.1  -Dynamische Berechnung der Batterie  Autonomiezeit bei Entladung anhand der Modbusinformationen 
                                BatSoc und Batterie_Leistung unter Berücksichtigung der Notstromreserve.   
                                Für anzeige in Vis..
                                Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit Diese nur bei Entnahme angezeigt wird.
                                BatSoc in kwh   
                        29.09.2020
                        V0.0.2 -Berechnung auf Durchschnittswert der Autonomiezeit erweitert,  dadurch wird die Zeitanzeige ruhiger und gibt einen gemittelten 
                               Wert wieder, welcher auch aussagekräftiger ist.
                               - Notstromreserve wird nun aus Sript E3DC Control von ArnoD eingelesen. Sowie unterscheidung zur manuellen Eingabe  falls in E3DC eine 
                               Notstromreserve hinterlegt wurde. Somit bleibt die Autonomie Berechnung automatisch aktuell sollte in E3DC Control etwas angepasst werden.        
                        30.09.2020
                        V0.0.3- Autonomiezeit Anzeige in Minuten wenn < 1 Stunde . State Autonomiezeit geändert von type numnber zu string.
                        03.10.2020
                        V0.0.4- debug überarbeitet für Anzeige im Log Adapter
                        07.10.2020
                        V0.0.6 - Berechnungsfehler, welche -Werte erzeugten wurden behoben.
                                 Ausgabe der 1. Autonomiezeitberechnung sofort anzeigen dann wird auf Durchschnittswert umgeschalte
                        20.10.2020
                        V0.0.7 - Hinweis stevie77 Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
                        Bei 13 KW 13 / 100 * 88 = 11.44 Bemerkung .Vermutlich kann hier 1 eingetragen werden, da im Verbrauchswert Watt schon die die Verluste inkludiert sind.
                        21.10.2020
                        V0.0.7 - Hinweis stevie77 Tiefenentladeschutz bei 10 % mit  in Berechnung einbeziehen. 
                        V0.0.8 - Berücksichtung Notstrombetrieb: Im Normalbetrieb erfolgt die Autonomierzeitberechnung
                                 bis zur Notstromreserve . Im Notstrombetrieb wird die Autonomiezeit nun weiter berechnet 
                                 und die Berechnung erfolgt dann bis zur Nettokapazitätsgrenze (Entladeschutz).
                                 Die Anzeige in kWh zeigt immer die Nettokapazität bis zum Entladeschutz.
                        13.11.2022
                        V0.0.9 - Notstromreserve nun aus E3DC-Charge-Control importiert. Lastabwurf ist entfallen
                        13.11.2022
                        v0.1.0 - Wirkungsgrad und Entladetiefe bei Autonomieberechnung entfernt, da dies zu Fehlberechnungen führt. Die Entnommene Leistung beinhaltet 
                                ja schon die Verluste, somit kann mit dem Brutto gerechnet werden. SOH einbezogen. 
                        11.01.2023
                        v0.1.1 - Berechnungsformel Autonomiteit geändert. Anderer Rechenweg. 
                        */        
                        
                        //Konfiguration
                        var debug = false;
                        var SpeicherNetto = 18.525; // kw/h hier die Speichergröße in kwh abzügl der Sicherheitsreserve 5 %
                        var cron1 = 6; // hier die Schedulezeit - Triggerhäufigkeit alle x Sekunden für Zeitberechnung eintragen
                        var Counter = 10; // Hier die Anzahl der Zeitberechnungen eintragen um einen Durchschnitswert zu ermitteln
                        
                        const fC = false;
                        const Statepfad = 'javascript.' + instance + '.PVAnlage.Autonomie.';
                        
                        //Variable für Cronjob start stop
                        var Timer = null;
                        //Variable Hilfsmerker
                        var Merker = true;
                        //Variablen zur Berechnung der Zeiten
                        var Autonomiezeit = 0;// bis Notstromreserve
                        // Variablen für Durchschnittsberechnung
                        var Count = 0;
                        var Summe = 0;
                        // Wert gleich anzeigen
                        var Anzeige = false;
                        // Variable für Bat Soc in kwh abzüglich Notstromreserve
                        var BatSockWh = 0;
                        var Entnahme = 0;
                        var BatSoc = 0;
                        var Speicher = 0;
                        var Asoc1 = 0;
                        var Asoc2 = 0;
                        var Asoc = 0;
                        
                        
                        //states to create Ergebnisse
                        const idAutonomiezeit = Statepfad + 'Autonomiezeit';   
                        const idBatSockWh = Statepfad + 'Batteriekapazitaet';  
                        
                        //Berechnungsgrundlagen
                        
                        const idAsoc1 = 'e3dc-rscp.0.BAT.BAT_0.ASOC'/*Alterungszustand*/
                        const idAsoc2 = 'e3dc-rscp.0.BAT.BAT_1.ASOC'/*Alterungszustand*/
                        
                        const idBatEntnahme = 'modbus.1.holdingRegisters.40070_Batterie_Leistung'/*Batterie-Leistung in Watt*/;
                        const idBatSoc = 'modbus.1.holdingRegisters.40083_Batterie_SOC'/*Batterie-SOC in Prozent*/;
                        const idNotstrombetrieb = 'modbus.1.holdingRegisters.40084_Emergency_Power_Status'/*Emergency-Power Status*/;
                        const idE3DCReserve = 'javascript.1.PVAnlage.E3DC-Control.Allgemein.Notstrom_akt'/*aktuell berechnete Notstromreserve*/;
                        
                        
                        //states create
                        // Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit nur Sichtbar bei Entnahme
                        createState(idAutonomiezeit, 0, fC, { type: 'string', name: 'Autonomiezeit',role:'text'});
                        createState(idBatSockWh, 0, fC, { type: 'number', name: 'Batteriekapazität',role:'value', unit: ' kWh'});
                        if(fC && debug)log('force Creation Aktiv States angelegt oder überschrieben');
                        
                        //Scriptstart
                        setState(idAutonomiezeit, '0' ,true);  
                        setTimeout( function(){
                        Berechnung();
                        },500);
                        
                        // Trigger Berechnung Aktueller Bat Soc in kwh
                        on(idBatSoc, function(dp) { 
                        if(debug)log('Batterie E3DC: Trigger BatSoc aktiv. BatSoc beträgt: '+ dp.state.val +' %'); 
                        Berechnung();
                        });
                        
                        
                        
                        //Berechnung Aktueller Bat Soc in kwh und Wert in State schreiben
                        function Berechnung(){    
                        BatSoc = getState(idBatSoc).val;
                        Asoc1 = getState(idAsoc1).val;
                        Asoc2 = getState(idAsoc2).val;
                        Asoc = (Asoc1+Asoc2)/2;
                        Speicher = SpeicherNetto/100*Asoc;
                        setState(idBatSockWh,Math.round(((Speicher/100) * BatSoc)*100)/100,true);  
                        if(debug)log('Batterie E3DC: Die Aktuell verfügbare Speicherkapazität ist: '+ getState(idBatSockWh).val+' kWh'); 
                        }
                        
                        // Schedule Berechnung Autonomiezeit starten bei Entnahme
                        on(idBatEntnahme, function(dp) {
                            if(dp.state.val < 0 ){
                            if(Merker)schedulestart();
                            Merker = false;
                            if(debug)log('Batterie E3DC: Aktuelle Entnahmeleistung: ' + dp.state.val +' Watt');
                            }
                        });
                        
                        //Berechnung Autonomiezeit
                        function schedulestart(){
                        if(debug)log('Batterie E3DC: Funktion Schedulestart aktiv');  
                        var cronjob = "*/"+cron1+" * * * * *";  
                        Timer = schedule(cronjob, function(){   
                        if(debug)log('Batterie E3DC: Schedule cronjob aktiv');       
                        Entnahme = getState (idBatEntnahme).val;
                        BatSockWh = getState (idBatSockWh).val;
                        BatSoc = getState(idBatSoc).val;
                        var Reserve = getState(idE3DCReserve).val;
                        var Notstrombetrieb = getState(idNotstrombetrieb).val;
                        if  (Notstrombetrieb !=2){
                        Reserve = 0;
                        }
                        setTimeout(function(){
                        if(Entnahme<0){
                        //BatSockWh = Math.round(BatSockWh - (Speicher/100*Reserve*100)/100);
                        BatSockWh = BatSockWh/BatSoc*(BatSoc-Reserve);
                        if(debug)log('Batterie E3DC: aktuelle Netto Gesamtkapazität abzüglich der Notstromreserve ist:  '+ BatSockWh + ' kWh.');
                        setTimeout(function(){
                        Autonomiezeit = Math.round(BatSockWh*1000/Entnahme*-1*100)/100;    
                        Durchschnitt();
                        if(Anzeige === false && Autonomiezeit >0){
                        setState(idAutonomiezeit, Autonomiezeit +' h',true);
                        Anzeige = true;
                        }
                        if(debug)log('Batterie E3DC: Autonomiezeit neu berechnet auf:  '+ Autonomiezeit + ' h.');
                        },100);
                        }else{
                        //Berechnung stoppen bei Entnahme 0 und Autonomiezeit auf 0 setzen
                                if(Entnahme >=0){
                                clearSchedule(Timer);
                                Merker = true;
                                if(debug)log('Batterie E3DC: Schedule cronjob gestoppt weil keine Entnahme');
                                setState(idAutonomiezeit,'0',true);
                                Anzeige = false;
                                        }
                                    }
                                },100);   
                            });
                        }
                        
                        // Zaehlem für Durchschnittsberechnung
                        
                        function Durchschnitt(){
                        Count ++
                        Summe = Summe + Autonomiezeit;
                        if(debug)log ('Summe: ' + Summe + ' Zaehler: '+Count+ ' Addition: + ' + Autonomiezeit);
                        if(Count===Counter){
                        var Zeit= Summe/Count;
                        setTimeout(function(){
                        if(debug)log('Batterie E3DC: Aktuelle Netto Speicherkapazität beträgt: '+ getState(idBatSockWh).val+' kWh, abzüglich der Notstromreserve '+BatSockWh+ ' kWh' );     
                        if(Zeit>=1){    
                        setState(idAutonomiezeit,+ Math.round(Zeit*100)/100 +' h',true);  
                        if(debug)log('Batterie E3DC: Autonomiezeit beträgt: '+ Math.round(Zeit*10)/10 + ' h');
                            }
                        if(Zeit<1 && Zeit >0){       
                        setState(idAutonomiezeit, + Math.round((Zeit*60)*100/100)+' min',true);
                        if(debug)log('Batterie E3DC: Autonomiezeit bis Notstromreserve beträgt: '+Math.round((Zeit*60)*100/100) +' min.');
                            }
                        if(Zeit < 0){
                        setState(idAutonomiezeit, '0' ,true);
                        if(debug)log('Batterie E3DC: Autonomiezeit beträgt: 0 min.');
                            }
                        Count=0;
                        Summe=0;
                        if(debug)log('Batterie E3DC: Reset: Count =  '+ Count+ ' Summe = ' + Summe);
                                },100);  
                            }
                        }
                        
                        
                        
                        A Offline
                        A Offline
                        ArnoD
                        wrote on last edited by
                        #1888

                        @smartboart
                        Super, danke 👍

                        1 Reply Last reply
                        0
                        • smartboartS smartboart

                          @arnod
                          Hi Arno ich habe das Script Autonomiezeitberchnung aktualisiert und an die neuen Bedingungen / RSCP Adapter und deinem aktuellen Sript angepasst. Falls du oder andere es noch benutzten kann es hier kopiert werden.

                          /*
                          E3DC dynamische Autonomiezeitberechnung bis zur eingestellten Reserve
                          von Smartboard 
                          28.09.2020
                          V0.0.1  -Dynamische Berechnung der Batterie  Autonomiezeit bei Entladung anhand der Modbusinformationen 
                                  BatSoc und Batterie_Leistung unter Berücksichtigung der Notstromreserve.   
                                  Für anzeige in Vis..
                                  Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit Diese nur bei Entnahme angezeigt wird.
                                  BatSoc in kwh   
                          29.09.2020
                          V0.0.2 -Berechnung auf Durchschnittswert der Autonomiezeit erweitert,  dadurch wird die Zeitanzeige ruhiger und gibt einen gemittelten 
                                 Wert wieder, welcher auch aussagekräftiger ist.
                                 - Notstromreserve wird nun aus Sript E3DC Control von ArnoD eingelesen. Sowie unterscheidung zur manuellen Eingabe  falls in E3DC eine 
                                 Notstromreserve hinterlegt wurde. Somit bleibt die Autonomie Berechnung automatisch aktuell sollte in E3DC Control etwas angepasst werden.        
                          30.09.2020
                          V0.0.3- Autonomiezeit Anzeige in Minuten wenn < 1 Stunde . State Autonomiezeit geändert von type numnber zu string.
                          03.10.2020
                          V0.0.4- debug überarbeitet für Anzeige im Log Adapter
                          07.10.2020
                          V0.0.6 - Berechnungsfehler, welche -Werte erzeugten wurden behoben.
                                   Ausgabe der 1. Autonomiezeitberechnung sofort anzeigen dann wird auf Durchschnittswert umgeschalte
                          20.10.2020
                          V0.0.7 - Hinweis stevie77 Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
                          Bei 13 KW 13 / 100 * 88 = 11.44 Bemerkung .Vermutlich kann hier 1 eingetragen werden, da im Verbrauchswert Watt schon die die Verluste inkludiert sind.
                          21.10.2020
                          V0.0.7 - Hinweis stevie77 Tiefenentladeschutz bei 10 % mit  in Berechnung einbeziehen. 
                          V0.0.8 - Berücksichtung Notstrombetrieb: Im Normalbetrieb erfolgt die Autonomierzeitberechnung
                                   bis zur Notstromreserve . Im Notstrombetrieb wird die Autonomiezeit nun weiter berechnet 
                                   und die Berechnung erfolgt dann bis zur Nettokapazitätsgrenze (Entladeschutz).
                                   Die Anzeige in kWh zeigt immer die Nettokapazität bis zum Entladeschutz.
                          13.11.2022
                          V0.0.9 - Notstromreserve nun aus E3DC-Charge-Control importiert. Lastabwurf ist entfallen
                          13.11.2022
                          v0.1.0 - Wirkungsgrad und Entladetiefe bei Autonomieberechnung entfernt, da dies zu Fehlberechnungen führt. Die Entnommene Leistung beinhaltet 
                                  ja schon die Verluste, somit kann mit dem Brutto gerechnet werden. SOH einbezogen. 
                          11.01.2023
                          v0.1.1 - Berechnungsformel Autonomiteit geändert. Anderer Rechenweg. 
                          */        
                          
                          //Konfiguration
                          var debug = false;
                          var SpeicherNetto = 18.525; // kw/h hier die Speichergröße in kwh abzügl der Sicherheitsreserve 5 %
                          var cron1 = 6; // hier die Schedulezeit - Triggerhäufigkeit alle x Sekunden für Zeitberechnung eintragen
                          var Counter = 10; // Hier die Anzahl der Zeitberechnungen eintragen um einen Durchschnitswert zu ermitteln
                          
                          const fC = false;
                          const Statepfad = 'javascript.' + instance + '.PVAnlage.Autonomie.';
                          
                          //Variable für Cronjob start stop
                          var Timer = null;
                          //Variable Hilfsmerker
                          var Merker = true;
                          //Variablen zur Berechnung der Zeiten
                          var Autonomiezeit = 0;// bis Notstromreserve
                          // Variablen für Durchschnittsberechnung
                          var Count = 0;
                          var Summe = 0;
                          // Wert gleich anzeigen
                          var Anzeige = false;
                          // Variable für Bat Soc in kwh abzüglich Notstromreserve
                          var BatSockWh = 0;
                          var Entnahme = 0;
                          var BatSoc = 0;
                          var Speicher = 0;
                          var Asoc1 = 0;
                          var Asoc2 = 0;
                          var Asoc = 0;
                          
                          
                          //states to create Ergebnisse
                          const idAutonomiezeit = Statepfad + 'Autonomiezeit';   
                          const idBatSockWh = Statepfad + 'Batteriekapazitaet';  
                          
                          //Berechnungsgrundlagen
                          
                          const idAsoc1 = 'e3dc-rscp.0.BAT.BAT_0.ASOC'/*Alterungszustand*/
                          const idAsoc2 = 'e3dc-rscp.0.BAT.BAT_1.ASOC'/*Alterungszustand*/
                          
                          const idBatEntnahme = 'modbus.1.holdingRegisters.40070_Batterie_Leistung'/*Batterie-Leistung in Watt*/;
                          const idBatSoc = 'modbus.1.holdingRegisters.40083_Batterie_SOC'/*Batterie-SOC in Prozent*/;
                          const idNotstrombetrieb = 'modbus.1.holdingRegisters.40084_Emergency_Power_Status'/*Emergency-Power Status*/;
                          const idE3DCReserve = 'javascript.1.PVAnlage.E3DC-Control.Allgemein.Notstrom_akt'/*aktuell berechnete Notstromreserve*/;
                          
                          
                          //states create
                          // Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit nur Sichtbar bei Entnahme
                          createState(idAutonomiezeit, 0, fC, { type: 'string', name: 'Autonomiezeit',role:'text'});
                          createState(idBatSockWh, 0, fC, { type: 'number', name: 'Batteriekapazität',role:'value', unit: ' kWh'});
                          if(fC && debug)log('force Creation Aktiv States angelegt oder überschrieben');
                          
                          //Scriptstart
                          setState(idAutonomiezeit, '0' ,true);  
                          setTimeout( function(){
                          Berechnung();
                          },500);
                          
                          // Trigger Berechnung Aktueller Bat Soc in kwh
                          on(idBatSoc, function(dp) { 
                          if(debug)log('Batterie E3DC: Trigger BatSoc aktiv. BatSoc beträgt: '+ dp.state.val +' %'); 
                          Berechnung();
                          });
                          
                          
                          
                          //Berechnung Aktueller Bat Soc in kwh und Wert in State schreiben
                          function Berechnung(){    
                          BatSoc = getState(idBatSoc).val;
                          Asoc1 = getState(idAsoc1).val;
                          Asoc2 = getState(idAsoc2).val;
                          Asoc = (Asoc1+Asoc2)/2;
                          Speicher = SpeicherNetto/100*Asoc;
                          setState(idBatSockWh,Math.round(((Speicher/100) * BatSoc)*100)/100,true);  
                          if(debug)log('Batterie E3DC: Die Aktuell verfügbare Speicherkapazität ist: '+ getState(idBatSockWh).val+' kWh'); 
                          }
                          
                          // Schedule Berechnung Autonomiezeit starten bei Entnahme
                          on(idBatEntnahme, function(dp) {
                              if(dp.state.val < 0 ){
                              if(Merker)schedulestart();
                              Merker = false;
                              if(debug)log('Batterie E3DC: Aktuelle Entnahmeleistung: ' + dp.state.val +' Watt');
                              }
                          });
                          
                          //Berechnung Autonomiezeit
                          function schedulestart(){
                          if(debug)log('Batterie E3DC: Funktion Schedulestart aktiv');  
                          var cronjob = "*/"+cron1+" * * * * *";  
                          Timer = schedule(cronjob, function(){   
                          if(debug)log('Batterie E3DC: Schedule cronjob aktiv');       
                          Entnahme = getState (idBatEntnahme).val;
                          BatSockWh = getState (idBatSockWh).val;
                          BatSoc = getState(idBatSoc).val;
                          var Reserve = getState(idE3DCReserve).val;
                          var Notstrombetrieb = getState(idNotstrombetrieb).val;
                          if  (Notstrombetrieb !=2){
                          Reserve = 0;
                          }
                          setTimeout(function(){
                          if(Entnahme<0){
                          //BatSockWh = Math.round(BatSockWh - (Speicher/100*Reserve*100)/100);
                          BatSockWh = BatSockWh/BatSoc*(BatSoc-Reserve);
                          if(debug)log('Batterie E3DC: aktuelle Netto Gesamtkapazität abzüglich der Notstromreserve ist:  '+ BatSockWh + ' kWh.');
                          setTimeout(function(){
                          Autonomiezeit = Math.round(BatSockWh*1000/Entnahme*-1*100)/100;    
                          Durchschnitt();
                          if(Anzeige === false && Autonomiezeit >0){
                          setState(idAutonomiezeit, Autonomiezeit +' h',true);
                          Anzeige = true;
                          }
                          if(debug)log('Batterie E3DC: Autonomiezeit neu berechnet auf:  '+ Autonomiezeit + ' h.');
                          },100);
                          }else{
                          //Berechnung stoppen bei Entnahme 0 und Autonomiezeit auf 0 setzen
                                  if(Entnahme >=0){
                                  clearSchedule(Timer);
                                  Merker = true;
                                  if(debug)log('Batterie E3DC: Schedule cronjob gestoppt weil keine Entnahme');
                                  setState(idAutonomiezeit,'0',true);
                                  Anzeige = false;
                                          }
                                      }
                                  },100);   
                              });
                          }
                          
                          // Zaehlem für Durchschnittsberechnung
                          
                          function Durchschnitt(){
                          Count ++
                          Summe = Summe + Autonomiezeit;
                          if(debug)log ('Summe: ' + Summe + ' Zaehler: '+Count+ ' Addition: + ' + Autonomiezeit);
                          if(Count===Counter){
                          var Zeit= Summe/Count;
                          setTimeout(function(){
                          if(debug)log('Batterie E3DC: Aktuelle Netto Speicherkapazität beträgt: '+ getState(idBatSockWh).val+' kWh, abzüglich der Notstromreserve '+BatSockWh+ ' kWh' );     
                          if(Zeit>=1){    
                          setState(idAutonomiezeit,+ Math.round(Zeit*100)/100 +' h',true);  
                          if(debug)log('Batterie E3DC: Autonomiezeit beträgt: '+ Math.round(Zeit*10)/10 + ' h');
                              }
                          if(Zeit<1 && Zeit >0){       
                          setState(idAutonomiezeit, + Math.round((Zeit*60)*100/100)+' min',true);
                          if(debug)log('Batterie E3DC: Autonomiezeit bis Notstromreserve beträgt: '+Math.round((Zeit*60)*100/100) +' min.');
                              }
                          if(Zeit < 0){
                          setState(idAutonomiezeit, '0' ,true);
                          if(debug)log('Batterie E3DC: Autonomiezeit beträgt: 0 min.');
                              }
                          Count=0;
                          Summe=0;
                          if(debug)log('Batterie E3DC: Reset: Count =  '+ Count+ ' Summe = ' + Summe);
                                  },100);  
                              }
                          }
                          
                          
                          
                          A Offline
                          A Offline
                          Abyss
                          wrote on last edited by
                          #1889

                          @smartboart
                          Danke für das Update des neuen Scriptes.
                          @ArnoD
                          Danke für das neue Charge-Control und die neue Art der Regelung.
                          Klasse Sache!!
                          Freue mich schon auf die Möglichkeit der manuellen Speicherladung. 😉

                          Nach langer Pause hab ich mich mal wieder drangesetzt um meine Systeme auf den aktuellen Stand zu bringen.
                          Bei deinem Autonomie-Script scheitere ich grad an folgender Zeile:
                          const idE3DCReserve = 'javascript.0.PVAnlage.E3DC-Control.Allgemein.Notstrom_akt'/aktuell berechnete Notstromreserve/;

                          Wo kommt das Objekt her? das gibt es bei mir nicht und wird weder durch Charge-Control noch die Autonomiezeit erstellt?
                          Hab ich hier was verpasst?
                          Ohne das bekomme ich nur Fehlermeldungen und die Berechnung läuft nicht.

                          Danke und Grüße

                          H smartboartS 2 Replies Last reply
                          0
                          • A Abyss

                            @smartboart
                            Danke für das Update des neuen Scriptes.
                            @ArnoD
                            Danke für das neue Charge-Control und die neue Art der Regelung.
                            Klasse Sache!!
                            Freue mich schon auf die Möglichkeit der manuellen Speicherladung. 😉

                            Nach langer Pause hab ich mich mal wieder drangesetzt um meine Systeme auf den aktuellen Stand zu bringen.
                            Bei deinem Autonomie-Script scheitere ich grad an folgender Zeile:
                            const idE3DCReserve = 'javascript.0.PVAnlage.E3DC-Control.Allgemein.Notstrom_akt'/aktuell berechnete Notstromreserve/;

                            Wo kommt das Objekt her? das gibt es bei mir nicht und wird weder durch Charge-Control noch die Autonomiezeit erstellt?
                            Hab ich hier was verpasst?
                            Ohne das bekomme ich nur Fehlermeldungen und die Berechnung läuft nicht.

                            Danke und Grüße

                            H Offline
                            H Offline
                            HDAndy
                            wrote on last edited by
                            #1890

                            @abyss
                            Das Objekt legt Charge-Control an und befindet sich bei mir unter: '0_userdata.0.Charge_Control.Allgemein.Notstrom_akt'.

                            Pfad ändern und geht 🙂

                            A 1 Reply Last reply
                            1
                            • A Abyss

                              @smartboart
                              Danke für das Update des neuen Scriptes.
                              @ArnoD
                              Danke für das neue Charge-Control und die neue Art der Regelung.
                              Klasse Sache!!
                              Freue mich schon auf die Möglichkeit der manuellen Speicherladung. 😉

                              Nach langer Pause hab ich mich mal wieder drangesetzt um meine Systeme auf den aktuellen Stand zu bringen.
                              Bei deinem Autonomie-Script scheitere ich grad an folgender Zeile:
                              const idE3DCReserve = 'javascript.0.PVAnlage.E3DC-Control.Allgemein.Notstrom_akt'/aktuell berechnete Notstromreserve/;

                              Wo kommt das Objekt her? das gibt es bei mir nicht und wird weder durch Charge-Control noch die Autonomiezeit erstellt?
                              Hab ich hier was verpasst?
                              Ohne das bekomme ich nur Fehlermeldungen und die Berechnung läuft nicht.

                              Danke und Grüße

                              smartboartS Offline
                              smartboartS Offline
                              smartboart
                              wrote on last edited by
                              #1891

                              @abyss Ja sorry..eben erst gelesen...arnos Script legt alles unter userdata an..ich habe das bei mir geändert weil ich nie auf userdata umgestellt habe und vergessen darauf hinzuweisen...

                              1 Reply Last reply
                              0
                              • H HDAndy

                                @abyss
                                Das Objekt legt Charge-Control an und befindet sich bei mir unter: '0_userdata.0.Charge_Control.Allgemein.Notstrom_akt'.

                                Pfad ändern und geht 🙂

                                A Offline
                                A Offline
                                Abyss
                                wrote on last edited by
                                #1892

                                @hdandy

                                Danke euch für den Hinweis.
                                Hab alles durchgeklickt aber an der Stelle wohl aktiv überlesen. 😉
                                Jetzt sieht es deutlich besser aus.

                                Danke nochmal!!

                                1 Reply Last reply
                                0
                                • A ArnoD

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

                                  • Entladen wird bei Erreichen der Notstromreserve gestoppt und erst bei +1 % Batterie SOC über Notstromreserve SOC wieder freigeben.
                                  • Neue Objekt ID 0_userdata.0.Charge_Control.Allgemein.Automatik_Regelung, um die Regelung vom Script in VIS ausschalten zu können. Achtung! Es wird dann auch keine Notstromreserve mehr berücksichtigt und man muss diese, wenn gewünscht, wieder direkt beim E3DC einstellen.
                                  • Fehler behoben das die untere Ladeschwelle nicht mehr berücksichtigt wurde
                                  A Offline
                                  A Offline
                                  ArnoD
                                  wrote on last edited by
                                  #1893

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

                                  • Bei der Abfragezeit der Daten von Solcast, werden die Minuten zufällig berechnet. Solcast Daten werden jetzt zwischen 4:01 Uhr und 4:59 Uhr abgerufen.
                                  • Fehler in Funktion CheckPrognose() behoben. Die Variable Notstrom_SOC_Proz wurde hier auf Einstellwert zurückgesetzt.
                                  A 1 Reply Last reply
                                  0
                                  • J jans_ios

                                    Ich habe leider nach wie vor die Situation, dass meine Wallbox bei dem Modbus-InputRegister "modbus.1.inputRegisters.128_total_kwh" immer eine 0 liefert. Ich vermute mittlerweile die Ursache eher in der Wallbox-Konfiguration, gerade der Bereich "Energy Meter" könnte hier relevant sein. Auch kommt mir der Status "Energy Charge Sequence" auf der Status-Seite komisch vor - da zählt nichts hoch, laut Handbuch soll hier die "Energiemenge, die im aktuellen Ladevorgang bereits geladen wurde" angezeigt werden - bei mir nichts 😞

                                    Ich habe mal Screenshots aus dem Webinterface meiner Wallbox gemacht. Kann die mal bitte jemand vergleichen mit seinen Settings?
                                    Danke!
                                    Status.jpg Configuration.jpg Energy Meter.jpg

                                    Z Offline
                                    Z Offline
                                    Zorrokater
                                    wrote on last edited by Zorrokater
                                    #1894

                                    @jans_ios Hi, wie bist Du auf die Website der Wallbox gekommen. Mir fehlt das Kennwort. Kannst Du mir bitte helfen?
                                    Liebe Grüße Zorrokater

                                    smartboartS 1 Reply Last reply
                                    0
                                    • Z Zorrokater

                                      @jans_ios Hi, wie bist Du auf die Website der Wallbox gekommen. Mir fehlt das Kennwort. Kannst Du mir bitte helfen?
                                      Liebe Grüße Zorrokater

                                      smartboartS Offline
                                      smartboartS Offline
                                      smartboart
                                      wrote on last edited by smartboart
                                      #1895

                                      @zorrokater probier mal wallbe7213

                                      1 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        jans_ios
                                        wrote on last edited by
                                        #1896

                                        @ArnoD
                                        Ich hatte (bis eben) den Wert "Unload" auf 32% stehen. Das führte heute Nacht und auch in einer vorherigen Nacht dazu, dass der Speicher ab 01:00 Uhr bis auf 32% ins Netz entladen wurde. Ich hatte es eigentlich so verstanden, dass dies erst bei PV-Produktions-Beginn passieren sollte, was ja auch Sinn machen würde - liegt hier ein Fehler vor? Ich schicke Dir mal per PN mein heutiges Log, da kann man das schön sehen.

                                        Außerdem: Besteht die Möglichkeit, den hier ins Netz eingespeisten Strom "umzulenken" bspw. zu einem MyPV-Heizstab in der Heizung? Das würde mir mehr bringen in Richtung Eigenverbrauch.

                                        Danke!

                                        Gruß, Jan

                                        A 1 Reply Last reply
                                        0
                                        • J jans_ios

                                          @ArnoD
                                          Ich hatte (bis eben) den Wert "Unload" auf 32% stehen. Das führte heute Nacht und auch in einer vorherigen Nacht dazu, dass der Speicher ab 01:00 Uhr bis auf 32% ins Netz entladen wurde. Ich hatte es eigentlich so verstanden, dass dies erst bei PV-Produktions-Beginn passieren sollte, was ja auch Sinn machen würde - liegt hier ein Fehler vor? Ich schicke Dir mal per PN mein heutiges Log, da kann man das schön sehen.

                                          Außerdem: Besteht die Möglichkeit, den hier ins Netz eingespeisten Strom "umzulenken" bspw. zu einem MyPV-Heizstab in der Heizung? Das würde mir mehr bringen in Richtung Eigenverbrauch.

                                          Danke!

                                          Gruß, Jan

                                          A Offline
                                          A Offline
                                          ArnoD
                                          wrote on last edited by
                                          #1897

                                          @jans_ios
                                          Hallo Jan,
                                          der Link zum Download funktioniert aktuell nicht, da bekomme ich immer eine Zeitüberschreitung.
                                          Ich werde es aber später noch mal versuchen.

                                          Gruß Arno

                                          J 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          60

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe