Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
solaredgemodbusgrafana
606 Beiträge 91 Kommentatoren 208.0k Aufrufe 99 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • GlasfaserG Glasfaser

    @daruse

    Upps Sorry .
    Falschen Datenpunkt aus dem Script kopiert , das war mein trigger dafür

    57716_Battery_1_Instantaneous_Power

    Muß aber per Script vom Wert - negativ dann x-1 gesetzt werden ., damit er positv ist und extra in einem neuen Datenpunkt gelegt werden .
    Deswegen habe ich beide für mich

    javascript.0.Solar.Wechselrichter.Batterie Entlade-Leistung
    javascript.0.Solar.Wechselrichter.Batterie Lade-Leistung

    per SourceAnalytix Adapter und auch per VIS

    S Offline
    S Offline
    Smartuser_1
    schrieb am zuletzt editiert von
    #498

    @glasfaser

    Hi Glasfaser, gibt es mittlerweile eine Lösung für die richtige Anzeige von 57718?
    Ich werde da nicht richtig schlau, scheinbar funktioniert es ja bei einigen Usern im Forum, kannst Du mir da helfen?

    57666 Battery Rated Energy Battery Rated Energy Wh floatsw 2 1 0 value true
    57716 Batterie Batterie W floatsw 2 1 0 value true
    57718 Batterie Lifetime_Exp Batterie Lifetime_Exp Wh uint64le 4 1 0 value true
    57722 Batterie Lifetime_Imp Batterie Lifetime_Imp Wh uint64le 4 1 0 value true
    57728 Batterie Available Energy Batterie Available Energy Wh floatsw 2 1 value true
    57732 Batterielevel Batterielevel % floatsw 2 1 0 value true
    57734 Batteriezustand Batteriezustand Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 value true
    63236 Storage Control Mode 0 – Disabled 1 – Maximize Self Consumption 2 – Time of Use (Profile programming) 3 – Backup Only 4 – Remote Control by an external controller uint16be 1 1 0 value true

    Danke & Vg Smartuser

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      bitwicht
      schrieb am zuletzt editiert von
      #499

      @daruse

      Meine geschrieben Werte sind ja rein die aktuelle Erzeugung.

      Wenn ich der App 1,9 kW steht müssen es doch über Modbus auch 1,9kW sein (aufgeteilt auf meine 2 WR).

      D 1 Antwort Letzte Antwort
      0
      • B bitwicht

        @daruse

        Meine geschrieben Werte sind ja rein die aktuelle Erzeugung.

        Wenn ich der App 1,9 kW steht müssen es doch über Modbus auch 1,9kW sein (aufgeteilt auf meine 2 WR).

        D Online
        D Online
        daruse
        schrieb am zuletzt editiert von
        #500

        @bitwicht
        Dann meinst du aber kwh und nicht kw, sprich die Energie die du erzeugt hast oder?
        Dass hab ich über das Register 40094 realisiert. Hier in der früh den Zählerstand gespeichert und dann den aktuellen Wert davon abgezogen.

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          bitwicht
          schrieb am zuletzt editiert von
          #501

          @daruse

          Nö, ich meine nicht die Produktion pro Tag sondern was die Anlage gerade an Leistung hat.
          In der App steht kW das soll eigentlich dem Modbus Wert 40083 entsprechen.

          und das passt bei mir überhaupt nicht.

          D 1 Antwort Letzte Antwort
          0
          • B bitwicht

            @daruse

            Nö, ich meine nicht die Produktion pro Tag sondern was die Anlage gerade an Leistung hat.
            In der App steht kW das soll eigentlich dem Modbus Wert 40083 entsprechen.

            und das passt bei mir überhaupt nicht.

            D Online
            D Online
            daruse
            schrieb am zuletzt editiert von
            #502

            @bitwicht
            Das passt bei mir, natürlich nicht auf das Watt genau und auch nicht auf die Sekunde genau. Aber am Ende des Tages stimmt alles überein.
            Sorry dann kann ich dir auch nicht weiter helfen. 😉

            1 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              bitwicht
              schrieb am zuletzt editiert von bitwicht
              #503

              Frage zur Berechnung.

              ID 40083 ist doch die aktuelle Leitung der PVA.
              ID 40084 ist der Scling Faktor

              Den Wert lasse ich dann über das Script umrechnen.

              function convertValue(value, factor) {
                 if (value === null) return;
                 if (factor === null) factor = 0;
                 setState('PV.Wechselrichter.SE-10KRWS-PVLeistungAktuell', value * Math.pow(10, factor), true);
              }  
               
              createState('PV.Wechselrichter.SE-10KRWS-PVLeistungAktuell', {
              	name: 'PV-WR-SE-10KRWS-PVLeistungAktuell',
              	unit: 'W',
              	min:  0,
              	type: 'number',
              	role: 'value.energy'
              }, function () {
              	on('modbus.0.holdingRegisters.1.40083_I_AC_Power'/*AC-Leistungswert*/, function(obj) {
              		var timeout = setTimeout(function () {
              			clearTimeout(timeout);
              			var factorState = getState('modbus.0.holdingRegisters.1.40084_I_AC_Power_SF'/*AC-Leistung Skalierungsfaktor*/);
              			convertValue(obj.state.val, factorState ? factorState.val : 0);
              		}, 100); 
              	});
              	var factorState = getState('modbus.0.holdingRegisters.1.40084_I_AC_Power_SF'/*AC-Leistung Skalierungsfaktor*/);
              	var valueState = getState('modbus.0.holdingRegisters.1.40083_I_AC_Power'/*AC-Leistungswert*/);
              	convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
              });
              

              Den Datenpunkt aus dem Script, zeichne ich mit dem Sourceanalytics Adapter auf.

              Hier die Config:
              PV-B2.JPG

              Somit müsste ich doch am Ende des Tages die am Tag erzeugte Energie haben.

              Der Wert passt aber leider überhaupt nicht (viel zu hoch).

              Haben ich einen Denkfehler?

              @hennerich müsste das so passen, kannst du das bei dir kontrollieren?

              D 1 Antwort Letzte Antwort
              0
              • B bitwicht

                Frage zur Berechnung.

                ID 40083 ist doch die aktuelle Leitung der PVA.
                ID 40084 ist der Scling Faktor

                Den Wert lasse ich dann über das Script umrechnen.

                function convertValue(value, factor) {
                   if (value === null) return;
                   if (factor === null) factor = 0;
                   setState('PV.Wechselrichter.SE-10KRWS-PVLeistungAktuell', value * Math.pow(10, factor), true);
                }  
                 
                createState('PV.Wechselrichter.SE-10KRWS-PVLeistungAktuell', {
                	name: 'PV-WR-SE-10KRWS-PVLeistungAktuell',
                	unit: 'W',
                	min:  0,
                	type: 'number',
                	role: 'value.energy'
                }, function () {
                	on('modbus.0.holdingRegisters.1.40083_I_AC_Power'/*AC-Leistungswert*/, function(obj) {
                		var timeout = setTimeout(function () {
                			clearTimeout(timeout);
                			var factorState = getState('modbus.0.holdingRegisters.1.40084_I_AC_Power_SF'/*AC-Leistung Skalierungsfaktor*/);
                			convertValue(obj.state.val, factorState ? factorState.val : 0);
                		}, 100); 
                	});
                	var factorState = getState('modbus.0.holdingRegisters.1.40084_I_AC_Power_SF'/*AC-Leistung Skalierungsfaktor*/);
                	var valueState = getState('modbus.0.holdingRegisters.1.40083_I_AC_Power'/*AC-Leistungswert*/);
                	convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
                });
                

                Den Datenpunkt aus dem Script, zeichne ich mit dem Sourceanalytics Adapter auf.

                Hier die Config:
                PV-B2.JPG

                Somit müsste ich doch am Ende des Tages die am Tag erzeugte Energie haben.

                Der Wert passt aber leider überhaupt nicht (viel zu hoch).

                Haben ich einen Denkfehler?

                @hennerich müsste das so passen, kannst du das bei dir kontrollieren?

                D Offline
                D Offline
                docf
                schrieb am zuletzt editiert von
                #504

                @bitwicht

                Ja ist bei mir auch zu hoch in der Nacht zeigt mir die I AC Power ca 500 Watt an ?
                Habe da auch noch keine Lösung gefunden

                1 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  bitwicht
                  schrieb am zuletzt editiert von
                  #505

                  @docf

                  Das kann ich bestätigen. Bei mir kommen aus dem Modbus Adapter auch ca. 500 Watt, aber nur bei dem Hybrid-WR. Ich glaube ich habe mal im PV Forum gelesen, dass der Hybrid WR nie "aus" geht wegen der Akku Minimal Ladung.
                  Aber er dürfte ja bei Produktion nichts anzeigen.

                  Interessant ist auch das die Werte der SE-API nicht zu SE-App und auch nicht zur SE-Webportal Export CSV passen.
                  Gibt es auch minimale Abweichungen.

                  Verstehe ich nicht was die Hersteller da für Mist machen.

                  Ich hatte bei SE schon 5 Tickets offen aber es heißt immer das alles passt.

                  U 1 Antwort Letzte Antwort
                  0
                  • B bitwicht

                    @docf

                    Das kann ich bestätigen. Bei mir kommen aus dem Modbus Adapter auch ca. 500 Watt, aber nur bei dem Hybrid-WR. Ich glaube ich habe mal im PV Forum gelesen, dass der Hybrid WR nie "aus" geht wegen der Akku Minimal Ladung.
                    Aber er dürfte ja bei Produktion nichts anzeigen.

                    Interessant ist auch das die Werte der SE-API nicht zu SE-App und auch nicht zur SE-Webportal Export CSV passen.
                    Gibt es auch minimale Abweichungen.

                    Verstehe ich nicht was die Hersteller da für Mist machen.

                    Ich hatte bei SE schon 5 Tickets offen aber es heißt immer das alles passt.

                    U Offline
                    U Offline
                    Uwe96
                    schrieb am zuletzt editiert von
                    #506

                    @bitwicht
                    Ja, hatte ich ja auch schon mal geschrieben. Sehe das auf meinem Grafana ab und zu steigt Production und Verbrauch um 500 W an. Damit stimmt dann natürlich alles nicht mehr. Komischer Weise ist das ja beim Monitoring nicht so.Nutzt SolarEdge da andere Register?

                    1 Antwort Letzte Antwort
                    0
                    • B Offline
                      B Offline
                      bitwicht
                      schrieb am zuletzt editiert von
                      #507

                      @Uwe96

                      ich weiß es leider nicht da SE mir keine vernünftige Antwort gibt.

                      Komisch finde ich schon das die Daten SE-App vs SE-Web-CSV vs SE-API nicht übereinstimmen.

                      Vielleicht berechnet SE die Daten anhand des Smart-Meter und nicht anhand der Register.

                      1 Antwort Letzte Antwort
                      0
                      • L lisalisa

                        @bitwicht Wenn hier sonst keiner antwortet...
                        Teste mal meine 100.000er, sind für einen BYD-Akku.```

                         _address	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
                        101697	CommitSettings	Commit Power Control Settings		uint16be	1	1	0		level		true	false	false	false
                        101701	ReactivePwrConfig	ReactivePwrConfig		uint32sw	2	1	0		level		true	false	false	false
                        101763	AdvancedPwrControlEn	AdvancedPwrControlEn		uint32sw	2	1	0		level		true	false	false	false
                        102787	Batt Rated Energy	Batt Rated Energy	Wh	floatsw	2	1	0		level		true	false	false	false
                        102829	Batt1_Avg_T	Batterie 1 Average Temperature °C	°C	floatsw	2	1	0		level		true	false	false	false
                        102837	Speicher_Ladung	Speicher Ladeleistung	W	floatsw	2	1	0		level		true	false	false	false
                        102851	Speicher_SoH	Batterie alterung	%	floatsw	2	1	0		level		true	false	false	false
                        102853	Speicher_SoC	Battrieladung	%	floatsw	2	1	0		level		true	false	false	false
                        102855	Speicher_Betriebszustand	1 Aus 3: Laden 4: Entladen 6: Erhaltungsladen		uint32sw	2	1	0		level		true	false	false	false
                        103237	Str	Storage control mode		uint16be	1	1	0		level		true	false	false	false
                        103238	Storage_AC_Charge_Policy_RW	0 – Disable, 1 – Always allowed , 2 – Fixed Energy Limit –		uint16be	1	1	0		level		true	false	false	false
                        103241	Storage_Backup_Reserved_Setting_RW			floatsw	2	1	0		level		true	false	false	false
                        103243	StChDisChMode	Storage Charge/Discharge Mode		uint16be	1	1	0		level		true	false	false	false
                        103244	Timeout	Timout	sec	uint32sw	2	1	0		level		true	false	false	false
                        103247	Remote Control Charge Limit	Remote Control Charge Limit	W	floatsw	2	1	0		level		true	false	false	false
                        W Offline
                        W Offline
                        wrod
                        schrieb am zuletzt editiert von wrod
                        #508

                        @lisalisa
                        Danke. Die gehen gut.
                        Aber: 102829 ist die "Durchschnittstemperatur" der Batterie. Weißt du, wovon der Durchschnitt genommen wird?, etwa

                        • von mehreren Batteriemodulen (so dass es eine zeitlich punktuelle Temperaturmessung ist). Wenn so: Kann man die Temperaturen der einzelnen Module auslesen?
                        • über Zeit? Dann: von welchem Zeitraum? Auch hier: Gibt es Register, die den aktuellen Temperaturwert ausgeben (vorhanden sein müsste er dann ja).

                        Woher hast Du diese Registerangaben?

                        Kennst Du (oder jemand anders hier) eine Dokumentation, wo auch angegeben ist, was die schreibbaren Steuer-Register konkret bewirken, wo also die Logik der Steuerung angegeben ist?

                        Dank im Voraus
                        W

                        L 1 Antwort Letzte Antwort
                        0
                        • W wrod

                          @lisalisa
                          Danke. Die gehen gut.
                          Aber: 102829 ist die "Durchschnittstemperatur" der Batterie. Weißt du, wovon der Durchschnitt genommen wird?, etwa

                          • von mehreren Batteriemodulen (so dass es eine zeitlich punktuelle Temperaturmessung ist). Wenn so: Kann man die Temperaturen der einzelnen Module auslesen?
                          • über Zeit? Dann: von welchem Zeitraum? Auch hier: Gibt es Register, die den aktuellen Temperaturwert ausgeben (vorhanden sein müsste er dann ja).

                          Woher hast Du diese Registerangaben?

                          Kennst Du (oder jemand anders hier) eine Dokumentation, wo auch angegeben ist, was die schreibbaren Steuer-Register konkret bewirken, wo also die Logik der Steuerung angegeben ist?

                          Dank im Voraus
                          W

                          L Offline
                          L Offline
                          lisalisa
                          schrieb am zuletzt editiert von lisalisa
                          #509

                          @wrod
                          Bitte schön, habe aber gerade keinen Plan welchen Beitrag du meinst.

                          Irgendwelche Registerangaben und Infos habe ich hier aus dem Forum und aus PDFs.
                          Google mal nach "SunSpec-Protokoll in SolarEdge Wechselrichtern" oder "Open Protocol for SolarEdge Inverters"

                          In dieser PDF z.B. stehen Register
                          https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/

                          von dieser PDF:
                          ......
                          E16C (F56C) 2 R Battery 1 Average Temperature Float32 °C
                          E16E (F56E) 2 R Battery 1 Max Temperature Float32 °C
                          .....

                          Bei mir ist zu beachten meine Adressen sind immer plus 1:
                          holdingRegisters.102829 Batterie 1 Average Temperature °C
                          z.B. Adresse 102.829 - 40.000 = dezimal 62.829 = hexadezimal F56D (=Adresse plus 1)

                          W 1 Antwort Letzte Antwort
                          0
                          • L lisalisa

                            @wrod
                            Bitte schön, habe aber gerade keinen Plan welchen Beitrag du meinst.

                            Irgendwelche Registerangaben und Infos habe ich hier aus dem Forum und aus PDFs.
                            Google mal nach "SunSpec-Protokoll in SolarEdge Wechselrichtern" oder "Open Protocol for SolarEdge Inverters"

                            In dieser PDF z.B. stehen Register
                            https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/

                            von dieser PDF:
                            ......
                            E16C (F56C) 2 R Battery 1 Average Temperature Float32 °C
                            E16E (F56E) 2 R Battery 1 Max Temperature Float32 °C
                            .....

                            Bei mir ist zu beachten meine Adressen sind immer plus 1:
                            holdingRegisters.102829 Batterie 1 Average Temperature °C
                            z.B. Adresse 102.829 - 40.000 = dezimal 62.829 = hexadezimal F56D (=Adresse plus 1)

                            W Offline
                            W Offline
                            wrod
                            schrieb am zuletzt editiert von
                            #510

                            @lisalisa
                            Danke. Ich meine diesen hier: https://forum.iobroker.net/post/975915.

                            In dem von Dir verlinkten Dokument und in Deiner letzten Mail sind Adressen in ganz anderem Format. in dem oben genannten Post hattest Du für BYD Register mit 100000er Adressen. Dafür bräuchte ich eine Dokumentation.

                            L 1 Antwort Letzte Antwort
                            0
                            • W wrod

                              @lisalisa
                              Danke. Ich meine diesen hier: https://forum.iobroker.net/post/975915.

                              In dem von Dir verlinkten Dokument und in Deiner letzten Mail sind Adressen in ganz anderem Format. in dem oben genannten Post hattest Du für BYD Register mit 100000er Adressen. Dafür bräuchte ich eine Dokumentation.

                              L Offline
                              L Offline
                              lisalisa
                              schrieb am zuletzt editiert von lisalisa
                              #511

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

                              In dem von Dir verlinkten Dokument und in Deiner letzten Mail sind Adressen in ganz anderem Format. in dem oben genannten Post hattest Du für BYD Register mit 100000er Adressen. Dafür bräuchte ich eine Dokumentation.

                              Einfach die 100000er Adressen ausrechnen
                              z.B. Adresse 102.829 - 40.000 = dezimal 62.829 = hexadezimal F56D (=Adresse plus 1)

                              3177b5c1-8156-4085-92b3-6d9d6c9fa64e-image.png

                              L 1 Antwort Letzte Antwort
                              0
                              • L lisalisa

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

                                In dem von Dir verlinkten Dokument und in Deiner letzten Mail sind Adressen in ganz anderem Format. in dem oben genannten Post hattest Du für BYD Register mit 100000er Adressen. Dafür bräuchte ich eine Dokumentation.

                                Einfach die 100000er Adressen ausrechnen
                                z.B. Adresse 102.829 - 40.000 = dezimal 62.829 = hexadezimal F56D (=Adresse plus 1)

                                3177b5c1-8156-4085-92b3-6d9d6c9fa64e-image.png

                                L Offline
                                L Offline
                                lisalisa
                                schrieb am zuletzt editiert von lisalisa
                                #512

                                Habe mal meine Adressen umgerechnet...

                                6b593c50-148d-45d1-95f1-aef4e068b654-image.png

                                W 1 Antwort Letzte Antwort
                                0
                                • L lisalisa

                                  Habe mal meine Adressen umgerechnet...

                                  6b593c50-148d-45d1-95f1-aef4e068b654-image.png

                                  W Offline
                                  W Offline
                                  wrod
                                  schrieb am zuletzt editiert von
                                  #513

                                  @lisalisa Danke! Das hilft weiter.
                                  Ich kann sie einrichten, aber einige (10072x) geben leider noch keine Werte. Vielleicht doch nicht für genau mein Modell geeignet (obwohl andere (1028xx) funktionieren).

                                  L 1 Antwort Letzte Antwort
                                  0
                                  • W wrod

                                    @lisalisa Danke! Das hilft weiter.
                                    Ich kann sie einrichten, aber einige (10072x) geben leider noch keine Werte. Vielleicht doch nicht für genau mein Modell geeignet (obwohl andere (1028xx) funktionieren).

                                    L Offline
                                    L Offline
                                    lisalisa
                                    schrieb am zuletzt editiert von lisalisa
                                    #514

                                    @wrod die ersten Adresse in der PDF E16C (F56C) funktioniert übrigens auch, die 2. ist nur gespiegelt
                                    Wenn was nicht funktioniert immer mal Adresse plus oder minus 1 ausprobieren.

                                    Mit "Radzio Modbus Master Simulator" kann man auch mal die Register zum Test auslesen (dazu dann aber IOBroker Modbus Zugriff deaktivieren)
                                    https://en.radzio.dxp.pl/modbus-master-simulator/

                                    pasted-from-clipboard.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • H hennerich

                                      Teil2 – Werte umrechnen und in Grafana anzeigen

                                      Jetzt haben wir also die Werte im ioBroker. Wie gehts nun damit weiter?

                                      Zuerst einmal muss jeder für sich selbst entscheiden, welche Werte für ihn von Interesse sind. Ich für meinen Teil verwende die folgenden Werte:
                                      Wechselrichter

                                      • 40084: AC-Leistungswert in W (aktuelle PV Produktion)
                                      • 40093: AC Gesamt-Energieproduktion in Wh (also alles, was eure Anlage bisher erzeugt hat)
                                      • 40103: Kühlkörpertemperatur vom Wechselrichter in °C (man weiß ja nie)

                                      Energiezähler

                                      • 40206: Total Real Power (aktueller Netzbezug bzw. Einspeisung)
                                      • 40226: Total Exported Real Energy (was ihr heute erzeugt habt)
                                      • 40234: Total Imported Real Energy (was ihr heute aus dem Netz bezogen habt)

                                      Aus den letzten beiden Werte kann man den Eigenverbrauch heute berechnen.

                                      Dann müssen wir verstehen, dass SolarEdge für viele Werte noch Skalierungsfaktoren mitliefert. Auch das ist etwas, dass nur in der englischen Doku auftaucht. Dort steht nämlich:


                                      As an alternative to floating point format, values are represented by Integer values with a signed scale factor applied. The scale factor explicitly shifts the decimal point to left (negative value) or to the right (positive value).

                                      For example, a value “Value” may have an associated value “Value_SF”
                                      Value = “Value” * 10^ Value_SF for example:

                                      • For “Value” = 2071 and “Value_SF” = -2 Value = 2071*10^-2 = 20.71
                                      • For “Value” = 2071 and “Value_SF” = 2 Value = 2071*10^2 = 2071

                                      Man muss die Werte die man möchte also erst noch umrechnen. Und sie müssen unmittelbar zusammen ausgelsesen werden, sonst passen sie nicht zusammen. Dazu geht mein Dank an inkoFa aus dem PV Forum, der mir mit seiner Lösung dazu sehr weitergeholfen hat.

                                      Für den Wert 40084: AC-Leistungswert legt ihr folgendes JS Script an:

                                      function convertValue(value, factor) {
                                         if (value === null) return;
                                         if (factor === null) factor = 0;
                                         setState('Solar.Wechselrichter.PVLeistungAktuell', value * Math.pow(10, factor), true);
                                      }  
                                       
                                      createState('Solar.Wechselrichter.PVLeistungAktuell', {
                                      	name: 'PVLeistungAktuell',
                                      	unit: 'W',
                                      	min:  0,
                                      	type: 'number',
                                      	role: 'value.energy'
                                      }, function () {
                                      	on('modbus.1.holdingRegisters.40083_I_AC_Leistung'/*AC-Leistungswert*/, function(obj) {
                                      		var timeout = setTimeout(function () {
                                      			clearTimeout(timeout);
                                      			var factorState = getState('modbus.1.holdingRegisters.40084_I_AC_Leistung_SF'/*AC-Leistung Skalierungsfaktor*/);
                                      			convertValue(obj.state.val, factorState ? factorState.val : 0);
                                      		}, 100); 
                                      	});
                                      	var factorState = getState('modbus.1.holdingRegisters.40084_I_AC_Leistung_SF'/*AC-Leistung Skalierungsfaktor*/);
                                      	var valueState = getState('modbus.1.holdingRegisters.40083_I_AC_Leistung'/*AC-Leistungswert*/);
                                      	convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
                                      });
                                      

                                      Für den Wert 40206: Total Real Power legt ihr folgendes JS Script 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: 'ACTotalRealPower',
                                      	unit: 'W',
                                      	min:  -999999,
                                      	type: 'number',
                                      	role: 'value.energy'
                                      }, function () {
                                      	on('modbus.1.holdingRegisters.40206_M_AC_Power'/*Total Real Power (sum of active phases)*/, function(obj) {
                                      		var timeout = setTimeout(function () {
                                      			clearTimeout(timeout);
                                      			var factorState = getState('modbus.1.holdingRegisters.40210_M_AC_Power_SF'/*AC Real Power Scale Factor*/);
                                      			convertValue(obj.state.val, factorState ? factorState.val : 0);
                                      		}, 100); 
                                      	});
                                      	var factorState = getState('modbus.1.holdingRegisters.40210_M_AC_Power_SF'/*AC Real Power Scale Factor*/);
                                      	var valueState = getState('modbus.1.holdingRegisters.40206_M_AC_Power'/*Total Real Power (sum of active phases)*/);
                                      	convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
                                      });
                                      

                                      Und für den Wert 40103: Kühlkörpertemperatur legt ihr folgendes JS Script an:

                                      function convertValue(value, factor) {
                                         if (value === null) return;
                                         if (factor === null) factor = 0;
                                         setState('Solar.Wechselrichter.TempWechselrichter', value * Math.pow(10, factor), true);
                                      }  
                                       
                                      createState('Solar.Wechselrichter.TempWechselrichter', {
                                      	name: 'TempWechselrichter',
                                      	unit: '°C',
                                      	min:  -999999,
                                      	type: 'number',
                                      	role: 'value.energy'
                                      }, function () {
                                      	on('modbus.1.holdingRegisters.40103_I_Temp_Kühler'/*Kühlkörpertemperatur*/, function(obj) {
                                      		var timeout = setTimeout(function () {
                                      			clearTimeout(timeout);
                                      			var factorState = getState('modbus.1.holdingRegisters.40106_I_Temp_SF'/*Kühlkörpertemperatur Skalierungsfaktor*/);
                                      			convertValue(obj.state.val, factorState ? factorState.val : 0);
                                      		}, 100); 
                                      	});
                                      	var factorState = getState('modbus.1.holdingRegisters.40106_I_Temp_SF'/*Kühlkörpertemperatur Skalierungsfaktor*/);
                                      	var valueState = getState('modbus.1.holdingRegisters.40103_I_Temp_Kühler'/*Kühlkörpertemperatur*/);
                                      	convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
                                      });
                                      

                                      Jetzt könnt ihr mit den Umrechnungen die entsprechenden Objekte befüllen. Ich hab also ein Blockly Script Hausverbrauch angelegt:
                                      518582a6-ed9e-4ee9-a2da-a2d184bda8f4-grafik.png
                                      Importiert gerne folgendes:

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <block type="on" id="YYeTFl5=+RUFGKp!fwS8" x="-937" y="63">
                                         <field name="OID">javascript.0.Solar.Wechselrichter.ACTotalRealPower</field>
                                         <field name="CONDITION">ne</field>
                                         <field name="ACK_CONDITION"></field>
                                         <statement name="STATEMENT">
                                           <block type="update" id="{8c)~K%7n5#35[IVg*CU">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Solar.Wechselrichter.Hausverbrauch</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_arithmetic" id="N5XZnoEUm{3Kzm-/]B@/">
                                                 <field name="OP">MINUS</field>
                                                 <value name="A">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="!{7/(]DX3lGP@Il`Y=E1">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="_;teC|IbrE2JD_fEN~js">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">javascript.0.Solar.Wechselrichter.PVLeistungAktuell</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="M:s(2P888iDd:XzoTo4p">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="|gkz@RnPUVcfP6F8mj]p">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">javascript.0.Solar.Wechselrichter.ACTotalRealPower</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </statement>
                                       </block>
                                      </xml>
                                      

                                      Und das schreibt ihr z.B. in die InfluxDB, um den Wert im Grafana anzuzeigen:
                                      21df3f32-6689-48ea-93e1-65740130c347-grafik.png

                                      Ich versuche mal nach und nach noch Sachen hier zu ergänzen. Und eure Meinung dazu interessiert mich natürlich auch brennend. Habt ihr andere Dinge umgesetzt? Leitet ihr Infos aus anderen Werten ab, die ich noch gar nicht auf dem Schirm habe? Wie sehen eure (PV) Dashboards aus, die ihr umgesetzt habt?

                                      C Offline
                                      C Offline
                                      cainam
                                      schrieb am zuletzt editiert von
                                      #515

                                      @hennerich said in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                                      Man muss die Werte die man möchte also erst noch umrechnen. Und sie müssen unmittelbar zusammen ausgelsesen werden, sonst passen sie nicht zusammen. Dazu geht mein Dank an inkoFa aus dem PV Forum, der mir mit seiner Lösung dazu sehr weitergeholfen hat.

                                      Hallo zusammen

                                      Kann mir hier jemand helfen

                                      Bei mir sind die ScaleFactoren riiiisig. Dh mit value * 10 ^ SF. ist das nicht lösbar

                                      zB
                                      modbus.0.holdingRegisters.40083_I_AC_Leistung ist 64535
                                      modbus.0.holdingRegisters.40084_I_AC_Leistung_SF ist zwischen 0 und ca 8000

                                      auch ist mir aufgefallen, dass bei mir eigentlich nur die SF sich ändern...

                                      L 1 Antwort Letzte Antwort
                                      0
                                      • C cainam

                                        @hennerich said in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                                        Man muss die Werte die man möchte also erst noch umrechnen. Und sie müssen unmittelbar zusammen ausgelsesen werden, sonst passen sie nicht zusammen. Dazu geht mein Dank an inkoFa aus dem PV Forum, der mir mit seiner Lösung dazu sehr weitergeholfen hat.

                                        Hallo zusammen

                                        Kann mir hier jemand helfen

                                        Bei mir sind die ScaleFactoren riiiisig. Dh mit value * 10 ^ SF. ist das nicht lösbar

                                        zB
                                        modbus.0.holdingRegisters.40083_I_AC_Leistung ist 64535
                                        modbus.0.holdingRegisters.40084_I_AC_Leistung_SF ist zwischen 0 und ca 8000

                                        auch ist mir aufgefallen, dass bei mir eigentlich nur die SF sich ändern...

                                        L Offline
                                        L Offline
                                        lisalisa
                                        schrieb am zuletzt editiert von
                                        #516

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

                                        modbus.0.holdingRegisters.40083_I_AC_Leistung ist 64535
                                        modbus.0.holdingRegisters.40084_I_AC_Leistung_SF ist zwischen 0 und ca 8000

                                        einfach mal Adresse Plus 1 testen (wurde hier auch schon paarmal geschrieben...)
                                        modbus.0.holdingRegisters.40084_I_AC_Leistung
                                        modbus.0.holdingRegisters.40085_I_AC_Leistung_SF

                                        C 1 Antwort Letzte Antwort
                                        0
                                        • L lisalisa

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

                                          modbus.0.holdingRegisters.40083_I_AC_Leistung ist 64535
                                          modbus.0.holdingRegisters.40084_I_AC_Leistung_SF ist zwischen 0 und ca 8000

                                          einfach mal Adresse Plus 1 testen (wurde hier auch schon paarmal geschrieben...)
                                          modbus.0.holdingRegisters.40084_I_AC_Leistung
                                          modbus.0.holdingRegisters.40085_I_AC_Leistung_SF

                                          C Offline
                                          C Offline
                                          cainam
                                          schrieb am zuletzt editiert von
                                          #517

                                          @lisalisa

                                          Top Danke, das wars

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          875

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe