Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    511

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

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

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
136 Posts 34 Posters 39.6k Views 28 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    lulu99
    wrote on last edited by
    #10

    Hallo Andre.

    Ich habe mal eine Frage. Ich würde die History-Werte gerne als Wert anzeigen lassen, anstatt grafisch.

    Also z.B. PV-Produktion/Hausverbrauch letzte Stunde, letzter Tag, oder jede Stunde aktualisiert kumuliert seit 0 Uhr als Zahl in einer Liste angezeigt anstatt per Graph.

    Hast du eine Ahnung, wie man das machen kann? Ich muss ja irgendwie die History-Werte addiert als Zahl ausgeben.

    VG lulu

    1 Reply Last reply
    0
    • andreA Offline
      andreA Offline
      andre
      Developer
      wrote on last edited by
      #11

      @lulu99:

      Hallo Andre.

      Ich habe mal eine Frage. Ich würde die History-Werte gerne als Wert anzeigen lassen, anstatt grafisch.

      Also z.B. PV-Produktion/Hausverbrauch letzte Stunde, letzter Tag, oder jede Stunde aktualisiert kumuliert seit 0 Uhr als Zahl in einer Liste angezeigt anstatt per Graph.

      Hast du eine Ahnung, wie man das machen kann? Ich muss ja irgendwie die History-Werte addiert als Zahl ausgeben.

      VG lulu ` Hört sich gut an, nehme ich. :)

      Bin leider noch nicht dazu gekommen sowas zu machen. Mein Ansatz war ein Script. Bin aber seinerzeit schon am auslesen der Daten aus der DB gescheitert. :( Da hab ich es auf Eis gelegt.

      Würde mir auch gerne die Werte aus dem E3DC Webinterface anzeigen lassen, aber es gibt keine Schnittstelle dazu… Und über mod us kommen keine kummulierten Werte...

      Wenn du eine Lösung findest lass es mich wissen. :)

      MfG,

      André

      Gesendet von Unterwegs...

      Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

      1 Reply Last reply
      0
      • L Offline
        L Offline
        lulu99
        wrote on last edited by
        #12

        Was ich hinbekommen habe ist die Werte in Blockly "mitzurechnen". Also eine Objektvariable "Summe" erstellt, und dort habe ich dann immer bei Änderung z.B. der PV-Produktion "Summe=alte Summe + neuer PV-Produktionswert" den Wert hochgezählt. Nun müsste man halt z.B. im Script noch jede Stunde den Wert festhalten, oder auch 24. Das geht schon alles, aber recht aufwändig und vor allem weiß ich nicht, wie viel Leistung das ganze kostet, wenn man das für mehrere Werte macht (wenn die jede Sekunde berechnet werden).

        Ich hätte gedacht, wenn man eh schon die ganzen Daten in ne Datenbank schreibt, dann müsste man die doch irgendwie zur Anzeige bringen können.

        1 Reply Last reply
        0
        • K Offline
          K Offline
          knudi76
          wrote on last edited by
          #13

          Hallo Andre,

          ich habe mich auch mal an deine Anleitung gewagt. Läuft eigentlich ganz gut. Erstmal schönen Dank für die Anleitung. Ich habe nur ein Problem, mir werden fast alle Werte im VIS als undefined angezeigt. Woran kann das liegen? Ich habe deine txt Dateien zum Import genutzt.

          Vielen Dank

          Stephan
          8638_e3dc.jpg

          1 Reply Last reply
          0
          • K Offline
            K Offline
            knudi76
            wrote on last edited by
            #14

            Hallo,

            ich habe es gelöst. Es dürfen in der Instanz keine Leerzeichen in dem Namen des Holding Registers eingegeben werden, leider auch nicht hinter dem Namen.

            1 Reply Last reply
            0
            • K Offline
              K Offline
              knudi76
              wrote on last edited by
              #15

              Hallo in die Runde,

              gibt es schon Neuigkeiten über die History Werte?

              Ich versuch mich auch schon daran, habe bislang Erfolglos folgendes getestet:

              • Verbrauchszähler

              • Betriebsstundenzähler

              Habt Ihr vielleicht eine Lösung um die Daten direkt über Modbus Sun-Spec Protokoll auszulesen?

              Es muss doch irgendwie möglich sein an die History Werte zu kommen. :cry:

              Danke

              Stephan

              1 Reply Last reply
              0
              • KramiK Offline
                KramiK Offline
                Krami
                wrote on last edited by
                #16

                Hallo, zuerst einmal vielen Dank für die Bereitstellung der Anleitung. Im Moment bin ich noch rund um mein Haus am Daten sammeln. Ich wollte mich aber schon mal ans Zerlegung des Werte für Autarkie und Eigenverbrauch machen, aber bei mir im Editor bringt er ständig eine Fehlermeldung in Zeile 8.

                Was wohl mit den entity names zu tun hat, hier mal ein Printscreen:
                2019_10_03_17_25_35_javascript_ioBroker.png

                Ich verstehe zwar was der Code machen soll, sprich den Wert aus 2 Uint8 zerlegen, aber ich kann es nicht im Beispiel nachvollziehen (roter Kasten). Kann mir hier bitte jemand Hilfestellung geben?

                Vielen Dank
                und Gruss
                Stefan

                KramiK 1 Reply Last reply
                0
                • KramiK Krami

                  Hallo, zuerst einmal vielen Dank für die Bereitstellung der Anleitung. Im Moment bin ich noch rund um mein Haus am Daten sammeln. Ich wollte mich aber schon mal ans Zerlegung des Werte für Autarkie und Eigenverbrauch machen, aber bei mir im Editor bringt er ständig eine Fehlermeldung in Zeile 8.

                  Was wohl mit den entity names zu tun hat, hier mal ein Printscreen:
                  2019_10_03_17_25_35_javascript_ioBroker.png

                  Ich verstehe zwar was der Code machen soll, sprich den Wert aus 2 Uint8 zerlegen, aber ich kann es nicht im Beispiel nachvollziehen (roter Kasten). Kann mir hier bitte jemand Hilfestellung geben?

                  Vielen Dank
                  und Gruss
                  Stefan

                  KramiK Offline
                  KramiK Offline
                  Krami
                  wrote on last edited by
                  #17

                  @Krami :
                  Hat sich erledigt, die Zeichenkodierung war es die mir hier einen Strich durch die Rechnung gemacht hat.

                  >>
                  Bedeutet nicht &>&> sondern >>

                  Ich hatte irgendwie ein Knoten im Kopf, es funktioniert nun einwandfrei und ich bedanke mich noch einmal für die Anleitung

                  Gruss
                  Krami

                  M 1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    ArnoD
                    wrote on last edited by
                    #18

                    Hallo an alle,

                    danke für die wirklich gelungene Anleitung :+1: :blush:

                    Beim Script hatte ich dasselbe Problem wie Krami und weiss nicht ob ich es richtig verstanden habe.
                    Ist das jetzt so richtig ?

                    // 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);
                    });
                     
                    // Aufteilung "Modbus Firmware Verwsion"
                    var id = 'modbus.0.holdingRegisters.40002_Modbus-Firmware';
                    createState('e3dc.modbus.MajorVersion');
                    createState('e3dc.modbus.MinorVersion');
                    on(id, function (obj) {
                    setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true);
                    setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true);
                    });
                    

                    Ich habe noch eine Frage zu den Adressen 40097 bis 40104, diese finde ich in der Dokumentation von E3DC nicht und
                    frage mich nun, ob ich eine alte Dokumentation benutze oder ob diese Adressen nicht dokumentiert wurden.
                    Meine Version derDoku ist 05.08.2016.

                    Gruß Arno

                    I 1 Reply Last reply
                    0
                    • K Offline
                      K Offline
                      knudi76
                      wrote on last edited by
                      #19

                      Hallo Arno,

                      ja es gibt eine neue Doku.
                      fafa0e6b-46d5-4431-a2b0-272d228a2f7e-grafik.png

                      Gruß
                      Stephan

                      1 Reply Last reply
                      0
                      • A ArnoD

                        Hallo an alle,

                        danke für die wirklich gelungene Anleitung :+1: :blush:

                        Beim Script hatte ich dasselbe Problem wie Krami und weiss nicht ob ich es richtig verstanden habe.
                        Ist das jetzt so richtig ?

                        // 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);
                        });
                         
                        // Aufteilung "Modbus Firmware Verwsion"
                        var id = 'modbus.0.holdingRegisters.40002_Modbus-Firmware';
                        createState('e3dc.modbus.MajorVersion');
                        createState('e3dc.modbus.MinorVersion');
                        on(id, function (obj) {
                        setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true);
                        setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true);
                        });
                        

                        Ich habe noch eine Frage zu den Adressen 40097 bis 40104, diese finde ich in der Dokumentation von E3DC nicht und
                        frage mich nun, ob ich eine alte Dokumentation benutze oder ob diese Adressen nicht dokumentiert wurden.
                        Meine Version derDoku ist 05.08.2016.

                        Gruß Arno

                        I Offline
                        I Offline
                        ioStarter
                        wrote on last edited by
                        #20

                        @ArnoD
                        Hallo Arno,
                        funktioniert das jetzt so, wie Du in den Zeilen 8/9 und 17/18 angenommen hast.
                        Gruß Thomas

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          MarcusW
                          wrote on last edited by
                          #21
                          This post is deleted!
                          M 1 Reply Last reply
                          0
                          • M MarcusW

                            This post is deleted!

                            M Offline
                            M Offline
                            MarcusW
                            wrote on last edited by
                            #22
                            This post is deleted!
                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              MarcusW
                              wrote on last edited by
                              #23

                              So, es läuft nun fast alles,vielen Dank für deine Arbeit und die Anleitung!

                              Ich habe jedoch noch ein Problem bei dem Javascript.

                              // 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);
                              });
                               
                              // Aufteilung "Modbus Firmware Version"
                              var id = 'modbus.0.holdingRegisters.40002_Modbus-Firmware';
                              createState('e3dc.modbus.MajorVersion');
                              createState('e3dc.modbus.MinorVersion');
                              on(id, function (obj) {
                              setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true);
                              setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true);
                              });
                              

                              Es kommt folgende Fehlermeldung:

                              error	javascript.0 (5434) script.js.e3dc compile failed: at script.js.e3dc:8
                              
                              1 Reply Last reply
                              0
                              • KramiK Krami

                                @Krami :
                                Hat sich erledigt, die Zeichenkodierung war es die mir hier einen Strich durch die Rechnung gemacht hat.

                                >>
                                Bedeutet nicht &>&> sondern >>

                                Ich hatte irgendwie ein Knoten im Kopf, es funktioniert nun einwandfrei und ich bedanke mich noch einmal für die Anleitung

                                Gruss
                                Krami

                                M Offline
                                M Offline
                                MarcusW
                                wrote on last edited by
                                #24

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

                                @Krami :
                                Hat sich erledigt, die Zeichenkodierung war es die mir hier einen Strich durch die Rechnung gemacht hat.

                                >>
                                Bedeutet nicht &>&> sondern >>

                                Ich hatte irgendwie ein Knoten im Kopf, es funktioniert nun einwandfrei und ich bedanke mich noch einmal für die Anleitung

                                Gruss
                                Krami

                                Ok, damit klappts jetzt!:+1:

                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  ArnoD
                                  wrote on last edited by ArnoD
                                  #25

                                  @ioStarter
                                  Ja es funktioniert soweit.
                                  Es ist aber noch ein Schreibfehler enthalten, Zeile 13 muss richtig heißen:
                                  var id = 'modbus.0.holdingRegisters.40002_Modbus_Firmware';

                                  Es hat sich da wohl versehentlich ein "-" anstatt einem "_" eingeschlichen :-)
                                  Jetzt noch mal vollständig so wie das Script bei mir funktioniert:

                                  // 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);
                                  
                                  });
                                  
                                   
                                  
                                  // Aufteilung "Modbus Firmware Verwsion"
                                  
                                  var id = 'modbus.0.holdingRegisters.40002_Modbus_Firmware';
                                  
                                  createState('e3dc.modbus.MajorVersion');
                                  
                                  createState('e3dc.modbus.MinorVersion');
                                  
                                  on(id, function (obj) {
                                  
                                  setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true);
                                  
                                  setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true);
                                  
                                  });
                                  

                                  Gruß Arno

                                  1 Reply Last reply
                                  0
                                  • W Offline
                                    W Offline
                                    weidlix
                                    wrote on last edited by
                                    #26

                                    Ich würde gerne eine Tagesübersicht haben. Also

                                    • Solarproduktion
                                    • Hausverbrauch
                                    • Einspeisung
                                    • Bezug

                                    Jemand eine Idee wie ich mir diese Werte berechnen kann?

                                    Chris TailorC 1 Reply Last reply
                                    1
                                    • W weidlix

                                      Ich würde gerne eine Tagesübersicht haben. Also

                                      • Solarproduktion
                                      • Hausverbrauch
                                      • Einspeisung
                                      • Bezug

                                      Jemand eine Idee wie ich mir diese Werte berechnen kann?

                                      Chris TailorC Offline
                                      Chris TailorC Offline
                                      Chris Tailor
                                      wrote on last edited by
                                      #27

                                      @weidlix Das geht ganz einfach mit SourceAnalytix:
                                      https://github.com/iobroker-community-adapters/ioBroker.sourceanalytix/blob/master/README.md

                                      W 1 Reply Last reply
                                      0
                                      • Chris TailorC Chris Tailor

                                        @weidlix Das geht ganz einfach mit SourceAnalytix:
                                        https://github.com/iobroker-community-adapters/ioBroker.sourceanalytix/blob/master/README.md

                                        W Offline
                                        W Offline
                                        weidlix
                                        wrote on last edited by
                                        #28

                                        @Chris-Tailor Danke das war schonmal ein sehr guter Tipp.

                                        Habe aber Momentan noch das Problem das Netzbezug und Einspeisung über einen Datenpunkt verwaltet werde.
                                        Negative Werte bedeuten Einspeisung, poitive Bezug.
                                        40a4590c-efda-4f97-8ca2-7dac6cc245f2-grafik.png

                                        Ist es Möglich dass in zwei getrennte Zähler aufzusplitten?

                                        1 Reply Last reply
                                        0
                                        • L Letty

                                          Hallo,

                                          Erst mal ein Lob für die Anleitung :)

                                          Leider habe ich ein Problem mit dem Import der Holding Register im ModBus.

                                          Es wirft mir immer alle durch einander.

                                          Wäre es möglich das es noch mal jemand Exportiert und hier einfügt?

                                          edit:

                                          Habe es doch hinbekommen, poste den Code hier nochmal als CSV

                                          address;name;description;unit;type;len;factor;offset;role;room;poll;wp
                                          40002;Modbus_Firmware;Modbus-Firmware-Version;;uint16be;1;1;0;value;;true;false
                                          40004;Hersteller;Hersteller;;string;16;1;0;value;;true;false
                                          40020;Modell;Modell;;string;16;1;0;value;;true;false
                                          40036;Seriennummer;Seriennummer;;string;16;1;0;value;;true;false
                                          40052;Firmware;Firmware;Release;string;16;1;0;value;;true;false
                                          40068;PV_Leistung;Photovoltaik-Leistung in Watt;W;int32sw;2;1;0;value;;true;false
                                          40070;Batterie_Leistung;Batterie-Leistung in Watt;W;int32sw;2;1;0;value;;true;false
                                          40072;Hausverbrauch_Leistung;Hausverbrauchs-Leistung in Watt;W;int32sw;2;1;0;value;;true;false
                                          40074;Netz_Leistung;Leistung am Netzübergabepunkt;W;int32sw;2;1;0;value;;true;false
                                          40082;Autarkie_Eigenverbrauch;Autarkie und Eigenverbrauch;;uint16be;1;1;0;value;;true;false
                                          40083;Batterie_SOC;Batterie-SOC in Prozent;%;uint16be;1;1;0;value;;true;false
                                          40084;Emergency_Power_Status;Emergency-Power Status;;uint16be;1;1;0;value;;true;false
                                          40085;EMS_Status;EMS-Status;;uint16be;1;1;0;value;;true;false
                                          40096;DC_String_1_Voltage;Spannung in Volt;V;uint16be;1;1;0;value;;true;false
                                          40097;DC_String_2_Voltage;Spannung in Volt;V;uint16be;1;1;0;value;;true;false
                                          40098;DC_String_3_Voltage;Spannung in Volt;V;uint16be;1;1;0;value;;true;false
                                          40099;DC_String_1_Current;Strom in Ampere;A;uint16be;1;1;0;value;;true;false
                                          40100;DC_String_2_Current;Strom in Ampere;A;uint16be;1;1;0;value;;true;false
                                          40101;DC_String_3_Current;Strom in Ampere;A;uint16be;1;1;0;value;;true;false
                                          40102;DC_String_1_Power;Leistung in Watt;W;uint16be;1;1;0;value;;true;false
                                          40103;DC_String_2_Power;Leistung in Watt;W;uint16be;1;1;0;value;;true;false
                                          40104;DC_String_3_Power;Leistung in Watt;W;uint16be;1;1;0;value;;true;false
                                          
                                          

                                          Vielen Dank

                                          Grüße Armin

                                          S Offline
                                          S Offline
                                          stevie77
                                          wrote on last edited by stevie77
                                          #29

                                          @Letty Ich verstehe nicht, wie die originale Datei in der Anleitung als CSV-Import funktionieren kann - sie enthält kein Separatorzeichen. Die enthaltenen Leerzeichen können kein Separator sein, weil sie auch oft als Inhalt vorkommen. Somit ist das doch unbrauchbar?! Ich bekomme auch nur Müll importiert. Ich wundere mich, warum es bei vielen scheinbar trotzdem geklappt hat. Ich danke dir für deine Arbeit hier, bei deiner Aufzählung klappt's. Hat mir vermutlich viel Zeit gespart. :-)

                                          Inzwischen gibt es allerdings am Ende noch ne Spalte CW. Ist die wichtig? Die fehlt in der Anleitung auch...hoffe mal, dass überall false - wie ich es jetzt habe - zu keinen Problemen führt...

                                          L M 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          674

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe