Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      ecki945 @Olaf42 last edited by ecki945

      Eigentlich sollte es ja nicht so schwer sein, aber es funktioniert bei mir nicht. 😕

      Der Modbus Adapter ist richtig eingerichtet und grün; bringt auch alle 2 Sekunden neue Werte:

      4d9570b3-6817-4762-a896-f1b243d7271e-grafik.png

      Das Script habe ich eingebunden:

      // Aufteilung der Datenpunkte mit doppelten Informationen
      
      // Aufteilung "Autarkie und Eigenverbrauch in Prozent"
      var id = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch';
      createState('e3dc.modbus.Autarkie');
      createState('e3dc.modbus.Eigenverbrauch');
      on(id, function (obj) {
           setState('e3dc.modbus.Autarkie', (obj.state.val >> 8) & 0xFF, true);
           setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true);
           console.log(obj.state.val);
      });
      
      // Aufteilung "Modbus Firmware Version"
      var id1 = 'modbus.0.holdingRegisters.40002_Modbus_Firmware';
      createState('e3dc.modbus.MajorVersion');
      createState('e3dc.modbus.MinorVersion');
      on(id1, function (obj1) {
           setState('e3dc.modbus.MajorVersion', (obj1.state.val >> 8) & 0xFF, true);
           setState('e3dc.modbus.MinorVersion', obj1.state.val & 0xFF, true);
      });
      
      // EMS
      var id2 = 'modbus.0.holdingRegisters.40085_EMS_Status';
      createState('e3dc.modbus.Ladesperre');
      createState('e3dc.modbus.Entladesperre');
      createState('e3dc.modbus.NotstrommodusMoeglich');
      createState('e3dc.modbus.WetterbasiertesLaden');
      createState('e3dc.modbus.Abregelstatus');
      on(id2, function (obj2) {
           setState('e3dc.modbus.Ladesperre', (obj2.state.val >> 1) & 0xFF, true);
           setState('e3dc.modbus.Entladesperre', (obj2.state.val >> 2) & 0xFF, true);/*
           setState('e3dc.modbus.NotstrommodusMoeglich', (obj2.state.val >> 3) & 0xFF, true);
           setState('e3dc.modbus.WetterbasiertesLaden', (obj2.state.val >> 4) & 0xFF, true);
           setState('e3dc.modbus.Abregelstatus', (obj2.state.val >> 5) & 0xFF, true);  */
      });
      
      

      Doch es werden "nur" Werte vom Skipt für Autarkie und Eigenverbrauch aktualisiert.

      683b2a04-97cc-4263-8ebd-6c6c2f3ec3ed-grafik.png
      Hat wer eine Idee?

      E A 2 Replies Last reply Reply Quote 0
      • E
        ecki945 @ecki945 last edited by ecki945

        ..............

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

          @ecki945 sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:

          Doch es werden "nur" Werte vom Skipt für Autarkie und Eigenverbrauch aktualisiert.

          Wenn sich am Wert vom Register 40002 nichts ändert, wird auch nichts aktualisiert. Einfach einmal manuell überschreiben.

          1 Reply Last reply Reply Quote 0
          • E
            ecki945 last edited by

            Danke @ArnoD hat geklappt. Zu dem von @andre geposteten Script auf github habe ich noch ne Frage:

            Laut der E3DC Modbus Doku ist die Codierung im Wert EMS-Status wie folgt aufgebaut:

            16463c10-6726-4fa2-8da1-1d4b5c38e7bc-grafik.png

            Bit 0 = Ladesperre
            Bit 1 = Entladesperre, ....

            Wenn nun wie im Script von @andre

                setState('adapterdatenpunkte.modbus.Ladesperre', (obj.state.val >> 1) & 0xFF, true);
                setState('adapterdatenpunkte.modbus.Entladesperre', (obj.state.val >> 2) & 0xFF, true);
            

            Der Wert vom Modbus übertragene Wert des EMS-Status 1 Bit nach Rechts geschoben wird, ist doch die Information über die Ladesperre und Entladesperre nicht mehr vorhanden bzw es wird das falsche Bit ausgewertet.

            Müsste es nicht so implementiert sein:

                 setState('e3dc.modbus.Ladesperre', (obj.state.val) & 0x01, true);
                 setState('e3dc.modbus.Entladesperre', (obj.state.val>> 1) & 0x01, true);
            

            Oder hab ich wieder nen Denkfehler?

            1 Reply Last reply Reply Quote 0
            • G
              gebbi last edited by

              @olaf42
              Stehen Speicher und IoBroker im gleichen Subnetz? E3DC erlaubt als "Feature" keine Kommunikation von Modbus über Subnetze, hatte das gleiche Problem und ich habe mein IoBroker VM eine VLAN im IOT Netz gegeben wo der Speicher steht, dann klappt es.

              M 1 Reply Last reply Reply Quote 0
              • M
                Musik231 @gebbi last edited by

                Hi,

                ich würde mir gern einen Datenpunkt erstellen (PVGesamt) welcher die Summe aus dem Positiven Wert des Zusatzwechselrichters (wird wie weiter vorn per Script *-1 genommen) und der PV-Leistung bildet, Quasi die Gesamte PV-Leistung der Anlage.
                Kann da jemand helfen?

                Gruß

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

                  @musik231
                  Da musst du nur den Wert "modbus.0.holdingRegisters.40068_PV_Leistung" mit dem Wert "modbus.0.holdingRegisters.40076_Zusaetzliche_Einspeiser_Leistung" zusammenzählen.
                  Naturlich musst du dabei beachten das beim Regiester 40076 immer negative Werte angezeigt werden, also diesen Wert in eine positive Zahl vorher mit Math.abs() umwandeln.

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

                    @musik231
                    Wenn du ein Beispiel benötigst wie man das Programmieren kann, dann sieh dir mal mein Script hier an:
                    https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern

                    In dem Script mache ich genau das was du suchst.

                    M 1 Reply Last reply Reply Quote 1
                    • M
                      Musik231 @ArnoD last edited by

                      @arnod
                      Vielen lieben Dank

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        schieni @Musik231 last edited by

                        Hallo,
                        ich bin auf der Suche nach einer Möglichkeit den Ladestrom der easyWallbox per Modbus zu verändern.
                        Gibt es da eine Möglichkeit?

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          glitzi @schieni last edited by

                          Hallo,

                          mein Plot des "Flot-Adapters" zeigt leider alle Werte der Zukunft als Linie, kann man dies unterbinden?

                          93bb51f1-b2dc-47bb-9826-42528d588709-image.png

                          Gruß Mirco

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

                            @glitzi
                            Das Kannst in den Einstellungen beim jeweiligen Diagramm unter Zeit einstellen.
                            Einfach als Zeit Spanne Ende "jetzt" einstellen.

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

                              @arnod

                              Ich würde gerne den Tag als Zeitbereich fixieren, allerdings sollte dann bis zum Ende nicht eine Gerade erscheinen wenn ich erst bei 13 Uhr bin.

                              f30fda4b-f5c2-4efe-9f86-aecb5e0a6a93-image.png

                              f6f9dc04-4b4d-4557-ad23-8d03ff6509bf-image.png

                              es sollte ehr so aussehen...

                              f6965f75-8c06-4f6c-b5bd-e6fd2c78d319-image.png

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

                                Nachdem ich nun schon einige Zeit Dank der tollen Anleitung von @andre meinem S10 auslese und visualisiere, möchte ich einfach Dank sagen für die Arbeit. Es war sogar der Startschuss, mich überhaupt mit iobroker zu befassen und einzusteigen 🙂

                                So sieht es bei mir aktuell auf der PV-Detailseite aus:

                                Register-PV7_21.jpg

                                Glasfaser 1 Reply Last reply Reply Quote 2
                                • X
                                  XWing last edited by

                                  Super Anleitung!
                                  Ich vermisse noch eine Möglichkeit die externen Quellen (bei mir ein zweiter Wechselrichter und ein BHKW) getrennt auszulesen. In der E3DC App/Webseite kann ich bei Klick auf die externen Quellen die Werte von Leistungsmesser 1 bis 3, die ich im Hauskraftwerk in "Fronius" und "BHKW" umbenannt habe, ansehen.
                                  Ich dachte zunächst, daß die Werte ab 40105 dafür zuständig wären. Da bekomme ich aber entweder 0 oder Phantasiewerte angezeigt.

                                  f32a0991-6889-46e5-9521-4c2de5b88fa8-grafik.png

                                  Ist eine Möglichkeit bekannt die Werte der Leistungsmesser korrekt zu visualisieren?

                                  S A 2 Replies Last reply Reply Quote 0
                                  • S
                                    stevie77 @XWing last edited by

                                    @xwing Ich weiß nicht mehr genau warum, aber ich mache das so und es funktioniert wohl (wobei ich bisher nur einphasig benötigt habe).

                                    // Addierung Leistungsmesser Wallbox
                                    const lmWallboxP1 = 'modbus.0.holdingRegisters.40114_Leistungsmesser_2_L1';
                                    const lmWallboxP2 = 'modbus.0.holdingRegisters.40115_Leistungsmesser_2_L2';
                                    const lmWallboxP3 = 'modbus.0.holdingRegisters.40116_Leistungsmesser_2_L3';
                                    createState('javascript.0.e3dc.lmWallbox');
                                    
                                    on(lmWallboxP1, calculateCompleteWallboxPower);
                                    on(lmWallboxP2, calculateCompleteWallboxPower);
                                    on(lmWallboxP3, calculateCompleteWallboxPower);
                                    
                                    function calculateCompleteWallboxPower(){
                                        var wallboxPower = getState(lmWallboxP1).val + getState(lmWallboxP2).val + getState(lmWallboxP3).val;
                                        setState('javascript.0.e3dc.lmWallbox', wallboxPower, true);
                                    }
                                    
                                    // Addierung Leistungsmesser Wärmepumpe
                                    const lmWaermepumpeP1 = 'modbus.0.holdingRegisters.40118_Leistungsmesser_3_L1';
                                    const lmWaermepumpeP2 = 'modbus.0.holdingRegisters.40119_Leistungsmesser_3_L2';
                                    const lmWaermepumpeP3 = 'modbus.0.holdingRegisters.40120_Leistungsmesser_3_L3';
                                    createState('javascript.0.e3dc.lmWaermepumpe');
                                    
                                    on(lmWaermepumpeP1, calculateCompleteWaermepumpePower);
                                    on(lmWaermepumpeP2, calculateCompleteWaermepumpePower);
                                    on(lmWaermepumpeP3, calculateCompleteWaermepumpePower);
                                    
                                    function calculateCompleteWaermepumpePower(){
                                        var waermepumpePower = getState(lmWaermepumpeP1).val + getState(lmWaermepumpeP2).val + getState(lmWaermepumpeP3).val;
                                        setState('javascript.0.e3dc.lmWaermepumpe', waermepumpePower, true);
                                    }
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      ArnoD @XWing last edited by ArnoD

                                      @xwing
                                      Kann es sein das deine Einstellungen im Modbus Adapter Holding-Register nicht stimmen?
                                      Register 40105 Leistungsmesser_0 enthält den Typ und hat nichts mit Watt zu tun.
                                      1 Wurzelleistungsmesser
                                      2 Externe Produktion
                                      3 Zweirichtungszähler
                                      4 Externer Verbrauch
                                      5 Farm
                                      6 Wird nicht verwendet
                                      7 Wallbox
                                      8 Externer Leistungsmesser Farm
                                      9 Datenanzeige
                                      10 Regelungsbypass
                                      Es fehlen aber Register 40106 40107 40108 die vom Leistungsmesser_0 die Watt Werte der drei Phasen enthalten.

                                      Bei Register 40109 beginnt dann Leistungsmesser_1

                                      Die Holding-Register Modbus Adapter zum Importieren kannst du hier downloaden bzw. kopieren:
                                      https://github.com/ArnoD15/iobroker_E3DC
                                      Die Datei Modbus_E3DC_Import.tsv herunterladen.

                                      Im E3DC Portal findest du die Modbus Beschreibung "ModBus_E3DC_Speichersysteme_V1.80_2021-07-07.pdf"

                                      X 1 Reply Last reply Reply Quote 0
                                      • Glasfaser
                                        Glasfaser @aueland last edited by

                                        @aueland sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:

                                        So sieht es bei mir aktuell auf der PV-Detailseite aus:

                                        Sieht schick aus ...würdest du uns dein View´s teilen ?

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

                                          @arnod
                                          Die Sache ist für mich ziemliches Neuland. Bis auf die Sache mit den einzelnen Leistungsmessern bin ich aber schon durchgestiegen.
                                          Bei der Alnage läuft sowieso einiges schief:
                                          Nach der Inbetriebnahme zeigte sich, daß die Produkton des Fronius WR sowohl als Erzeugung als auch als Hausverbrauch gemessen wird. Das führt zu Situationen in denen bei genügend Produktion der Speicher angeknabbert und schlimmstenfalls sogar Netzstrom vom Hauskraftwerk gezogen wird. Die offiziellen Zähler des Netzbetreibers messen dagegen alles richtig. Mein Solteur wartet inzwischen zwei Monate auf ein Teil von E3DC.

                                          @stevie77
                                          Du hast da Verbraucher. Ich meine aber die Erzeuger.

                                          S 1 Reply Last reply Reply Quote 0
                                          • A
                                            aueland @Glasfaser last edited by

                                            @glasfaser Ja, das habe ich vor, muss nur noch ein bisschen feintunen und ziehe den broker gerade auf ein Nuc/Promox-System um, da gibt es erst noch ein paar vorrangige Anpassungen, aber ich werde den view und auch die Scripte für sowas wie prozentuale Leistung, Werte von Gestern, Peak-Werte dann teilen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            964
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            34
                                            136
                                            30133
                                            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