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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    E3DC Hauskraftwerk steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ArnoD @smartboart last edited by

      @smartboart
      Habe schon einiges probiert, das Problem ist immer der Wert der sich zur Laufzeit ändert.
      Dieser geänderte Wert scheitert dann an dieser Abfrage:
      if (UTC_Dez[i].includes('.')){

      Warum verstehe ich nur nicht.

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

        @ArnoD

                if (UTC_Dez/*[i]*/.includes('.')){
        

        warum parsed du das in eine Nummer, ist das nicht schon eine...
        hab das [i] mal ausgeklammert, dann kommt zumindes kein Fehler..

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

          @smartboart
          Ich durchsuche das Array nach dem '.' und will je nach dem ob dieser vorhanden ist oder nicht unterschiedlich verzweigen.
          Wenn ich [i] ausklammere geht das nicht.

          function Test_MEZ(){
              let Test1 = getState(Winterminimum).val
              let Test2 = getState(Sommermaximum).val
              let Test3 = getState(Sommerladeende).val
              let Test4 = getState(HTon).val
              let Test5 = getState(HToff).val
              log('Test1 bis 5='+Test1+'/'+Test2+'/'+Test3+'/'+Test4+'/'+Test5)
              let UTC_Dez = [''];
              UTC_Dez = [Test1,Test2,Test3,Test4,Test5];
              log('Array Länge ='+UTC_Dez.length);
              
              for (let i = 0; i < 5 ; i++){
                  
                  log("i ="+i+' UTC_Dez=' + UTC_Dez[i]);
                  
                  if (UTC_Dez.includes('.')){
                               
                      log("i ="+i+' Zeit MEZ mit Punkt=' + UTC_Dez[i]);
                  }else{
                     log("i ="+i+' Zeit MEZ ohne Punkt=' + UTC_Dez[i]);
                  }
              }
          }
          
          A 1 Reply Last reply Reply Quote 0
          • S
            stevie77 @ArnoD last edited by

            @ArnoD sagte in E3DC Hauskraftwerk steuern:

            Um Platz auf einer Seite zu bekommen, muss man den Parameter den man ändern will einmal oben in der Liste anwählen, dann wird das entsprechende hqwidget unten links angezeigt mit dem man den Wert ändern kann. Ich muss noch die Funktion zur Berechnung von Regelbeginn und Ende fertigstellen und die manuelle Anwahl der verschiedenen Einstellungen von 1-5. Die Zeiten werden dann daneben in MEZ Zeit angezeigt.
            Wenn ich alles fertig habe werde ich es natürlich wieder hier veröffentlichen.

            Wir sind gespannt. 🙂 Ich persönlich werde für ein paar Wochen wegen Urlaub aussetzen. Habe auch erst vor kurzem die erste View endgültig fertig adaptiert, jetzt will ich nicht schon wieder basteln.

            Das alte View wird aber deswegen auch noch funktionieren, falls jemand nicht umstellen will.

            Ja, das ist gut, das wäre dann wahrscheinlich (erstmal) ich.
            Ich verstehe nicht so ganz, warum man die fünf Presets selbst noch an der Oberfläche manuell verändern will? @smartboart ? Bei mir sehen 3-5 sowieso relativ ähnlich aus. Davon abgesehen ist bei mir noch nie ne andere Einstellung als die 2 gewählt worden seit ich die Automatik seit mehreren Wochen verwende. Wird sich im Herbst dann wahrscheinlich ändern, aber ich sehe da trotzdem nicht die Notwendigkeit die Voreinstellungen manuell zu ändern. Ich hab' die Werte einmal mühsam recherchiert und im Skript hinterlegt, mir reicht das.

            Gibt's dann wenigstens nen Button, der die fünf Einstellungen wieder auf den Standard wie im Skript hinterlegt zurücksetzt? Das fände ich wichtig, sonst muss man nach etwas rumspielen mühsam Code und Vis-Einstellungen vergleichen und anpassen...

            Auf Dauer wird man aber umstellen müssen um alle Parameter von E3DC-Control einstellen zu können. Es kommen noch einige für die Wallbox dazu.

            Du sprichst den im PV-Forum erwähnten Fork an, ne? Der hat dort ja bisher irgendwie gar keine Reaktion ausgelöst. Auch wurde meine Frage von eba nicht beantwortet, ob (und wann) der Fork irgendwann ins offizielle E3DC-Control zurück geht. Wenn das mal offiziell wird (und ich meine Wallbox habe), dann sehe ich auch eher da die Einstellungsnotwendigkeit, da ne WB eben ein großer Verbraucher ist und nicht immer zur gleichen Zeit benötigt wird.

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

              @smartboart
              Ein andere Lösungsansatz wäre die unterschiedlichen Formate in ein einheitliches Format umzuwandeln dann müsste ich nicht mehr unterscheiden.
              Also Werte wie 14, 13.75, 1.3 immer in 14.00, 13.75, 01.30 vorher umzuwandeln.
              Verstehe nur nicht warum das so funktioniert.

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

                @stevie77 sagte in E3DC Hauskraftwerk steuern:

                Ich verstehe nicht so ganz, warum man die fünf Presets selbst noch an der Oberfläche manuell verändern will?

                Man kann diese nicht ändern sondern nur manuell anwählen wenn man die Automatik ausschaltet.
                Das würde bedeuten das du deinen Shietwetter-Panik Button nicht mehr benötigst, da du einfach Einstellung1 anwählen kannst.

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

                  @ArnoD Aso, das ist gut. Hatte ich dann missverstanden... 🙂

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

                    @ArnoD sagte in E3DC Hauskraftwerk steuern:

                    @smartboart
                    Ein andere Lösungsansatz wäre die unterschiedlichen Formate in ein einheitliches Format umzuwandeln dann müsste ich nicht mehr unterscheiden.
                    Also Werte wie 14, 13.75, 1.3 immer in 14.00, 13.75, 01.30 vorher umzuwandeln.
                    Verstehe nur nicht warum das so funktioniert.

                    ich kenne das halt nur wenn man eine Gruppe mittels variable definiert und dann in dieser variable nach Informationen sucht. z. B.

                    if (UTC_Dez[i].UTC_Dez==="0")){
                    
                    if (UTC_Dez[i].includes(".")){
                    

                    Fürchte ich kann hier nicht wirklich helfen...

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

                      @ArnoD
                      Hallo Arno,

                      mal ne weitere Frage...

                      Im Script lässt du ja die Prognosen öfter aktualisieren...
                      Macht es nicht auch Sinn die Funktion main nach einer Aktualisierug nochmal durch zu führen?

                      
                      schedule({hour: 5, minute: 45}, function(){main();});
                      
                      

                      Du legst dich um 5 : 45 Uhr mit der Prognose fest, wie du die anlage fahren willst.

                      Heute hatte ich den Fall, dass Programm 1 aktiv war und als ich an das Einspeiselimit kam war die Batterie schon voll...
                      Ist nicht schlimm , weil ich das in nem separaten Script abfange und dann die Klimaanlage loslaufen lasse.

                      Macht es nicht Sinn mehrmals am Tag zu prüfen ob die Prognose noch richtig ist?
                      Vlt kurz vor Regelbeginn und zwischen maximum und Ladeende nochmal?
                      oder immer dann wenn du nen erfolgreicheien Datenabruf der Wetterdaten gemacht hast?

                      smartboart S A 3 Replies Last reply Reply Quote 0
                      • smartboart
                        smartboart @smartboart last edited by smartboart

                        und noch ne Idee.
                        Die function main würde ich gerne bei Umschaltung auf manuell nachdem ein zusätzlicher manueller programmwahl state aktiviert wurde erneut durchlaufen lassen um dann die Programmvorwahl manuell einzuleiten...
                        Beispiel am Programm 5

                        on(idProgrammwahl, function(dp) {
                        setState(idAutomatikVorwahl,false,true);
                        main();
                        if(logging)log("Trigger manuelle Programmvorwahl");
                        });
                        
                        // 5Prognose PV-Leistung höher als benötigter Eigenverbrauch,Batterie laden und Überschuss ins Netz einspeisen.
                        
                        	// ab 15:00 - 18:00 Uhr Bewölkung > 90%
                        var Programmwahl= getState(idProgrammwahl).val;
                        if( (Ueberschuss > 0 && Bedeckungsgrad12<90 && Bedeckungsgrad15>=90 && AutomatikAnwahl )|| (AutomatikAnwahl === false && Programmwahl ===5)){
                        if (LogAusgabe){log('Einstellung 5 aktiv');}
                        
                        		setState(instanz + PfadEbene1 + PfadEbene2[1] + 'Einstellung',5);
                        
                                StateRead();
                        
                        		e3dcConfigWrite(5);
                        
                        		setTimeout(e3dcConfigRead, 1000);
                        
                        
                        A 1 Reply Last reply Reply Quote 0
                        • S
                          stevie77 @smartboart last edited by

                          @smartboart sagte in E3DC Hauskraftwerk steuern:

                          Heute hatte ich den Fall, dass Programm 1 aktiv war und als ich an das Einspeiselimit kam war die Batterie schon voll...

                          Wo gab's denn heute in Deutschland einen Regentag? Einstellung 1 ist doch Winter/Regen/fast keine Erzeugung/Erzeugung geringer als Eigenverbrauch den ganzen Tag über?! Wetterprognose bei Hamburg war heute 92-103 für meine Anlage, Berechnungsgrundlage 85 kWh, was dann mit tatsächlichen 83 kWh ganz gut hin kam... 🙂

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

                            @stevie77 ja ich hatte schon zum 2. x die 1 aktiv..
                            es war Gewitter vorhergesagt , hat sich aber gegen 12 wieder aufgehellt und dann sonne den Rest des tages bis Abends wieder Wolken aufzogen... Demnach wäre eine Neubewertung gegen mittag vorteilhaft gewesen...
                            EDIT:
                            Ich denke die Prognosen sind auch generell sehr unterschiedlich was die Genauigkeit je nach Region betrifft....

                            Wäre vlt. noch ein dritter Wetterdienst vorteilhaft um daraus zu mitteln...

                            die Beiden Prognosen liegen oft ganz schön auseinander...

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

                              @smartboart sagte in E3DC Hauskraftwerk steuern:

                              @stevie77 ja ich hatte schon zum 2. x die 1 aktiv..
                              es war Gewitter vorhergesagt , hat sich aber gegen 12 wieder aufgehellt und dann sonne den Rest des tages bis Abends wieder Wolken aufzogen... Demnach wäre eine Neubewertung gegen mittag vorteilhaft gewesen...

                              Das würde ja eher zu Einstellung 5 passen: Ab 12:00 - 15 Uhr Bewölkung < 90 %, ab 15:00 - 18:00 Uhr Bewölkung >= 90 %. Aber wenn ich dich jetzt richtig verstehe, war die Prognose so schlecht, dass sie meinte es würde den ganzen Tag regnen?!
                              Dann isses natürlich blöd...

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

                                @smartboart sagte in E3DC Hauskraftwerk steuern:

                                Macht es nicht auch Sinn die Funktion main nach einer Aktualisierug nochmal durch zu führen?

                                Wird in der neuen Version so gemacht, hatte es bei der Umstellung der automatischen Abfrage Proplanta übersehen, das die Funktion main() nicht noch mal aufgerufen wird.

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

                                  @smartboart sagte in E3DC Hauskraftwerk steuern:

                                  und noch ne Idee.
                                  Die function main würde ich gerne bei Umschaltung auf manuell nachdem ein zusätzlicher manueller programmwahl state aktiviert wurde erneut durchlaufen lassen um dann die Programmvorwahl manuell einzuleiten...
                                  Beispiel am Programm 5

                                  on(idProgrammwahl, function(dp) {
                                  setState(idAutomatikVorwahl,false,true);
                                  main();
                                  if(logging)log("Trigger manuelle Programmvorwahl");
                                  });
                                  
                                  // 5Prognose PV-Leistung höher als benötigter Eigenverbrauch,Batterie laden und Überschuss ins Netz einspeisen.
                                  
                                  	// ab 15:00 - 18:00 Uhr Bewölkung > 90%
                                  var Programmwahl= getState(idProgrammwahl).val;
                                  if( (Ueberschuss > 0 && Bedeckungsgrad12<90 && Bedeckungsgrad15>=90 && AutomatikAnwahl )|| (AutomatikAnwahl === false && Programmwahl ===5)){
                                  if (LogAusgabe){log('Einstellung 5 aktiv');}
                                  
                                  		setState(instanz + PfadEbene1 + PfadEbene2[1] + 'Einstellung',5);
                                  
                                          StateRead();
                                  
                                  		e3dcConfigWrite(5);
                                  
                                  		setTimeout(e3dcConfigRead, 1000);
                                  
                                  

                                  Gute Idee, bin noch nicht dazu gekommen mir über die manuelle Anwahl gedanken zu machen. Kann ich ja jetzt so übernehmen, Danke. 🙂

                                  Bin noch mit der Formel von eba zur berechnung der Uhrzeit von Start und Ende des Regelzeitraum beschäftigt.
                                  Würde gerne diese Zeiten gleich in MEZ bzw. MESZ anzeigen, da mit UTC ständig überlegt werden muss, wann der Regelbeginn ist.

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

                                    Die Prognosen Proplanta im August, mit der regelmässigen Aktualisierung ist bis jetzt der Wahnsinn.
                                    Wenn das so bleibt, brauche ich forecast nicht mehr 🙂
                                    Bin schon auf heute gespannt wer wieder Recht hat, Proplanta oder Forecast.
                                    2020-08-13 01_27_28-vis.png

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

                                      @ArnoD Bei mir geht's drunter und drüber. Proplanta kriegt die Tendenz eher richtig hin, liegt aber wertemäßig schon etwas ungenau. Forecast ist die reinste Achterbahn, landet mal nen Treffer, versaut es aber auch öfter, weil halt der niedrigere Wert genommen wird. Aber mir ist lieber eine konservative Schätzung zu haben, die dann übertroffen wird als andersrum.

                                      9692d824-21d0-4110-8d55-436b5b75efba-image.png

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

                                        Würde gerne diese Zeiten gleich in MEZ bzw. MESZ anzeigen, da mit UTC ständig überlegt werden muss, wann der Regelbeginn ist.

                                        Finde ich super das du das aufgenommen hast.. Das war ja auch der Grund warum ich es auch angemerkt hatte...

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

                                          @ArnoD denke auch das proplanta genauer liegt... Hab nochmal genauer geschaut.. Die Kurve von proplanta passt generell zur prognose.. Ist halt bei mir zu hoch weil ich die nutzbare Energie messe.... Aber das geht ja mit dem korrekturfaktor klar...
                                          Vlt.. Hilft aber zusaetzlich auch ein Kupfer Nagel...

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

                                            Neue Version 0.2.06 hochgeladen und neue View Stand 14.08.2020.

                                            Änderungen:
                                            Version: 0.2.06 Regelzeitraum Start, Ende und Ladezeitende werden jetzt nach der Formel von
                                            Eberhard berechnet und je nach Einstellung in MEZ oder MESZ in VIS angezeigt. Es wird die Systemzeit vom IoBroker verwendet, da ich über Modbus keine Zeit vom E3DC bekomme.
                                            Wenn diese beiden Zeiten nicht synchron sind, stimmen die Zeiten natürlich nicht. Die manuelle
                                            Anwahl der 5 Einstellungen ist jetzt möglich, Danke an smartboart für seine Vorarbeit.

                                            Version: 0.2.05 Zeiten werden in MEZ umgerechnet und in eigenen States gespeichert:'Winterminimum_MEZ','Sommermaximum_MEZ','Sommerladeende_MEZ','HTon_MEZ','HToff_MEZ'. Fehler in der PrognoseBerechnung_kWh_heute korrigiert, durch die laufende Neuberechnung muss die bereits produzierte PV-Leistung von der Prognose Tag abgezogen werden und das Gleiche bei nEigenverbrauchTag in kWh. nKorrFaktor geändert, es wird jetzt der % Wert angegeben um den die Prognose reduziert werden soll.

                                            Version: 0.2.04 Nach der Aktualisierung Proplanta wird die Function main() aufgerufen und neu berechnet

                                            smartboart 3 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            833
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3337
                                            1369207
                                            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