Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. E3DC Hauskraftwerk steuern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    E3DC Hauskraftwerk steuern

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

      @stevie77 danke...
      sagt dir der Fehler mit dem bash script was?

      ./E3DC.sh: Zeile 1: Syntaxfehler beim unerwarteten Wort do' ./E3DC.sh: Zeile 1: !/bin/bash cd /home/pi/E3DC-Control while true; do ./E3DC-Control sleep 30 done'

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

        @smartboart Hast du das alles in eine Zeile geschrieben?

        Bei mir sieht das so aus, aber das muss für dich nicht stimmen, weil das bei mir anders aufgebaut ist...

        ----- E3DC.sh --------------------------------------------------------------------------------

        #!/bin/bash
        while true;
        do
        ./E3DC-Control -config ./config/e3dc.config.txt
        sleep 30
        done

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

          @stevie77 sagte in E3DC Hauskraftwerk steuern:

          #!/bin/bash
          while true;
          do
          ./E3DC-Control -config ./config/e3dc.config.txt
          sleep 30
          done

          ja danke probier ich aus...

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

            oh schon besser! der Fehler beim ausführen ist schonmal weg..Danke

            Edit...da läuft jetzt was ab...sieht gut aus...

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

              Hallo @ArnoD ,

              ich hab da noch nen Bug beim Abspeichern der Forecast-States gefunden in function Call_up (DachFl,Durchlauf).
              Hatte mich gewundert, warum ich für die 2. Dachfläche immer zweimal denselben Wert angezeigt bekomme:

              4956235f-c5c2-40c3-98b9-a2b0b67323a1-image.png

              Abgerufen wurden aber zwei unterschiedliche Werte:

              javascript.0	2020-07-19 05:15:00.475	info	(31047) script.js.e3dc-control.handleE3DCControl: Gepeichert wurde Prognose forecast 2/2 : 11086 :13352
              

              In Zeile 9 müsste Response2 verwendet werden, analog zur 1. Dachfläche im Code weiter oben.

                     if (DachFl==2){
              		    Response1 = obj.result[getCurrentDate()];
              		    Response2 = obj.result[nextDayDate()];
                          if (Response1 === undefined){
                              xhr.abort();
                              if (Durchlauf>0){Call_up(DachFl,Durchlauf-1);}
                          }else{
                              setState(instanz + PfadEbene1 + PfadEbene2[1]+'Prognose_2', Response1);
                              setState(instanz + PfadEbene1 + PfadEbene2[1]+'Prognose_4', Response1);
                          }
                      }
              
              A 1 Reply Last reply Reply Quote 0
              • smartboart
                smartboart last edited by smartboart

                Welche Modbusfirmware habt ihr?
                Ich habe die Version 258.

                Meine Anlage ist im Juli / letzte Woche vom Band gelaufen. Infinity Variante der S10EPro.
                Meine Phasenleistung in Watt L1 zeigt Käse an...L2 und 3 stimmt...

                Unbenannt.JPG

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

                  @smartboart ich hab die selbe Modbus Version. Wenn ich komische Werte bekommen habe, dann war immer das Feld falsch formatiert.
                  Sprich 16 oder 32, signed oder unsigned. Etc.

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

                    @Abyss danke für den Hinweis,
                    kannst du mir mal dein holding register als screenshot hier zur verfügung stellen, also eigentlich brauche ich nur Phasenleistung in Watt L1 -L3....hier sind die Werte mal plausibel und dan wieder utopisch hoch...
                    kannst aber auch alle rein stellen, solltest du noch welche haben, welche nicht in dem template zum importieren waren..

                    Danke vorab...
                    hier mal mit unplausiblen Wert für L2..das rotiert immer...mal L1 oder L2 oder L3
                    Unbenannt.JPG

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

                      Anbei mein Modbus Holdingregister:
                      Modbus.JPG

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

                        @Abyss perfekt danke...

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

                          @stevie77 sagte in E3DC Hauskraftwerk steuern:

                          Ich hab da aber noch ein Problem mit Forecast. Das Abrufen gestern hat geklappt, heute aber nicht. Um 5:10 und um 5:15 hatte ich folgenden Fehler und es wurde dann falsch mit dem noch gesetzten Wert von gestern gerechnet, da heute keine Aktualisierung stattfand wegen des Fehlers (im Diagramm sieht man auch, dass Forecast an zwei Tagen exakt denselben Wert hat):

                          Das die alten Werte verwendet werden, wenn keinen neuen abgerufen werden können, ist noch ein Fehler im Script, werde ich ändern.

                          Irgendeine Idee, was da schief geht? Kann ich irgendwie noch mehr Daten liefern? Internet-Verbindung war vorhanden, saß daneben...

                          Muss ich mir mal anschauen, aus irgendeinem Grund, wurde eine neue Verbindung aufgebaut, ohne das die bestehende abgeschlossen wurde. Kann sein, dass die Rückantwort zu lange gedauert hat und dann die Daten noch mal gesendet wurden.

                          Zusatzfrage: Warum passiert da alles dreimal? 3x dieselben Berechnungsblöcke, 3x Datei lesen, 3x schreiben usw.

                          Hängt wahrscheinlich mit dem oberen Problem zusammen.

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

                            @Abyss sagte in E3DC Hauskraftwerk steuern:

                            @ArnoD
                            Ich hab die letzten Tage ein einem IR-Lesekopf für meinen Zähler rumgebastelt.
                            Jetzt kann ich den Bezug und die Einspeisung direkt vom Zähler abfragen.
                            Daher habe ich mir jetzt mal dein Script angeschaut.
                            So wie ich das verstanden habe muss ich nur folgende 3 Variablen an meine Umgebung anpassen:

                            var nBezugZaehlerAktuell = Math.floor(getState('sonoff.0.IR-Lesekopf.STROM_Bezug').val);
                                var nEinspeiseZaehlerAktuell = Math.floor(getState('sonoff.0.IR-Lesekopf.STROM_Einspeisung').val);
                                var PvZaehlerAktuell=Math.floor(getState('sourceanalytix.0.modbus__0__holdingRegisters__40068_PV_Leistung.Meter_Readings.Current_Reading').val);
                            

                            Oder hab ich hier noch etwas übersehen?

                            ist richtig, denn Rest sollte das Script erledigen.

                            Und zusätzlich bin ich zu doof mir eine Tabelle in VIS zu erzeugen.
                            Könntest du evtl. deine View hier bereitstellen, damit ich mir etwas abkucken kann. 😉
                            Danke schon mal.

                            Ich habe mir eine Excel Tabelle erstellt mit den passenden Überschriften und dann einen Screenshot von dieser Tabelle als Hintergrundbild in Vis verwendet.Für die Spalte Datum habe ich dann für jede Zeile ein basic-String Widget darübergelegt und für die anderen Spalten das basic-Number Widget.

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

                              @smartboart sagte in E3DC Hauskraftwerk steuern:

                              gibt es einen schnellen test um mal zu sehen ob E3DC-Control mit meiner anlage kommuniziert?

                              Eine andere Möglichkeit ist über Modbus: modbus.0.holdingRegisters.40087_EMS_CTRL
                              Wenn =1 dann wird E3DC über RSCP gesteuert.
                              Wird aber natürlich auch nur am Tag angezeigt werden, da in der Nacht nichts gesteuert wird.

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

                                @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                Hallo @ArnoD ,

                                ich hab da noch nen Bug beim Abspeichern der Forecast-States gefunden in function Call_up (DachFl,Durchlauf).
                                Hatte mich gewundert, warum ich für die 2. Dachfläche immer zweimal denselben Wert angezeigt bekomme:

                                4956235f-c5c2-40c3-98b9-a2b0b67323a1-image.png

                                Abgerufen wurden aber zwei unterschiedliche Werte:

                                javascript.0	2020-07-19 05:15:00.475	info	(31047) script.js.e3dc-control.handleE3DCControl: Gepeichert wurde Prognose forecast 2/2 : 11086 :13352
                                

                                In Zeile 9 müsste Response2 verwendet werden, analog zur 1. Dachfläche im Code weiter oben.

                                       if (DachFl==2){
                                		    Response1 = obj.result[getCurrentDate()];
                                		    Response2 = obj.result[nextDayDate()];
                                            if (Response1 === undefined){
                                                xhr.abort();
                                                if (Durchlauf>0){Call_up(DachFl,Durchlauf-1);}
                                            }else{
                                                setState(instanz + PfadEbene1 + PfadEbene2[1]+'Prognose_2', Response1);
                                                setState(instanz + PfadEbene1 + PfadEbene2[1]+'Prognose_4', Response1);
                                            }
                                        }
                                

                                👍 Stimmt, hoffentlich habe ich nicht noch mehr Kopierfehler. Werde mir das Ganze noch mal anschauen, da scheint noch einiges nicht so zu funktionieren, wie ich mir das vorstelle.

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

                                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                  @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                  Ich hab da aber noch ein Problem mit Forecast. Das Abrufen gestern hat geklappt, heute aber nicht. Um 5:10 und um 5:15 hatte ich folgenden Fehler und es wurde dann falsch mit dem noch gesetzten Wert von gestern gerechnet, da heute keine Aktualisierung stattfand wegen des Fehlers (im Diagramm sieht man auch, dass Forecast an zwei Tagen exakt denselben Wert hat):

                                  Das die alten Werte verwendet werden, wenn keinen neuen abgerufen werden können, ist noch ein Fehler im Script, werde ich ändern.

                                  Falls es noch hilft: Ich hatte den Wert 0_userdata.0.E3DC-Control.Allgemein.PrognoseFore_kWh_heute gestern nacht auf 0 gesetzt, heute früh am Morgen konnte ich zusehen, dass die Abfrage diesmal geklappt hat. Und alles wurde dann auch nur einmal geloggt (hier von unten nach oben):

                                  javascript.0	2020-07-19 05:45:01.021	info	(31047) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei eingelesen!
                                  javascript.0	2020-07-19 05:45:00.022	info	(31047) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei gespeichert!
                                  javascript.0	2020-07-19 05:45:00.013	info	(31047) script.js.e3dc-control.handleE3DCControl: Einstellung 2 aktiv
                                  javascript.0	2020-07-19 05:45:00.013	info	(31047) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = -61
                                  javascript.0	2020-07-19 05:45:00.013	info	(31047) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 100
                                  javascript.0	2020-07-19 05:45:00.012	info	(31047) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 17.80328
                                  javascript.0	2020-07-19 05:45:00.011	info	(31047) script.js.e3dc-control.handleE3DCControl: Prognose_kWh für Berechnung = 36.94328
                                  javascript.0	2020-07-19 05:45:00.011	info	(31047) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 7.14
                                  javascript.0	2020-07-19 05:45:00.011	info	(31047) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 39
                                  javascript.0	2020-07-19 05:45:00.011	info	(31047) script.js.e3dc-control.handleE3DCControl: Globalstrahlung Proplante = 5.1
                                  javascript.0	2020-07-19 05:45:00.010	info	(31047) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 72.1905
                                  javascript.0	2020-07-19 05:45:00.010	info	(31047) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 41.981
                                  javascript.0	2020-07-19 05:45:00.008	info	(31047) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 87.5
                                  javascript.0	2020-07-19 05:45:00.007	info	(31047) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 62.5
                                  javascript.0	2020-07-19 05:15:00.475	info	(31047) script.js.e3dc-control.handleE3DCControl: Gepeichert wurde Prognose forecast 2/2 : 11086 :13352
                                  javascript.0	2020-07-19 05:15:00.474	info	(31047) script.js.e3dc-control.handleE3DCControl: {'2020-07-19':11086,'2020-07-20':13352}
                                  javascript.0	2020-07-19 05:15:00.473	info	(31047) script.js.e3dc-control.handleE3DCControl: Rueckmeldung :{"result":{"2020-07-19":11086,"2020-07-20":13352},"message":{"code":0,"type":"success","text":"","info":{"place":"21368 Dahlenburg, Lan
                                  javascript.0	2020-07-19 05:10:03.881	info	(31047) script.js.e3dc-control.handleE3DCControl: Gepeichert wurde Prognose forecast 1/2 : 30895 :38159
                                  javascript.0	2020-07-19 05:10:03.880	info	(31047) script.js.e3dc-control.handleE3DCControl: {'2020-07-19':30895,'2020-07-20':38159}
                                  javascript.0	2020-07-19 05:10:03.879	info	(31047) script.js.e3dc-control.handleE3DCControl: Rueckmeldung :{"result":{"2020-07-19":30895,"2020-07-20":38159},"message":{"code":0,"type":"success","text":"","info":{"place":"21368 Dahlenburg, Lan
                                  

                                  Heute werde ich den Wert mal wieder nicht manuell resetten, mal sehen, ob die Anfrage morgen dann wieder schief geht. Vielleicht war es auch Zufall und es hat nichts miteinander zu tun...

                                  A 1 Reply Last reply Reply Quote 0
                                  • M
                                    Muskelkatermann @stevie77 last edited by

                                    @stevie77 Die SmartFunktion aus dem Screenshot bezieht sich nur auf die Wallbox von E3DC.

                                    OpenWB kann die Entladung des Speichers nicht unterbinden.

                                    Daher die Frage ob man über den RSCP Adapter den maximalen Entladestrom einstellen kann. In den SmartFunktionen geht das ja. Würde das dann halt gerne automatisch setzen, dass die Entladeleistung entsprechend Hausverbrauch-Wallboxleistung ist.

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

                                      @stevie77
                                      Hast du gestern eventuell über den State "Automatik" die Automatik ein paar mal an und aus geschaltet ?

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

                                        @Muskelkatermann sagte in E3DC Hauskraftwerk steuern:

                                        OpenWB kann die Entladung des Speichers nicht unterbinden.

                                        Und warum steht es dann als Feature auf der Website der openWB ("berücksichtigt einen vorhanden Speicher um diesen nicht zu entladen")? Woher hast du deine Information?

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

                                          @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                          @stevie77
                                          Hast du gestern eventuell über den State "Automatik" die Automatik ein paar mal an und aus geschaltet ?

                                          Gestern glaub' ich nicht, aber vorgestern oder die letzten Tage ja.

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

                                            ich bekomme das auf dem raspi 4 einfach nicht zum laufen...Das gibts doch nicht...sind doch nur ein paar schritte um das E3DC control einzurichten...
                                            es gibt ein issue auf github mit dem Fehler mit Verweis auf passwort und key..das habe ich jetzt schon bald 20 mal da eingetragen.. Jemand noch ne idee?
                                            Und für was zur Hölle brauche ich screen und was ist das?

                                            pi@ioBroker-RasPi4:~/E3DC-Control $ ./E3DC.sh
                                             1 -config 2 ./config/e3dc.config.txtProgram Start Version:2020.5.16.6
                                            Connecting to server 192.168.1.xx:5033
                                            Connected successfully
                                            
                                            Request authentication
                                            
                                            Request cyclic example data done 2020.5.16.6  3:45: 0
                                            Connection closed by peer
                                            mainloop beendetmainloop beendet 1
                                            Program Start Version:2020.5.16.6
                                            Connecting to server 192.168.1.xx:5033
                                            Connected successfully
                                            
                                            Request authentication
                                            
                                            Request cyclic example data done 2020.5.16.6  3:45: 0
                                            Connection closed by peer
                                            mainloop beendetmainloop beendet 2
                                            
                                            
                                            smartboart A 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            642
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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