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.
    • I
      icke-pp @ArnoD last edited by

      @arnod Mist. Jetzt wird es doof:

      Bildschirmfoto 2022-11-02 um 18.02.16.png

      Die 12.000Watt stimmen da schon eher.

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

        @jans_ios sagte in E3DC Hauskraftwerk steuern:

        Meinst Du, eine Übernahme Deiner Einstellungen dort könnte etwas ändern? Oder ist das die interne Kommunikation zwischen der Wallbox und einem Metering Device innerhalb des Gehäuses und da geht im Anschluss nichts mehr?

        Die Einstellungen kannst du nicht übernehmen, da ich einen ganz anderen Typ habe. Diese Modbus Adressen sind zur inneren Kommunikation.

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

          @icke-pp
          Das ist schon ärgerlich, dass es E3DC nicht schafft zumindest die RSCP Schnittstelle zu standardisieren.
          Was hast du für ein Hauskraftwerk (Typ) und welche Batteriekapazität?

          Welcher Wert steht bei dir unter den beiden Objekt ID's ?
          e3dc-rscp.0.BAT.BAT_0.SPECIFIED_CAPACITY
          e3dc-rscp.0.BAT.BAT_1.SPECIFIED_CAPACITY

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

            @arnod
            Neues script kopiert und gestartet... dann der log komplett rot...error...
            Alle states können nicht eingelesen werden.

            bin gerade am suchen woran es liegt..

            Edit:
            OK du hast in den Useranpassungen oben Anpassungen vorgebnommen... jeweils den Punkt entfernt...
            bzw. im Script die Punkte hinzugefügt. Das hat natürlich Auswirkungen wenn der obere User Teil nicht angefasst wird.

            Kannst du die Useranpassungen nicht auch noch in die Objektliste auslagern unter den Bereich USER_ANPASSUNGEN. Also jeweils noch neue States dazu erstellen?

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

              @jans_ios
              Was mir bei dir aber auffällt, ist das bei den Energy Meter Modbus Adressen unter Energy Total (kWh) nichts übertragen wird und über die Modbus Schnittstelle aber bei mir genau der Zähler in kWh übertragen wird.
              Nach der Bedienungsanleitung von deinem Metering Device würde die Adresse 406 mit 2 Register Energy Counter n1 sein und 462 mit 2 Register 1000 x Energy Counter n1 sein.
              Nach der Logik könntest du mal versuchen unter Energy Total (kWh) die Adresse 406 einzutragen und bei Register 2.
              Aber wie gesagt nur eine Vermutung von mir ohne gewähr.

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

                @smartboart
                Das geht leider nicht, sonst hätte ich das schon gemacht.
                Die Variablen müssen deklariert sein, bevor man diese zu ersten Mal verwendet und das geht nicht, wenn ich dazu die Variable "instanz" z.B schon benötigt.

                Die Änderung mit dem Punkt hätte ich erwähnen müssen und habe ich in der Eile vergessen, sorry.

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

                  @arnod Kein Problem.... War ja schnell gefixt...

                  hab ich mir fast gedacht...
                  müsste beim Scriptstart direkt eingelesen werden und der Rest verzögert...

                  Hast Recht wäre nicht sauber...

                  1 Reply Last reply Reply Quote 0
                  • I
                    icke-pp @ArnoD last edited by

                    @arnod Ich habe seit etwa 2 Monaten eine E3DC S10 X Compact 14 (nutzbare Batteriekapazität 12,3kWh) laut Datenblatt. Firmware H20_2022_04

                    Ich habe mir die Werte die du genannt hast mal angeschaut. Nächster Mist. Ich habe zwar 4 Batteriemodule (Vollausbau) drin aber es werden nur die Werte für alles gemeinsam angezeigt (nur Bat_0, DCB_0), die stimmen aber. Das hatte ich auch mit dem Entwickler des ioBroker E3DC RSCP Adapters besprochen und wir kamen zum Entschluss das die Schnittstellen bei den neuen Modellen wohl geändert aber nicht aktuell dokumentiert wurden (sein ioBroker RSCP Adapter basiert auf einer Doku aus dem Jahr 2016). Daher kann er das nicht fixen (ein anderer hat aber die gleichen Probleme mit der S10 X Compact gemeldet). Ticket bei E3DC habe ich deswegen zwar eröffnet um zu erfahren warum keine DCB_1,DCB_2,DCB_3 im RSCP Report vorhanden ist aber bislang keine Reaktion.

                    Bildschirmfoto 2022-11-03 um 09.51.01.png
                    Bildschirmfoto 2022-11-03 um 10.01.53.png
                    Bildschirmfoto 2022-11-03 um 09.52.05.png

                    Ich habe daher im Skript die Werte an den 3 Stellen im Skript mal angepasst aber da stimmt die Berechnung irgendwie nicht mehr (keine Fehlermeldung).
                    Bildschirmfoto 2022-11-03 um 10.16.13.png

                    " Ueberschuss in kWh 0 = (Prognose kWh 7.191398208411604 - Berechneter Eigenverbrauch 13.512820512820513) - FreieKapBatterie_kWh 10.12"}##

                    E3DC_error_nachBatKorrektur.txt

                    Sorry. Da brauche ich doch deine Hilfe.

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

                      @arnod
                      Das werde ich mir demnächst mal genauer anschauen, danke. Gerade musste ich aber Deine Skripte deaktivieren - habe bei E3DC eine Speichererweiterung angefragt und die wollen ein Training etc. auslösen zur Durchmessung meiner bestehenden Batterien. Da möchte ich nicht reinpfuschen 😉 Drückt mal die Daumen, dass ich hochrüsten kann!

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

                        @icke-pp sagte in E3DC Hauskraftwerk steuern:

                        @arnod Ich habe seit etwa 2 Monaten eine E3DC S10 X Compact 14 (nutzbare Batteriekapazität 12,3kWh) laut Datenblatt. Firmware H20_2022_04

                        Ich habe mir die Werte die du genannt hast mal angeschaut. Nächster Mist. Ich habe zwar 4 Batteriemodule (Vollausbau) drin aber es werden nur die Werte für alles gemeinsam angezeigt (nur Bat_0, DCB_0), die stimmen aber. Das hatte ich auch mit dem Entwickler des ioBroker E3DC RSCP Adapters besprochen und wir kamen zum Entschluss das die Schnittstellen bei den neuen Modellen wohl geändert aber nicht aktuell dokumentiert wurden (sein ioBroker RSCP Adapter basiert auf einer Doku aus dem Jahr 2016). Daher kann er das nicht fixen (ein anderer hat aber die gleichen Probleme mit der S10 X Compact gemeldet). Ticket bei E3DC habe ich deswegen zwar eröffnet um zu erfahren warum keine DCB_1,DCB_2,DCB_3 im RSCP Report vorhanden ist aber bislang keine Reaktion.

                        Das ist natürlich nicht gut, wenn da E3DC komplett abweicht und keine neue Dokumentation bereitstellt.
                        Es wäre gut da ein Ticket aufzugeben, dass die Dokumentation der TAG Liste aktualisiert und die einzelnen Tags dokumentiert werden. Ich habe bereits eins eröffnet und um so mehr das machen desto größer der Druck und Uli würde eine neue Liste helfen seinen Adapter besser anzupassen.

                        Die Speichergröße wird in der function Speichergroesse() ab Zeile 980 im Skript berechnet.
                        Als workaround würde ich die Speichergröße einfach direkt eintragen ohne Berechnung und Abzug vom ASOC der Batterie, dann musst du das auch nur an einer Stelle ändern. Vermute der Wert ASOC stimmt bei dir dann auch nicht.
                        Das sollte dann so aussehen:

                        // Verfügbare Speichergröße berechnen
                        async function Speichergroesse()
                        {
                            //let Kapa_Bat_Wh = (await getStateAsync(sID_installed_Battery_Capacity)).val;
                            //let ASOC_Bat_Pro = (await getStateAsync(sID_BAT0_Alterungszustand)).val;
                            // E3DC verwendet ca. 10% der Batteriekapazität um sicherzustellen das diese nie ganz entladen wird.
                            //Kapa_Bat_Wh = Kapa_Bat_Wh * (Entladetiefe_Pro/100);
                            //Speichergroesse_kWh = round(((Kapa_Bat_Wh/100)*ASOC_Bat_Pro)/1000,0);
                            Speichergroesse_kWh = 12.3;
                            log(`${Logparser1}Speichergroesse_kWh=${Speichergroesse_kWh} ${Logparser2}`)
                        
                        }
                        

                        Die Gefahr bei dir ist das noch mehr von E3DC geändert wurde und eine Regelung der Ladeleistung über den e3dc-rscp Adapter auch nicht möglich ist oder nicht so funktioniert wie bei allen anderen.
                        Aber das kannst du ja dann mal testen.

                        I 1 Reply Last reply Reply Quote 0
                        • I
                          icke-pp @ArnoD last edited by

                          @arnod Ich werde dann mal alle Variablen einzeln durchgehen ob dort sinnvolle Werte drin stehen. Der ASoC Wert ist auf jeden Fall sauber drin. Dann mach ich mich mal auf die Reise. Das wird dann aber wahrscheinlich alle neuen E3DC Modelle treffen mit solchen Abweichungen.

                          1 Reply Last reply Reply Quote 0
                          • I
                            icke-pp @ArnoD last edited by

                            @arnod Ich habe dein Skript jetzt noch einmal durchgeschaut damit ich mir ein Bild darüber machen kann wie es genau funktioniert und welche Werte ich für die Berechnung brauche. Ich gehe gerade meine Werte im einzelnen durch damit ich weiß ob ich dein Skript weiterhin nutzen kann. Bis jetzt sieht das gut aus auch mit der neuen Generation der E3DC.
                            Dabei ist mir im Skript in Zeile 1695 aufgefallen das der Wert bei "Timer3" keinen Sinn ergibt da du den Zähler LM2 triggerst. Kann es sein das du dich hier vertan hast und da eigentlich if(!Timer2) ... stehen müsste?

                            // Zaehler LM2
                            on({id: sID_Saved_Power_W, valGt: 0}, function (obj) {
                            if(!Timer3)Wh_Leistungsmesser2();
                            count2 ++
                            Summe2 = Summe2 + obj.state.val;
                            });

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

                              @icke-pp sagte in E3DC Hauskraftwerk steuern:

                              @arnod Ich habe dein Skript jetzt noch einmal durchgeschaut damit ich mir ein Bild darüber machen kann wie es genau funktioniert und welche Werte ich für die Berechnung brauche. Ich gehe gerade meine Werte im einzelnen durch damit ich weiß ob ich dein Skript weiterhin nutzen kann. Bis jetzt sieht das gut aus auch mit der neuen Generation der E3DC.
                              Dabei ist mir im Skript in Zeile 1695 aufgefallen das der Wert bei "Timer3" keinen Sinn ergibt da du den Zähler LM2 triggerst. Kann es sein das du dich hier vertan hast und da eigentlich if(!Timer2) ... stehen müsste?

                              // Zaehler LM2
                              on({id: sID_Saved_Power_W, valGt: 0}, function (obj) {
                              if(!Timer3)Wh_Leistungsmesser2();
                              count2 ++
                              Summe2 = Summe2 + obj.state.val;
                              });

                              Ja, das habe ich bei der letzten Änderung anscheinend übersehen. Danke, werde ich gleich ändern.

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

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

                                • Neue Funktion Notstromreserve verwenden, wenn die Prognose am nächsten Tag über einem einstellbaren Wert liegt. Es wurden zwei neue User und zwei allgemein Parameter erstellt, 10_NotstromEntladen, 10_minWertPrognose_kWh, EigenverbrauchAbend_kWh,EigenverbrauchDurchschnitt_kWh. Mit 10_NotstromEntladen = true wird die Funktion aktiviert und mit 10_minWertPrognose_kWh kann festgelegt werden, ab welcher Prognose in kWh am nächsten Tag die Notstromreserve freigegeben wird. EigenverbrauchAbend_kWh summiert den Eigenverbrauch von 0:00 Uhr bis 8:00 Uhr und unter EigenverbrauchDurchschnitt_kWh wird der berechnete Durchschnittsverbrauch von diesem Zeitraum gespeichert. Wenn der Notstrom SOC erreicht ist und 10_NotstromEntladen= true und die Prognose am nächsten Tag über dem eingestellten Wert in 10_minWertPrognose_kWh liegt, wird anhand vom Durchschnittsverbrauch berechnet, wie lange der Notstrom SOC den Eigenverbrauch abdecken kann. Ab dem Zeitpunkt, wo die Notstromreserve bis zum Sonnenaufgang reicht, wird das Entladen der Batterie freigegeben. Bitte beachten, wenn die Prognose nicht stimmt, kann es vorkommen, dass bei Stromausfall eventuell keine Notstromreserve mehr vorhanden ist. Danke an @zelkin für diese Idee.

                                • Fehler behoben, dass der falsche Timer verwendet wurde. Danke an @icke-pp

                                • LOG Texte optimiert, wenn das Script regelt, werden jetzt Warnungen ausgegeben, um das besser unterscheiden zu können. Natürlich, nur wenn 10_LogAusgabeRegelung = true ist

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

                                  Hat eigentlich heute noch jemand das Problem, dass sich das Hauskraftwerk nicht mit dem E3DC Server verbinden kann? (rote Weltkugel in der Anzeige)

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

                                    @arnod Ja bei mir das gleiche, auch die App geht sporadisch nicht.

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

                                      @stiwy18
                                      Ok, Danke.
                                      Dann muss ich erstmal keinen Fehler bei mir suchen. 🙂

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

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

                                        • Fehler, dass Timer3 um 8:00 nicht beendet wurde behoben.
                                        • Zeitpunkt, wie lange die Notstromreserve reichen muss, um 1 Stunde nach Sonnenaufgang verschoben, da bei Sonnenaufgang noch keine ausreichende PV-Leistung vorhanden ist.
                                        G smartboart A 3 Replies Last reply Reply Quote 0
                                        • G
                                          goelectric @ArnoD last edited by

                                          @arnod
                                          Hallo ArnoD,

                                          ich habe lange Zeit nichts mehr an meiner E3DC-Steuerung gemacht. Dein Script, auch wenn es älter war lief einfach gut. Aber jeder kennt es: verändere nichts wenn es läuft 😉
                                          Ich habe gerade meine Anlage auf den neusten Stand gebracht! Im Charge-Control script erhalte ich ein Fehlermeldung: "Die Objekt-ID ....USER_ANPASSUNGEN.0_LogHistoryPath enthält keinen gültigen Wert". Welche Pfadbeschreibung zu welchem Objekt muss hier eingetragen werden? Ich stehe auf dem Schlauch.
                                          Noch eine kleine Bitte/Frage: Ist es möglich das Wallbox-Script so umzuschrieben, dass auch gleichzeitig zwei Wallboxen betrieben werden können?

                                          Viele Grüße
                                          Lothar

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

                                            @goelectric sagte in E3DC Hauskraftwerk steuern:

                                            Ich habe gerade meine Anlage auf den neusten Stand gebracht! Im Charge-Control script erhalte ich ein Fehlermeldung: "Die Objekt-ID ....USER_ANPASSUNGEN.0_LogHistoryPath enthält keinen gültigen Wert". Welche Pfadbeschreibung zu welchem Objekt muss hier eingetragen werden? Ich stehe auf dem Schlauch.

                                            Dort muss Pfad zur Sicherungsdatei für die History Daten eingetragen werden, z. B. :
                                            /home/iobroker/HistoryPV_Leistung.json

                                            Wichtig ist das der User iobroker Lese und Schreibrechte auf dieses Verzeichnis hat.

                                            Noch eine kleine Bitte/Frage: Ist es möglich das Wallbox-Script so umzuschrieben, dass auch gleichzeitig zwei Wallboxen betrieben werden können?

                                            Da ich nur eine Wallbox habe, kann ich das nicht testen und es ist somit schwierig was zu programmieren.
                                            Vielleicht findet sich aber jemand, mit zwei Wallboxen und Zeit und Lust der das Programmiert. 😉

                                            G 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            472
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3317
                                            1219695
                                            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