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.
    • S
      stevie77 @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?

      Wenn das HKW ausgeregelt wird, dann zeigt es im Display einen gelben Statusbalken unten an. Allerdings nur, wenn E3DC-Control regelt, also nicht in der Nacht. Verlässlicher ist wohl, wenn du screen -r an der Konsole eingibst und diese dir dann die laufende Ausgabe wie folgt anzeigt:

      612e3d0f-f78b-462e-9124-8d0fdd41f9aa-image.png

      Keine Fehlermeldung nach Start des Programms ist aber auch schon ein gutes Indiz... 😉

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

        danke für den tipp...bei mir kommt ther is no screen to be resumed...

        sudo apt-get install screen
        habe ich aber installiert... die Beschreibung auf github sagt weiter nichts dazu..

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

          @smartboart Dann läuft da wohl keine Screen-Instanz. Bin mir nicht ganz sicher, aber ich glaube man bekommt die Ausgabe auch auf die Konsole, wenn man E3DC-Control direkt (ohne screen im Hintergrund) startet.
          Vielleicht mal im photovoltaikforum.com um Hilfe bitten. Ich bin nicht so nah an der Originalanleitung, da bei mir das ganze unter Docker läuft und da ist das etwas anders aufgebaut (habe ich auch im Docker-Hub veröffentlicht - https://hub.docker.com/r/stehada/e3dc-control). Falls du nicht weiter kommst... 😉

          smartboart 1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            508
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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