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.
    • 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
                                      • Centurytt 0
                                        Centurytt 0 @M1R0O last edited by

                                        @m1r0o

                                        Total Real Power musst nicht berechnen. Total AC Real Power ist die Wechselstrom Seite und wird jetzt im Modbus automatisch berechnet, wenn du meine Liste importiert hast und heisst AC Power Value. Also die Energie über alle 3 Phasen.

                                        oder meinst du was anderes ?

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

                                          @centurytt-0
                                          Ich bin leider nicht in der Lage dein Liste zu importieren, da sie sich nicht via copy & paste einfügen lässt.
                                          Ich eine .tsv daraus erstellt, die sich aber ebenfalls nicht importieren lässt 😠

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

                                            @centurytt-0 habe es so probiert wie du, das Ergebnis ist über die Nacht das gleiche. Immer mal wieder Werte für PVLeistungAktuell.
                                            Außerdem scheint dein Blockly fehlerhaft? Der untere Teil müsste doch in ein "sonst". So wie abgebildet setzt er die Werte doppelt, wenn die Batterie geladen wird.

                                            d7a381b8-fe0e-45ca-be51-8a5a67742e1d-image.png

                                            Wie berechnest du den Hausverbrauch?

                                            So sieht meine Lösung jetzt aus, das passt auch wunderbar:

                                            fc3f86ef-7850-4d5b-8084-4c341862a486-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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