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

      @smartboart hat sich erledigt, die Antwort hast du ja bereits in deiner Änderung umgesetzt 🙂

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

        @ArnoD sagte in E3DC Hauskraftwerk steuern:

        @smartboart gibt es eine Möglichkeit eine schedule Stündlich, aber nur von 5 - 21 Uhr zu programmieren ?

        ja im Prinzip ist das ja schon in Teilen was ich oben gemacht habe vorhanden ..

        Man kann jetzt das kombinieren mit IsTimeinRange...
        Ist ein Script aus dem Forum und ich lasse es global laufen..
        weil ich es in mehreren Scripten verwende...

        Damit kannst ne if Bedingung aufbauen..Wenn du es Global installierst , reicht dann in jedem Script das hier...

        if(IsTimeInRange('05:00:00', '21:00:00')) {
        losgehts();
        }

        function currentDate() {
            var d = new Date();
            return new Date(d.getFullYear(), d.getMonth(), d.getDate());
        }
        function addTime(strTime) {
            var time = strTime.split(':');
            var d = currentDate();
            d.setHours(time[0]);
            d.setMinutes(time[1]);
            d.setSeconds(time[2]);
            return d;
        }
        function isTimeInRange(strLower, strUpper) {
            var now = new Date();
            var lower = addTime(strLower);
            var upper = addTime(strUpper);
            var inRange = false;
            if (upper > lower) {
                // opens and closes in same day
                inRange = (now >= lower && now <= upper) ? true : false;
            } else {
                // closes in the following day
                inRange = (now >= upper && now <= lower) ? false : true;
            }
            return inRange;
        }
        
        
        smartboart 1 Reply Last reply Reply Quote 0
        • smartboart
          smartboart @smartboart last edited by smartboart

          Aber ja wie es schon oben ist reicht es auch...mit 5 Uhr triggern zum setzen und mit 21 triggern zum zurück setzen..

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

            @smartboart
            Musste mich jetzt über Funktionen im Modul Javascript aufklären lassen 🙂
            Im Editor ist oben links ein Button mit einer Uhr:
            bild1.png

            Wen man den Bereich im Code markiert wo man die Zeit einfügen will und dann auf diesen Button klickt, kann man ganz bequem einstellen wie man es haben will.
            bild2.png

            Wenn man dann auf ok klickt wird automatisch der richtige Code im Script eingetragen.
            Großes Lob an die Entwickler 👍 😁
            Man sollte sich doch mal die Anleitungen durchlesen.

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

              @ArnoD krass .....wusste ich auch nicht....🙄

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

                @smartboart
                Das Ganze sieht dann in einer Zeile so aus:
                Timer3 = schedule('{"time":{"start":"04:10","end":"15:20","mode":"hours","interval":1},"period":{"days":1}}', function(){}

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

                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                  @smartboart
                  Das Ganze sieht dann in einer Zeile so aus:
                  Timer3 = schedule('{"time":{"start":"04:10","end":"15:20","mode":"hours","interval":1},"period":{"days":1}}', function(){}

                  krass das ersetzt das Time in Range script komplett...

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

                    Neue Version 0.2.10 hochgeladen.

                    Änderungen:
                    Version: 0.2.10 Forecast Daten werden jede Stunde von 4:10 Uhr bis 15:20 aktualisiert.Fehler in der function Ueberschuss_Prozent() behoben, die zu einer falschen Berechnung vom Eigenverbrauch geführt hat.

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

                      @ArnoD sagte in E3DC Hauskraftwerk steuern:

                      Neue Version 0.2.10 hochgeladen.

                      Änderungen:
                      Version: 0.2.10 Forecast Daten werden jede Stunde von 4:10 Uhr bis 15:20 aktualisiert.Fehler in der function Ueberschuss_Prozent() behoben, die zu einer falschen Berechnung vom Eigenverbrauch geführt hat.

                      langt es diesmal nur den Teil unter konfig ende zu tauschen. dann muss ich nicht alles durchforsten...

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

                        @smartboart
                        Ja, User Einstellungen sind gleich geblieben.

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

                          @ArnoD heute ist das Skript zwischendurch wieder auf 1 gesprungen..irgendwann nachmittag...
                          Gibt es noch ein Thema mit der Überschussberechnung?
                          Wie / Wo startest du die Funktion

                          function Ueberschuss_Prozent()
                          

                          ...Kann ich nicht nachvollziehen...

                              Ueberschuss = Ueberschuss_Prozent();
                          
                          

                          was macht das

                          irgendwo muss ja so die Funktion eingeleitet werden...

                          Ueberschuss_Prozent();
                          
                          smartboart A 2 Replies Last reply Reply Quote 0
                          • smartboart
                            smartboart @smartboart last edited by smartboart

                            @ArnoD
                            Und nach meinem Verständnis müsste eben diese Funktion auch nochmal aufgerufen werden jedesmal bevor main gestartet wird...

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

                              @smartboart
                              Ja war bei mir auch so.
                              Das liegt an der Stündlichen neu Berechnung und das irgendwann die Prognose von der Realität eingeholt wird. Bedeute wenn für den Tag die Prognose z.B. 10 kWh vorhersagt und der tatsächliche PV Ertrag 10 kWh erreicht, ergibt die Berechnung das nur noch 0 kWh zu erwarten sind und das bedeutet Einstellung 1 anwählen.
                              Habe mir das ganze heute noch mal überlegt und bin zu dem Schluss gekommen das ich einen Denkfehler bei der Aktualisierung hatte.
                              Eberhards Programm ist so intelligent das es eigentlich nicht viel zu ändern gibt. 🙂
                              Das Script muss nur zwei dinge feststellen , nämlich ob die PV Leistung am Tag ausreicht um die Batterie voll zu laden und ob am Nachmittag schlechtes Wetter ist um die richtige Einstellung zu wählen.
                              Das wiederum bedeutet das man spätestens bis 10 Uhr, besser bis 9:00 Uhr wissen muss ob die PV Leistung ab 12:00Uhr noch ausreicht um noch was entscheiden zu können.
                              Alle neu Berechnungen die nach 10:00 Uhr gemacht werden kann man sich somit sparen, denn wenn ich um 11:Uhr durch die Prognose erst mitbekomme das die PV Leistung wegen schlechtem Wetter nicht ausreicht, habe ich bereits bis dahin ins Netz eingespeist.
                              Werde die letzte Abfrage und Berechnung somit versuchsweise um 10:00 Uhr machen, weil da auch die Proplanta Daten nochmal aktualisiert werden.

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

                                @smartboart sagte in E3DC Hauskraftwerk steuern:

                                @ArnoD heute ist das Skript zwischendurch wieder auf 1 gesprungen..irgendwann nachmittag...
                                Gibt es noch ein Thema mit der Überschussberechnung?
                                Wie / Wo startest du die Funktion

                                function Ueberschuss_Prozent()
                                

                                ...Kann ich nicht nachvollziehen...

                                    Ueberschuss = Ueberschuss_Prozent();
                                
                                

                                was macht das

                                Das ruft die Funktion auf und erhält als Ergebnis den gerundeten Überschuss oder null wenn was nicht berechnet werden kann.

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

                                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                  Ueberschuss = Ueberschuss_Prozent();
                                  

                                  was macht das

                                  Das ruft die Funktion auf und erhält als Ergebnis den gerundeten Überschuss oder null wenn was nicht berechnet werden kann.

                                  ok also hier wird sowohl dir Funktion gestartet als auch die Information für die variable Ueberschuss geholt in einer Zeile? war mir nicht bewusst das das geht..wird doch dann auch bei scriptstart ausgeführt oder?

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

                                    @smartboart sagte in E3DC Hauskraftwerk steuern:

                                    @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                    Ueberschuss = Ueberschuss_Prozent();
                                    

                                    was macht das

                                    Das ruft die Funktion auf und erhält als Ergebnis den gerundeten Überschuss oder null wenn was nicht berechnet werden kann.

                                    ok also hier wird sowohl dir Funktion gestartet als auch die Information für die variable Ueberschuss geholt in einer Zeile? war mir nicht bewusst das das geht..wird doch dann auch bei scriptstart ausgeführt oder?

                                    Ja, jedes mal wen die Funktion main() gestartet wird.
                                    Wenn du dir die Funktion Ueberschuss_Prozent() ansiehst ,findest du die Anweisung 'return', damit werden zwei Dinge erreicht:

                                    1. Es kann an den "Aufrufer" der Funktion ein Ergebnis zurückgegeben werden.
                                    2. Die Ausführung der Funktion wird hier beendet.
                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      ArnoD last edited by

                                      Version 0.2.11 hochgeladen.

                                      Änderungen:
                                      Version: 0.2.11 Es wird geprüft ob die neue Einstellung ungleich der bereits angewählten Einstellung ist. Dadurch wird ein unnötiges Speichern der e3dc-config.txt verhindert, wenn sich an der Einstellung nichts ändert. Letzte Abfrage der Prognosedaten auf 10:20 Uhr geändert.

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

                                        @smartboart sagte in E3DC Hauskraftwerk steuern:

                                        Hier wegen der Batterie Kurve die Antwort von e3dc

                                        bitte entschuldigen Sie die späte Antwort.

                                        Sie liegen mit Ihrer Vermutung richtig.
                                        Der kurze Ausfall der Batterien hängt mit dem Fehler in der Software zusammen, die auch den Notstrom kurz abbrechen lässt.

                                        Aktuell haben wir noch keine Rückmeldung aus der Entwicklung, wann das Update zur Verfügung steht.

                                        Ihr E3/DC Support Team

                                        Hast du bereits eine Rückmeldung erhalten wie lange es mit dem Update dauert das die Batteriestörung beseitigt ?
                                        Hatte heute das erste mal einen Ausfall der Batterie von 10 min.
                                        bild1.png

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

                                          @ArnoD nein die Antwort oben ist aktuell... Mach bitte ein Ticket auf im Portal und hänge das Bild mit an...je mehr das machen desto größer der Druck...

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

                                            @ArnoD Hey Arno ich habe gestern mal ein wenig manuell herum gespielt und werte manuell geändert und angepasst. Dabei ist mir aufgefallen, dass die Werte im Anschluss dann immer zwischen den neuen und alten Werten in Vis hin und her gesprungen sind. Ist das ein Vis Thema oder liegt es am script...Das hatte ich auch schon in älteren Versionen des skript beobachtet, bevor wir die manuelle Vorwahl eingeführt haben.
                                            Muss nicht am Script liegen.

                                            Ich wollte mir das bei Gelegenheit mal genauer anschauen und vlt, hier und da estwas abspecken. Z.B würde ich hier nurn noch auf Proplanta setzen wollen. Das andere liegt bei mir eh meistens daneben.

                                            A 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            840
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3380
                                            1395484
                                            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