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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    E3DC Hauskraftwerk steuern

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

      @jh537
      Im Schritt 2 sollte es richtig funktionieren, habe es jetzt im Schritt 3 auch angepasst.
      Bitte nochmal die Version 1.2.9 testen.

      jh537 2 Replies Last reply Reply Quote 1
      • A
        as @ArnoD last edited by

        @arnod ?TAG_EMS_REQ_POWER_PV heißt dieses Register genau so
        bei mir werden viel mehr angezeigt dieser jedoch nicht - es gibt nur einen ähnlichen TAG_EMS_REQ_POWER_PV_AC........
        führt das dann zu fehlenden Werten o Fehlfunktion

        wie bekomme ich die Daten des E3DC Zusatzwechselrichter mit integriert, u das diese auch in die Kurven kommen aktuell zeigt er mir da keine Daten an
        Vielen Dank

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

          @arnod Moin Arno, habe die 1.29 nochmal neu kopiert und jetzt habe ich paar Fehler:

          javascript.0
          	2023-04-11 07:11:51.009	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189911003)) ====- "}##
          javascript.0
          	2023-04-11 07:11:50.415	info	State value to set for "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" has to be type "number" but received type "string"
          javascript.0
          	2023-04-11 07:11:50.384	warn	at Object.<anonymous> (script.js.common.Charge_Control:1865:15)
          javascript.0
          	2023-04-11 07:11:50.384	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
          javascript.0
          	2023-04-11 07:11:50.384	warn	at new Promise (<anonymous>)
          javascript.0
          	2023-04-11 07:11:50.384	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
          javascript.0
          	2023-04-11 07:11:50.384	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
          javascript.0
          	2023-04-11 07:11:50.383	warn	You are assigning a string to the state "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
          javascript.0
          	2023-04-11 07:11:48.014	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:48.010	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189908000)) ====- "}##
          javascript.0
          	2023-04-11 07:11:45.012	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:45.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189905002)) ====- "}##
          javascript.0
          	2023-04-11 07:11:42.010	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:42.007	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189902001)) ====- "}##
          javascript.0
          	2023-04-11 07:11:40.366	info	State value to set for "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" has to be type "number" but received type "string"
          javascript.0
          	2023-04-11 07:11:40.364	warn	at Object.<anonymous> (script.js.common.Charge_Control:1865:15)
          javascript.0
          	2023-04-11 07:11:40.364	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
          javascript.0
          	2023-04-11 07:11:40.364	warn	at new Promise (<anonymous>)
          javascript.0
          	2023-04-11 07:11:40.363	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
          javascript.0
          	2023-04-11 07:11:40.363	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
          javascript.0
          	2023-04-11 07:11:40.363	warn	You are assigning a string to the state "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
          javascript.0
          	2023-04-11 07:11:39.012	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:39.009	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189899002)) ====- "}##
          javascript.0
          	2023-04-11 07:11:36.011	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:36.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189896001)) ====- "}##
          javascript.0
          	2023-04-11 07:11:35.373	info	State value to set for "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" has to be type "number" but received type "string"
          javascript.0
          	2023-04-11 07:11:35.369	warn	at Object.<anonymous> (script.js.common.Charge_Control:1865:15)
          javascript.0
          	2023-04-11 07:11:35.369	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
          javascript.0
          	2023-04-11 07:11:35.369	warn	at new Promise (<anonymous>)
          javascript.0
          	2023-04-11 07:11:35.368	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
          javascript.0
          	2023-04-11 07:11:35.368	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
          javascript.0
          	2023-04-11 07:11:35.366	warn	You are assigning a string to the state "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
          javascript.0
          	2023-04-11 07:11:33.011	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:33.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189893001)) ====- "}##
          javascript.0
          	2023-04-11 07:11:30.011	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:30.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189890002)) ====- "}##
          javascript.0
          	2023-04-11 07:11:27.011	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:27.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189887001)) ====- "}##
          javascript.0
          	2023-04-11 07:11:24.011	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:24.007	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189884001)) ====- "}##
          javascript.0
          	2023-04-11 07:11:21.011	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:21.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189881002)) ====- "}##
          javascript.0
          	2023-04-11 07:11:18.056	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:18.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189878001)) ====- "}##
          javascript.0
          	2023-04-11 07:11:18.008	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Nach Regelbeginn vor Regelende ====- "}##
          javascript.0
          	2023-04-11 07:11:15.057	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Regelung E3DC überlassen. Schritt = 1 SET_POWER_MODE = 0 normal ====- "}##
          javascript.0
          	2023-04-11 07:11:15.054	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
          javascript.0
          	2023-04-11 07:11:15.051	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Vor Regelbeginn ====- "}##
          javascript.0
          	2023-04-11 07:11:15.007	warn	script.js.common.Charge_Control: Ladesteuerung: Notstrom_SOC_erreicht= false NotstromVerwenden= false Batterie_SOC_Proz= 39 Notstrom_SOC_Proz= 10 
          
          1 Reply Last reply Reply Quote 0
          • jh537
            jh537 @ArnoD last edited by jh537

            scheint doch zu laufen, ich beobachte weiter...

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

              @ArnoD Es sieht gut aus, keine Pendelei mehr. Mich hat der Sicherheitspuffer von 500 W etwas irritiert. Danke

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

                @as sagte in E3DC Hauskraftwerk steuern:

                @arnod ?TAG_EMS_REQ_POWER_PV heißt dieses Register genau so
                bei mir werden viel mehr angezeigt dieser jedoch nicht - es gibt nur einen ähnlichen TAG_EMS_REQ_POWER_PV_AC........
                führt das dann zu fehlenden Werten o Fehlfunktion

                Ist der erste Eintrag in der Liste und heißt genau so.
                30566407-f487-4aca-acfe-a09db759904a-grafik.png

                ohne die PV-Leistung macht das Script keinen Sinn und führt auch zu einer Fehlermeldung.

                wie bekomme ich die Daten des E3DC Zusatzwechselrichter mit integriert, u das diese auch in die Kurven kommen aktuell zeigt er mir da keine Daten an
                Vielen Dank

                Welche Kurven meinst du ?
                Ein zweiter Wechselrichter wird bereits im Script berücksichtigt.

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

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

                  • Neuer User Parameter 10_Systemwirkungsgrad.
                    Max. Systemwirkungsgrad inkl. Batterie in % aus den technischen Daten E3DC (beim S10E 88%).
                    Wird für die Berechnung der Batteriekapazität in kWh zur Anzeige in VIS verwendet.
                    Neue Objekt ID: 0_userdata.0.Charge_Control.Allgemein.Batteriekapazität_kWh

                  • Berechnung Autonomiezeit für Anzeige in VIS integriert.
                    Neue Objekt ID: 0_userdata.0.Charge_Control.Allgemein.Autonomiezeit

                  • Fehler behoben, dass der unterer Ladekorridor ignoriert wurde.

                  Der Modbus Adapter wird nun nicht mehr benötigt und die Script Sammlung Modbus Adapter somit auch nicht mehr.

                  Einziger Grund für den Modbus Adapter ist, wenn jemand die Firmware Version noch anzeigen will. Das geht aktuell nicht über den E3DC-RSCP Adapter.

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

                    @arnod
                    Du definierst in 1.2.9 einen Timer4, der aber im Script nicht weiter benutzt wird. Plan für etwas, was kommt, oder schlicht überflüssig?
                    Ich frage deshalb, weil ich Dein Script mit ein paar Ergänzungen anreichere, u.a. einem Timer4 (das würde ich dann rechtzeitig auf einen anderen Timer legen, wenn Du den 4er nutzen wirst).

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

                      @bluebean
                      Kannst du verwenden, ich werden diesen bei mir löschen.

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

                        @arnod diesen Eintrag gibt es komischerweise gar nicht nur mit dem ac-all
                        hab jz mal einen Eintrag von den Wallboxen umbenannt- ab das wirklich dann auch so ausgelesen wird kann ich noch nicht sagen. Wollt den Adapter nicht vollständig entfernen müssen.
                        es fehlen die AC L1,2,3 Spannungen -hab zwar in den FlottLink meine IP eingetragen jedoch kommt keine Anzeige

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

                          Hallo zusammen,

                          ihr kennt euch so super aus da würde es mich freuen wenn ihr mir kurz weiterhelfen könnt.
                          Bei mir scheitert es och an der Modbus datenabfrage

                          https://forum.iobroker.net/topic/63655/e3dc-datenabfrage-mit-modbus

                          Der Registereintrag des Netzbezug wird nahezu immer falsch ausgelesen. Ich bekomme dort Werte im 6xxxx stelligen Bereich geliefert.
                          gefühlt ist der Wert dann falsch wenn eingespeist wird.... also wenn er negativ sein sollte.

                          Vielen Dank im Voraus

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

                            @as
                            Denn muss es geben.
                            Kannst du mal ein Bild schicken, wie es bei dir aussieht.

                            Ist das bei dir alles angewählt ?
                            13b7e172-dbb8-4240-b5c2-3933879ce793-grafik.png

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

                              @annnndy
                              Was hast du für ein Hauskraftwerk?

                              Ist alles richtig beim Modbus Adapter eingetragen?
                              Hier würden Bilder von deinen Einstellungen helfen.

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

                                @arnod Hallo,

                                ich habe ein E3DC S10 E.

                                7c5cb4ee-30d0-48e9-97a0-5e593ff191fc-grafik.png

                                Ich habe bei den Register -2 machen müssen um die richtigen zu bekommen. Allerdings habe ich die Probleme mit den negativen Werten.

                                Habe heute auch eine History migeschrieben, die zeigt das gleiche Problem.

                                Teilweise stimmen die Werte und dann wieder nicht.
                                724b6674-b3f8-49d5-b854-5ec884c533d8-grafik.png

                                Kann es sein das es mit den Typ Einstellungen zu tun hat?
                                f6d3e369-3e66-4b50-835c-ccda92fa29c6-grafik.png

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

                                  @annnndy
                                  mach mal ein Screenshot von den Modbus Allgemein Einstellungen und dann von den Holding-Register.
                                  Dann kann man das vergleichen.

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

                                    @arnod

                                    ok.
                                    die Rolle habe ich gerade Versuchsweise von "Value" auf "State" geändert
                                    7bb5caf9-2e08-4c28-914c-994be5299aed-grafik.png

                                    3eb2471f-2ba7-4f68-bafc-1d31f24886a3-grafik.png

                                    2a59c4e3-d920-4660-b4e1-d95c43e6586b-grafik.png

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

                                      @annnndy sagte in E3DC Hauskraftwerk steuern:

                                      Kann es sein das es mit den Typ Einstellungen zu tun hat?

                                      Bei mir sieht das so aus:
                                      3b021381-22a4-4480-823c-852118f426b1-grafik.png
                                      7996bd9e-95de-49c9-9aa9-d1f434b0b31b-grafik.png

                                      a599175a-6f34-4dfa-b42c-d64f2f20e03b-grafik.png
                                      c9cf57db-163d-4df4-9c49-305286795776-grafik.png
                                      f07f2602-de16-4869-ab0e-7ab9f2fd28a2-grafik.png

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

                                        @annnndy
                                        Aktiviere als erstes Aliases benutzen und importiere dann mal die Holdingregister von meiner Github Seite :
                                        Modbus_E3DC_Import_V1.90_2022-01-28.tsv

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

                                          @arnod
                                          🙂

                                          jetzt wirkt das ganze Vernünftiger
                                          bef32779-33fb-49ef-8bcf-740345d0c755-grafik.png

                                          Vielen Dank

                                          Autarkie_Eigenverbrauch muss noch was gemacht werden.?!

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

                                            @annnndy

                                            Autarkie_Eigenverbrauch muss noch was gemacht werden.?!

                                            Ja, das muss noch richtig aufgeteilt werden.
                                            Ich hatte dafür folgendes Script verwendet:

                                            const Statepfad = 'javascript.' + instance + '.e3dc.modbus.';
                                            createState(Statepfad + 'Autarkie');
                                            createState(Statepfad + 'Eigenverbrauch');
                                            const idRegister40082 = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch';
                                            
                                            //Modbus Register 40082 ***************** Aufteilung "Autarkie und Eigenverbrauch in Prozent"
                                            on(idRegister40082, function (obj) {
                                            setState(Statepfad + 'Autarkie', (obj.state.val >> 8) & 0xFF, true);
                                            setState(Statepfad + 'Eigenverbrauch', obj.state.val & 0xFF, true);
                                            });
                                            

                                            Warum verwendest du eigentlich nicht den E3DC-RSCP Adapter ?
                                            Damit kannst du mehr Parameter abrufen als mit Modbus.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            892
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3275
                                            1121180
                                            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