Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana

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

      Guten Abend,

      ja ich bin mir mit den Adressen relativ sicher. Diese stammen auch aus dem offiziellen SolarEdge Dokument siehe Anhang Power-Control-Open-Protocol-for-SolarEdge-Inverters.pdf

      Nur musste ich hier ein paar Modifikationen vornehmen. Die original Adressen funktionieren bei mir nicht. Daher habe ich 1. alle Adressen +40000 gerechnet und anschließend nochmals +1 für Base1. Warum das so ist - keine Ahnung. Aber es tut.

      Zu deinen Fragen - zunächst nochmals Danke für die Unterstützung - Leider finde ich auch zu diesen Werten keinen Scalefactor. Meine Rechnung basiert lediglich darauf, dass aus Wh -> kWh errechnet werden. Ich arbeite lieber damit.

      Ich habe mir mal den Spaß erlaubt und eine Datenbank die letzten Tage mitlaufen lassen. Aus den Ergebnissen werde ich auch nicht schlüssig...
      Die letzten 24h hier zu sehen.
      in BLAU: TotalExport in kWh
      in Magenta: TotalImport in kWh
      Screenshot 2023-07-23 223727.jpg
      Installiert ist ein 13,8 kWh Speicher. Das Ganze läuft nu auch schon >1 Monat. Schlau werde ich leider auch mit verschiedenen Denkansätzen hier nicht....

      Greetz,
      Apfel

      1 1 Reply Last reply Reply Quote 0
      • 1
        150d @Apfel85 last edited by

        @apfel85 Ok, zuerst einmal: Vielen Dank, das Dokument kannte ich noch nicht.

        Ich habe die Werte inzwischen bei mir eingegeben. Das gleiche Ergebnis wie bei Dir: Max. Temp bleibt Null, die Werte für TotalImport/TotalExport sind unplausibel.

        Sorry, da weiß ich dann leider auch nicht mehr. 😉

        Fogg 1 Reply Last reply Reply Quote 0
        • Fogg
          Fogg @150d last edited by

          Mich auch mal hier anhängen... 😄

          Ich würde gerne von meinem SolarEdge Se16k Daten abfragen. Soweit ich oben sehe geht das nur mit zusätzlichem Zähler? Ist das immernoch so oder kann ich den direkt ansteuern? Im Netz hängt er ja.

          (Langfristig suche ich noch einen passenden Akku.. .aber denke das ist eher für ein anderes Forum)

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

            @fogg sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

            Soweit ich oben sehe geht das nur mit zusätzlichem Zähler?

            Nein , du kannst den WR auch ohne Zähler abfragen ,
            dann fehlen halt nur die Zähler im Modbus Register.

            1 Reply Last reply Reply Quote 1
            • M
              M1R0O last edited by

              Hi zusammen,
              ich habe mir den Thread mindestens 1000x durchgelesen...
              Ich nutze das Register von @Sammydk, welches bei mir super läuft.
              Theoretisch hätte ich gern die aktuelle PV Produktion (wie diese berechnet wird, hat @Longbow ja erklärt: Batterieladung + den Hausverbrauch + den Export addieren und den Import abziehen.

              Nun zu meinen Fragen:

              1. Muss ich die Werte aus dem Register noch umrechnen? (Denn dort sind ja bereits Formeln eingetragen)
              2. Welches sind die Werte im Holding Register für Batterieladung, Hausverbrauch, Export und Import?

              Sorry, aber mein Brett vorm Kopf ist zu groß 😕

              Danke

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

                @m1r0o sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                ich habe mir den Thread mindestens 1000x durchgelesen..

                dann aber alles überlesen 😀 😂

                Muss ich die Werte aus dem Register noch umrechnen?

                Nein . hast du dir selber beantwortet.

                Welches sind die Werte im Holding Register für Batterieladung,

                57716	Battery 1 Instantaneous Power	Batterie momentane Leistung	W	floatsw	2	1	0		value		true	false	false	false
                

                weiteres dazu siehe ein paaaar Antworten über deine Frage !

                Hausverbrauch, Export und Import?

                Zitat :

                Für den Wert 40206: Total Real Power legt ihr folgendes JS Script an:
                ...4.
                Stat Import/Export
                Quelle aus der InfluxDB sind
                ACTotalRealPower

                steht alles am Anfang !

                J 1 Reply Last reply Reply Quote 0
                • J
                  jumbo125 @Glasfaser last edited by

                  Hallo
                  ich bin zufällig auf das Thema gestoßen und finde es wirklich interessant!!!!!

                  Ich hätte eine Frage zu euren Erfahrungen. Leider habe ich es zuspät gesehen. Daher habe ich es anders gelöst.
                  iobroker->PHP-script->erhält daten, berechnet + speichert in MySql -> grafana visualisierung

                  es funktioniert soweit recht gut. ABER zwei Dinge finde ich komisch

                  1. ALLE WERTE welche ich auslese sind kumulativ. Damit meine ich das ich keine werte mit "Heute erzeugt erhalte".... die Werte werden bei mir alle immer nur weitergezählt.
                    Daher erhalte ich auch bei 40206 eine unglaublich hohe Zahl. Ist das bei euch auch der Fall?????

                  2. Ich berechne mir immer den Bedarf aus dem Netz, daher kann ich auch täglich den Zählerstand theoretisch berechnen. Dieser Stimmt aber leide nicht überein. ist das bei euch auch der fall?
                    Die Werte welche ich berechne, stimmen aber mit der APP bis aufs Komma überein

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    technikaffin @jumbo125 last edited by

                    @jumbo125

                    Naja wenn Du den Tageswert haben willst, kannst Du Dir den ja aus dem kumulativen ausrechnen, um 23:59 Uhr

                    javascript_zeitplan.jpg

                    AC Gesamt kommt dann vom Wechselrichter kumulativ, die anderen 2 Variablen legst Du Dir selber an. Funktioniert prima bei mir.

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      jumbo125 @technikaffin last edited by

                      @technikaffin danke dir
                      dachte bei euch kommen die werte vom WR.
                      ich habe es bereits bei mir mittels php script geändert, da ich ja auch die daten in eine mysql DB schreibe. es hat mich nur interessiert
                      danke

                      1 Reply Last reply Reply Quote 0
                      • Centurytt 0
                        Centurytt 0 @hennerich last edited by

                        @hennerich

                        Warum berechnest du nicht die Werte gleich im Modbus dann sparst dir das in den Scripten.

                        ich mache das so z.B.:
                        ab538379-cbeb-4a5f-a0ea-b793d73dc569-image.png

                        ist zwar Ansichtssache aber dann habe ich weniger Fehleranfälligkeit und iob hat nicht zig Scripte zum abarbeiten.

                        Lg
                        Tom

                        H 1 Reply Last reply Reply Quote 1
                        • S
                          SentiQ last edited by SentiQ

                          Hat jemand mit Speicher das Problem der aktuellen PV-Leistung irgendwie lösen können? @Glasfaser ich habe zwar deine Scripte integriert mit PVAktuell_ohneSpeicher und PVAktuell_Dachfläche, jedoch habe ich alle paar Minute Werte von paar wenigen Watt und nachts auch mal größere. Sollte ja eigentlich alles auf 0 bleiben von Sonnenuntergang bis Sonnenaufgang.

                          Beispiel von 2:13 Uhr nachts:

                          Bildschirmfoto 2023-08-10 um 07.32.32.png

                          Centurytt 0 1 Reply Last reply Reply Quote 0
                          • Centurytt 0
                            Centurytt 0 @SentiQ last edited by

                            @sentiq

                            hab auch einen Speicher hab das Problem aber nicht. Ich gehe wie folgt vor:

                            52d3ebef-15ea-479f-9734-dde008b0c358-image.png

                            Ich hatte das Problem ganz am Anfang mal als ich das Blockly noch auf vorher berechnete Einzelwerte hatte. Dann war teilweise einfach der iob zu langsam um zu rechnen. Da kam es dann vor, dass die Werte der Batterie als PV Leistung angezeigt wurden. Nachdem ich die MODBUS Berechnungen direkt im Adapter mache und mit den Werten dann rechne ist das nicht mehr passiert.

                            S 1 Reply Last reply Reply Quote 0
                            • M
                              M1R0O last edited by M1R0O

                              Moin,
                              @glasfaser: Danke für deine Antwort vor einiger Zeit.

                              Die Aktuelle PV-Produktion bekomme ich einfach nicht hin!

                              Centurytt 0 1 Reply Last reply Reply Quote 0
                              • Centurytt 0
                                Centurytt 0 @M1R0O last edited by Centurytt 0

                                @m1r0o

                                warum berechnest du etwas was nicht zu berechnen ist `?

                                659eaf83-4ead-4bb6-937a-c2f7951bf152-image.png

                                Schmeiß mal die Formel raus ... bei mir liefern die Adressen die Werte ohne die Formel.

                                _address name description unit type len factor offset formula role room poll wp cw isScale
                                40071 AC_Current AC Total Current value A uint16be 1 1 0 x * Math.pow(10, sf['40075']) true false false false
                                40072 AC_CurrentA AC Phase A Current value A uint16be 1 1 0 x * Math.pow(10, sf['40075']) true false false false
                                40073 AC_CurrentB AC Phase B Current value A uint16be 1 1 0 x * Math.pow(10, sf['40075']) true false false false
                                40074 AC_CurrentC AC Phase C Current value A uint16be 1 1 0 x * Math.pow(10, sf['40075']) true false false false
                                40075 AC_Current_SF int16be 1 1 0 true false false true
                                40076 AC_VoltageAB AC Voltage Phase AB value V uint16be 1 1 0 x * Math.pow(10, sf['40082']) true false false false
                                40077 AC_VoltageBC AC Voltage Phase BC value V uint16be 1 1 0 x * Math.pow(10, sf['40082']) true false false false
                                40078 AC_VoltageCA AC Voltage Phase CA value V uint16be 1 1 0 x * Math.pow(10, sf['40082']) true false false false
                                40079 AC_VoltageAN AC Voltage Phase A to N value V uint16be 1 1 0 x * Math.pow(10, sf['40082']) true false false false
                                40080 AC_VoltageBN AC Voltage Phase B to N value V uint16be 1 1 0 x * Math.pow(10, sf['40082']) true false false false
                                40081 AC_VoltageCN AC Voltage Phase C to N value V uint16be 1 1 0 x * Math.pow(10, sf['40082']) true false false false
                                40082 AC_Voltage_SF int16be 1 1 0 true false false true
                                40083 AC_Power AC Power value kW int16be 1 1 0 x * Math.pow(10, sf['40084']) *0.001 true false false false
                                40084 AC_Power_SF int16be 1 1 0 true false false true
                                40085 AC_Frequency AC Frequency value Hz uint16be 1 1 0 x * Math.pow(10, sf['40086']) true false false false
                                40086 AC_Frequency_SF int16be 1 1 0 true false false true
                                40087 AC_VA Apparent Power VA int16be 1 1 0 x * Math.pow(10, sf['40088']) true false false false
                                40088 AC_VA_SF int16be 1 1 0 true false false true
                                40089 AC_VAR Reactive Power VAR int16be 1 1 0 x * Math.pow(10, sf['40090']) true false false false
                                40090 AC_VAR_SF int16be 1 1 0 true false false true
                                40091 AC_PF Power Factor int16be 1 1 0 x * Math.pow(10, sf['40092']) true false false false
                                40092 AC_PF_SF int16be 1 1 0 true false false true
                                40093 AC_Energy_WH AC Lifetime Energy production Wh int32be 2 1 0 x * Math.pow(10, sf['40095']) true false false false
                                40095 AC_Energy_WH_SF uint16be 1 1 0 true false false true
                                40096 DC_Current DC Current value A uint16be 1 1 0 x * Math.pow(10, sf['40097']) true false false false
                                40097 DC_Current_SF int16be 1 1 0 true false false true
                                40098 DC_Voltage DC Voltage value V uint16be 1 1 0 x * Math.pow(10, sf['40099']) true false false false
                                40099 DC_Voltage_SF int16be 1 1 0 true false false true
                                40100 DC_Power DC Power Value kW int16be 1 1 0 x * Math.pow(10, sf['40101'])*0.001 true false false false
                                40101 DC_Power_SF int16be 1 1 0 true false false true
                                40103 Temp_Sink Heat Sink Temperature °C int16be 1 1 0 x * Math.pow(10, sf['40106']) true false false false
                                40106 Temp_SF int16be 1 1 0 true false false true
                                40107 OP_State Operation State uint16be 1 1 0 true false false false
                                40108 I_Status_Vendor Vendor-defined operating state and error codes. uint16be 1 1 0 true false false false
                                40139 MeterModel M_C_Model string 16 1 0 state true false false false
                                40163 MeterVersion M_C_Version string 8 1 0 state true false false false
                                40171 MeterSerialNumber M_C_SerialNumber string 16 1 0 state true false false false
                                40190 MeterCurrentTotal M_AC_Current A int16be 1 1 0 value true false false false
                                40191 MeterCurrentL1 M_AC_Current_A A int16be 1 1 0 value true false false false
                                40192 MeterCurrentL2 M_AC_Current_B A int16be 1 1 0 value true false false false
                                40193 MeterCurrentL3 M_AC_Current_C A int16be 1 1 0 value true false false false
                                40194 MeterCurrentSF M_AC_Current_SF int16be 1 1 0 state true false false false
                                40195 MeterVoltageLN M_AC_Voltage_L_N V int16be 1 1 0 value true false false false
                                40196 MeterVoltageL1N M_AC_Voltage_A_N V int16be 1 1 0 value true false false false
                                40197 MeterVoltageL2N M_AC_Voltage_B_N V int16be 1 1 0 value true false false false
                                40198 MeterVoltageL3N M_AC_Voltage_C_N V int16be 1 1 0 value true false false false
                                40203 MeterVoltageSF M_AC_Voltage_SF int16be 1 1 0 state true false false false
                                40204 MeterFrequency M_AC_Freq Hz int16be 1 1 0 value true false false false
                                40205 MeterFrequencySF M_AC_Freq_SF int16be 1 1 0 state true false false false
                                40206 MeterPowerTotal M_AC_Power W int16be 1 1 0 value true false false false
                                40207 MeterPowerL1 M_AC_Power_A W int16be 1 1 0 value true false false false
                                40208 MeterPowerL2 M_AC_Power_B W int16be 1 1 0 value true false false false
                                40209 MeterPowerL3 M_AC_Power_C W int16be 1 1 0 value true false false false
                                40210 MeterPowerSF M_AC_Power_SF int16be 1 1 0 state true false false false
                                40211 MeterApparentPowerTotal M_AC_VA VA int16be 1 1 0 value true false false false
                                40212 MeterApparentPowerL1 M_AC_VA_A VA int16be 1 1 0 value true false false false
                                40213 MeterApparentPowerL2 M_AC_VA_B VA int16be 1 1 0 value true false false false
                                40214 MeterApparentPowerL3 M_AC_VA_C VA int16be 1 1 0 value true false false false
                                40215 MeterApparentPowerSF M_AC_VA_SF int16be 1 1 0 state true false false false
                                40216 MeterReactivePowerTotal M_AC_VAR VAR int16be 1 1 0 value true false false false
                                40217 MeterReactivePowerL1 M_AC_VAR_A VAR int16be 1 1 0 value true false false false
                                40218 MeterReactivePowerL2 M_AC_VAR_B VAR int16be 1 1 0 value true false false false
                                40219 MeterReactivePowerL3 M_AC_VAR_C VAR int16be 1 1 0 value true false false false
                                40220 MeterReactivePowerSF M_AC_VAR_SF int16be 1 1 0 state true false false false
                                40226 MeterEnergyExportedTotal M_Exported Wh uint32be 2 1 0 value true false false false
                                40228 MeterEnergyExportedL1 M_Exported_A Wh uint32be 2 1 0 value true false false false
                                40230 MeterEnergyExportedL2 M_Exported_B Wh uint32be 2 1 0 value true false false false
                                40232 MeterEnergyExportedL3 M_Exported_C Wh uint32be 2 1 0 value true false false false
                                40234 MeterEnergyImportedTotal M_Imported Wh uint32be 2 1 0 value true false false false
                                40236 MeterEnergyImportedL1 M_Imported_A Wh uint32be 2 1 0 value true false false false
                                40238 MeterEnergyImportedL2 M_Imported_B Wh uint32be 2 1 0 value true false false false
                                40240 MeterEnergyImportedL3 M_Imported_C Wh uint32be 2 1 0 value true false false false
                                40242 MeterEnergySF M_Energy_W_SF int16be 1 1 0 state true false false false
                                62836 Batterieleistung W floatsw 2 1 0 true false false false
                                62852 Batterieladezustand % floatsw 2 1 0 true false false false
                                62854 Batteriestatus uint32sw 2 1 0 true false false false

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  M1R0O @Centurytt 0 last edited by M1R0O

                                  @centurytt-0
                                  Du warst schnell, danke.
                                  Als ich beim Posten genau drauf gewschaut habe, habe ich gesehen, dass da etwas nicht stimmt.
                                  Muss nur gucken, was ich genau löschen muss ...!?

                                  Centurytt 0 1 Reply Last reply Reply Quote 0
                                  • Centurytt 0
                                    Centurytt 0 @M1R0O last edited by

                                    @m1r0o

                                    importier dir einfach die Modbus Liste von mir...

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      M1R0O @Centurytt 0 last edited by

                                      @centurytt-0
                                      Zum Importieren benötige ich die Datei als .tsv?!

                                      Centurytt 0 1 Reply Last reply Reply Quote 0
                                      • Centurytt 0
                                        Centurytt 0 @M1R0O last edited by

                                        @m1r0o

                                        richtig

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          M1R0O last edited by M1R0O

                                          @centurytt-0 Danke, die Formeln sind raus.
                                          Bildschirm­foto 2023-08-13 um 20.04.20.png
                                          Nun habe ich die Skripte aus dem ersten Post eingefügt.
                                          PV Leistung aktuell läuft.

                                          Nur Total Real Power läuft (also Einspeisung oder Bezug) nicht, zeigt immer 0W an:

                                          function convertValue(value, factor) {
                                            if (value === null) return;
                                            if (factor === null) factor = 0;
                                            setState('Solar.Wechselrichter.ACTotalRealPower', value * Math.pow(10, factor), true);
                                          }  
                                          
                                          createState('Solar.Wechselrichter.ACTotalRealPower', {
                                             name: 'akt_bez_einsp',
                                             unit: 'W',
                                             min:  -999999,
                                             type: 'number',
                                             role: 'value.energy'
                                          }, function () {
                                             on('modbus.0.holdingRegisters.40206_meter_M_AC_Power'/*Total Real Power (sum of active phases)*/, function(obj) {
                                             	var timeout = setTimeout(function () {
                                             		clearTimeout(timeout);
                                             		var factorState = getState('modbus.0.holdingRegisters.40210_meter_M_AC_Power_SF'/*AC Real Power Scale Factor*/);
                                             		convertValue(obj.state.val, factorState ? factorState.val : 0);
                                             	}, 100); 
                                             });
                                             var factorState = getState('modbus.0.holdingRegisters.40210_meter_M_AC_Power_SF'/*AC Real Power Scale Factor*/);
                                             var valueState = getState('modbus.0.holdingRegisters.40206_meter_M_AC_Power'/*Total Real Power (sum of active phases)*/);
                                             convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
                                          });
                                          

                                          Ich bin, wie immer, für eure Hilfe dankbar!

                                          Centurytt 0 1 Reply Last reply Reply Quote 0
                                          • H
                                            hennerich @Centurytt 0 last edited by

                                            @centurytt-0 sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                                            @hennerich

                                            Warum berechnest du nicht die Werte gleich im Modbus dann sparst dir das in den Scripten.

                                            ich mache das so z.B.:
                                            ab538379-cbeb-4a5f-a0ea-b793d73dc569-image.png

                                            ist zwar Ansichtssache aber dann habe ich weniger Fehleranfälligkeit und iob hat nicht zig Scripte zum abarbeiten.

                                            Lg
                                            Tom

                                            Sehr interessante Idee, wusste nicht, dass das geht. Schaue ich mir mal an.

                                            Danke
                                            Henri

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            639
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            grafana modbus solaredge
                                            90
                                            603
                                            148409
                                            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