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.3k

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

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

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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
solaredgemodbusgrafana
606 Beiträge 91 Kommentatoren 207.6k 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.
  • S Strobi

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

    Ich habe 2 WR von SE. Einen "Slave" und einen "Master". Also einen 3 Phasen WR (SE7K) und einen SE10K RWS (Hybrid). An dem Hybrid WR hängt ein BYD Akku.

    Hey, ich habe ein ähnliches System - SE9K WR (3-phasig) und SE5000H WR (1-phasig) mit LG-Speicher. Der SE5000H ist der Master, der SE9K ist Slave.

    Wie komme ich jetzt auf den richtigen Hausverbrauch. In meiner Naivität (lassen wir mach Wandlungsverluste außen vor. damit ich muss ich wahrscheinlich einfach leben)dachte ich mir folgendes, was aber nicht richtig zu sein scheint.
    Ich rechnen einfach die Leistung (AC) des SE7K (1.380 W) + Leistung (AC) des SE10K (0 Watt) + die Leistung des SE10K, die in den Akku geht, müsste eigentlich DC sein (3.500 Watt) zusammen.

    Bis hier hin mache ich das selbe - das ist bei mir der PV-Ertrag - also das, was die Sonne aktuell liefert (in Deinen Worten - die PV Leistung)

    (ziehe Netzbezug ab und rechne Export drauf) und habe dann meine PV Leistung. In dem Fall also 4.880 Watt Erzeugung. Davon ziehe ich dann die Ladeleistung (AKKU) ab und haben den Hausverbrauch, wenn über das Netz nichts läuft.

    Hier ist Dein Fehler. Von dem oben genannten PV-Ertrag ziehst Du nun die Werte des Energiezählers ab (Einspeisung ist positiv, Bezug ist negativ), um Deinen Stromverbrauch im Haus zu ermitteln.

    Zahlenbeispiel:
    WR1 liefert 2500W
    WR2 liefert 0W, läd aber mit 2000W den Speicher
    Wenn Du jetzt 0W Hausverbrauch hättest, würdest Du am Energiezähler 2500W Einspeisung sehen.
    Hast Du 500W Hausverbrauch, siehst Du von den 2500W des WR1 nur 2000W am Energiezähler - der Rest geht im Haus drauf - das ist dann Dein Hausverbrauch.

    Ich hoffe, ich habe er verständlich erklärt.

    Viele Grüße,
    Strobi

    J Offline
    J Offline
    Juri88
    schrieb am zuletzt editiert von Juri88
    #231

    @strobi danke für deine Nachricht. Ich stehe wohl auf dem Schlauch, denn ich kann meinen Fehler nicht erkennen.

    In meine o.g. Beispiel habe ich folgende Wert:

    WR1 (Hybrid) = 0 Watt AC aber 3.500 Watt DC --> Ladung Akku
    WR 2 (Slave) = 1.380 Watt
    Netz (du nennst es Energiezähler) = 0 Watt

    Ich habe jetzt eigentlich deine Rechnung auf gemacht.

    Leistung WR1 + Leistung WR 2 = 4.880 Watt

    Das wäre also die Gesamtleistung der PV Anlage. Um jetzt meinen Hausverbrauch zu errechnen, den bekommt ja nicht als Wert, nehme ich jetzt folgende Formal.

    Leistung PV Anlage (4.880 Watt) -Ladeleistung Akku (3.500 Watt) (beim Entladen "+") = 1.380 Watt

    Von diesem Wert ziehe ich nun die Netzeinspeisung ab oder addiere einen Netzbezug hinzu. In dem o.g. Fall 0 Watt. Somit habe ich nach 1.380 Watt Verbrauch, 3.500 Watt gehen in den Akku und 4.880 Watt werden Solar erzeugt.

    Nur leider stimmen die Werte nicht. In Wahrheit liegt der Erzeugung bei nur ca. 4.120 Watt und der Verbrauch bei ca. 620 Watt.

    Und das verstehe ich nicht. Wenn du jetzt noch einen Fehler siehst, sag es mir bitte. :)

    G 1 Antwort Letzte Antwort
    0
    • J Juri88

      @strobi danke für deine Nachricht. Ich stehe wohl auf dem Schlauch, denn ich kann meinen Fehler nicht erkennen.

      In meine o.g. Beispiel habe ich folgende Wert:

      WR1 (Hybrid) = 0 Watt AC aber 3.500 Watt DC --> Ladung Akku
      WR 2 (Slave) = 1.380 Watt
      Netz (du nennst es Energiezähler) = 0 Watt

      Ich habe jetzt eigentlich deine Rechnung auf gemacht.

      Leistung WR1 + Leistung WR 2 = 4.880 Watt

      Das wäre also die Gesamtleistung der PV Anlage. Um jetzt meinen Hausverbrauch zu errechnen, den bekommt ja nicht als Wert, nehme ich jetzt folgende Formal.

      Leistung PV Anlage (4.880 Watt) -Ladeleistung Akku (3.500 Watt) (beim Entladen "+") = 1.380 Watt

      Von diesem Wert ziehe ich nun die Netzeinspeisung ab oder addiere einen Netzbezug hinzu. In dem o.g. Fall 0 Watt. Somit habe ich nach 1.380 Watt Verbrauch, 3.500 Watt gehen in den Akku und 4.880 Watt werden Solar erzeugt.

      Nur leider stimmen die Werte nicht. In Wahrheit liegt der Erzeugung bei nur ca. 4.120 Watt und der Verbrauch bei ca. 620 Watt.

      Und das verstehe ich nicht. Wenn du jetzt noch einen Fehler siehst, sag es mir bitte. :)

      G Offline
      G Offline
      grave digger
      schrieb am zuletzt editiert von
      #232

      @juri88 Du kannst doch die Daten vom Akku auslesen, bei mir geht der Wechselrichter, an dem der Akku angeklemmt ist in - Leistung.

      J 1 Antwort Letzte Antwort
      0
      • G grave digger

        @juri88 Du kannst doch die Daten vom Akku auslesen, bei mir geht der Wechselrichter, an dem der Akku angeklemmt ist in - Leistung.

        J Offline
        J Offline
        Juri88
        schrieb am zuletzt editiert von Juri88
        #233

        @grave-digger Ja, die Leistung des Akku habe ich. Habe ich ich ja auch berücksichtigt. —> Momentane Batterieleistung

        G 1 Antwort Letzte Antwort
        0
        • J Juri88

          @grave-digger Ja, die Leistung des Akku habe ich. Habe ich ich ja auch berücksichtigt. —> Momentane Batterieleistung

          G Offline
          G Offline
          grave digger
          schrieb am zuletzt editiert von grave digger
          #234

          @juri88 ich habe einen WR SE5000H an einem String und der Akku (LG Resus H10) (Master) der zweite ist ein WR SE4000H (Slave) am zweiten String. Wenn der Akku geladen wird, arbeitet der SE5000 im Minus Bereich, um die maximale Ladeleistung von 5000 W zu schaffen. Ich rechne mir die gesamt AC- Leistung aus abzüglich der Einspeisung und addiere den Bezug, ergibt verbrauch Haus. Läuft bei mir seit Anfang 2020 ohne Probleme. Wenn wieder mal die Sonne scheinen sollte, mache ich dir mal einen Screenshot von meiner Vis

          J 1 Antwort Letzte Antwort
          0
          • G grave digger

            @juri88 ich habe einen WR SE5000H an einem String und der Akku (LG Resus H10) (Master) der zweite ist ein WR SE4000H (Slave) am zweiten String. Wenn der Akku geladen wird, arbeitet der SE5000 im Minus Bereich, um die maximale Ladeleistung von 5000 W zu schaffen. Ich rechne mir die gesamt AC- Leistung aus abzüglich der Einspeisung und addiere den Bezug, ergibt verbrauch Haus. Läuft bei mir seit Anfang 2020 ohne Probleme. Wenn wieder mal die Sonne scheinen sollte, mache ich dir mal einen Screenshot von meiner Vis

            J Offline
            J Offline
            Juri88
            schrieb am zuletzt editiert von
            #235

            @grave-digger Ich habe es mal in einer Grafik zusammen gefasst

            SEAuswertung.png

            Das sind die Werte, die ich gerade aus dem IOB bekomme.

            Hier die Abweichungen:

            Netz: IOB ca(0W) SE ca(0W)
            PV Erzeugung: IOB(2.11 KW + 4.49 KW = 6,6 KW) SE-Plattform (5,6 KW)
            Hausverbrauch: IOB rechnerisch (2,11KW, PV-Erzeugung abzgl. Akku) SE-Plattform (1 KW)

            Ich habe also 1 KW Differenz. Die habe ich bei der Erzeugung mehr und damit rechnerisch beim Hausverbrauch auch. Also muss der Fehler bei den Werten sein, die ich aus dem IOB ziehe. Ich habe das Problem nur, wenn der Akku lädt. Bei mir zeigt der Hybrid WR keinen negativ Werte an, wie bei dir. Die AC-Leistung geht lediglich auf 0 zurück. Das Problem ist, dass ich keinen Werte dafür habe, was der Hybrid WR von seinem DC in den AKKU schiebt und was er in AC umwandelt. Das selbe in grün beim Slave. Aber ihr habt das scheinbar gelöst. Heute ist es bei uns ganz gut sonnig (Taunus), vielleicht kannst du mal ein paar Screenshots senden. Bin für jede Hilfe mehr als dankbar.

            G J 2 Antworten Letzte Antwort
            0
            • J Juri88

              @grave-digger Ich habe es mal in einer Grafik zusammen gefasst

              SEAuswertung.png

              Das sind die Werte, die ich gerade aus dem IOB bekomme.

              Hier die Abweichungen:

              Netz: IOB ca(0W) SE ca(0W)
              PV Erzeugung: IOB(2.11 KW + 4.49 KW = 6,6 KW) SE-Plattform (5,6 KW)
              Hausverbrauch: IOB rechnerisch (2,11KW, PV-Erzeugung abzgl. Akku) SE-Plattform (1 KW)

              Ich habe also 1 KW Differenz. Die habe ich bei der Erzeugung mehr und damit rechnerisch beim Hausverbrauch auch. Also muss der Fehler bei den Werten sein, die ich aus dem IOB ziehe. Ich habe das Problem nur, wenn der Akku lädt. Bei mir zeigt der Hybrid WR keinen negativ Werte an, wie bei dir. Die AC-Leistung geht lediglich auf 0 zurück. Das Problem ist, dass ich keinen Werte dafür habe, was der Hybrid WR von seinem DC in den AKKU schiebt und was er in AC umwandelt. Das selbe in grün beim Slave. Aber ihr habt das scheinbar gelöst. Heute ist es bei uns ganz gut sonnig (Taunus), vielleicht kannst du mal ein paar Screenshots senden. Bin für jede Hilfe mehr als dankbar.

              G Offline
              G Offline
              grave digger
              schrieb am zuletzt editiert von
              #236

              @juri88 Hallo Juri, hier der versprochene Screenshot
              Vis01.JPG

              1 ist bei mir der SE5000 (Master) wie zu sehen geht der in den - Bereich
              2 ist der SE4000 (Slave)

              Das mit dem - kann ich mir zurzeit nur so erklären. Ich habe einen Hochvolt Akku 400 V DC dieser hängt am SE5000 damit der Akku mit voller Leistung geladen wird nimmt der SE5000 230 V AC und wandelt diesen in 400 V DC das ist das Minus. Du hast bestimmt einen anderen Akku.
              Zeichne bitte mal die DC Werte beider WR's auf. Normalerweise müssten diese immer im + Bereich sein.
              Da könnte man vom DC die Ladeleistung Akku und die Einspeisung abziehen, das müsste eigentlich den Verbrauch Haus ergeben.
              Ich habe damals die AC, DC und Akkuwerte in einer Datenbank geloggt, um nachzuvollziehen wie ich rechnen muss.

              1 Antwort Letzte Antwort
              0
              • Z Offline
                Z Offline
                zimbombo
                schrieb am zuletzt editiert von zimbombo
                #237

                Ich hab mich mal versucht die Solaredge visualisierung aus der App in Grafana nachzubauen - vielleicht gehts hier ein paar Leuten ähnlich.

                plotly.png

                Ich habe dazu das plotly panel plugin verwendet (Achtung da gibts 3 verschiedene - nur eins funktioniert wirklich (https://grafana.com/grafana/plugins/nline-plotlyjs-panel/).

                Die Werte basieren auf der gesamten Vorarbeit von @hennerich - ich habe nur den Gesamtverbrauch noch im iobroker per Skript berechnet.

                Json anbei:

                {
                  "id": 34,
                  "gridPos": {
                    "x": 12,
                    "y": 3,
                    "w": 7,
                    "h": 8
                  },
                  "type": "nline-plotlyjs-panel",
                  "title": "PV Tagesübersicht",
                  "datasource": {
                    "type": "influxdb",
                    "uid": "hYAYl-zRz"
                  },
                  "options": {
                    "data": [
                      {
                        "hoverinfo": "y",
                        "type": "bar"
                      },
                      {
                        "hoverinfo": "y",
                        "type": "bar"
                      },
                      {
                        "hoverinfo": "y",
                        "type": "bar"
                      },
                      {
                        "hoverinfo": "y",
                        "type": "bar"
                      }
                    ],
                    "layout": "",
                    "config": "",
                    "script": "//let aArray = data.series[0].fields[0].values.buffer; //Timestamp von Wert 1\nlet arrayeig = data.series[0].fields[1].values.buffer; //Wert 1 zb Eigenverbrauch\n//let xArray = data.series[1].fields[0].values.buffer; //Timestamp von Wert 2\nlet arrayexp = data.series[1].fields[1].values.buffer; //Wert 2 zb Export\n\nlet arrayerz = data.series[2].fields[1].values.buffer;\n\nlet arrayimp = data.series[3].fields[1].values.buffer;\nlet arrayges = data.series[4].fields[1].values.buffer;\n\n//Letzten Wert in Datenbank herausfinden (Höchster Wert des Tages)\nlet werteig=arrayeig[arrayeig.length-1]\nwerteig = werteig.toFixed(2); //Runden auf 2 Nachkommastellen\nlet wertexp=arrayexp[arrayexp.length-1]\nwertexp = wertexp.toFixed(2); //Runden auf 2 Nachkommastellen\nlet werterz=arrayerz[arrayerz.length-1]\nwerterz = werterz.toFixed(2); //Runden auf 2 Nachkommastellen\nlet wertimp=arrayimp[arrayimp.length-1]\nwertimp = wertimp.toFixed(2); //Runden auf 2 Nachkommastellen\nlet wertges=arrayges[arrayges.length-1]\nwertges = wertges.toFixed(2); //Runden auf 2 Nachkommastellen\n\n//prozente ausrechnen und auf 2 stellen runden\nlet perceig = ((werteig/werterz)*100).toFixed(1)\nlet percexp = ((wertexp/werterz)*100).toFixed(1)\nlet percprod = ((werteig/wertges)*100).toFixed(1)\nlet percimp = ((wertimp/wertges)*100).toFixed(1)\n\n/* (debug - test)\nconsole.log(lastaItem) \nconsole.log(lastbItem)\nconsole.log(lastxItem)\nconsole.log(lastyItem)\n*/\n\n//let valueerzeugung = [werteig, wertexp, werteig ,wertimp] // Letzte Werte aus array in daten für grafik übergeben \n//let beschreibung = ['Eigenverbrauch', 'Export', \"Eigenverbrauch\", \"Import\"]\n//var ultimateColors = [ 'rgb(5, 131, 70)','rgb(32, 100, 65)','rgb(31, 96, 196)', 'rgb(242, 73, 92)']; //Farben für Eigenverbrauch/Export\n\n\nvar data = [\n/*\n  {\n    y: valueerzeugung,\n    x: [1,1,2,2],\n    //name: \"Eigenverbrauch\",\n    type:'bar',\n    textposition: 'auto',\n    //hoverinfo: 'label+percent+value',\n    //textinfo: 'percent+value',\n    marker: {\n    color: ultimateColors\n  },\n*/ \n  {\n    y: [werteig],\n    x: [1],\n    name: \"Eigenverbrauch\",\n    text: \"Eigenverbrauch \" + werteig +\" kWh \" + perceig + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(5, 131, 70)',\n    hoverinfo: wertimp,\n    showlegend: false\n    }\n  },\n  {\n    y: [wertexp],\n    x: [1],\n    name: \"Export\",\n    text: \"Export \" + wertexp +\" kWh \" + percexp + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(32, 100, 65)',\n    hoverinfo: wertimp,\n    showlegend: false\n    },\n  },\n  {\n    y: [werteig],\n    x: [2],\n    name: \"PV Produktion\",\n    text: \"PV \"+ werteig +\" kWh \" + percprod + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(31, 96, 196)',\n    hoverinfo: wertimp,\n    showlegend: false\n    },\n  },\n  {\n    y: [wertimp],\n    x: [2],\n    name: \"Import\",\n    text: \"Import \" + wertimp +\" kWh \" + percimp + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(242, 73, 92)',\n    hoverinfo: wertimp,\n    showlegend: false\n    },\n  }\n];\n  \nvar layout = {\n  barmode:'stack',\n\n  margin: {\"t\": 0, \"b\": 0, \"l\": 0, \"r\": 0},\n\n  showlegend: false,\n  //legend: {\"orientation\": \"h\"},\n\n  annotations: [\n    {\n      font: {\n        //size: 15,\n        color: '#ffffff'\n      },\n      x: 1,\n      y: -0.5,\n      xref: 'x',\n      yref: 'y',\n      text: \"Produktion \" + werterz + \" kWh\",\n      showarrow: false,\n      //arrowhead: 7,\n      //ax: 0,\n      //ay: -40\n    },\n    {\n      font: {\n        //size: 15,\n        color: '#ffffff'\n      },\n      x: 2,\n      y: -0.5,\n      xref: 'x',\n      yref: 'y',\n      text: \"Verbrauch \" + wertges + \" kWh\",\n      showarrow: false,\n      //arrowhead: 7,\n      //ax: 0,\n      //ay: -40\n    }\n\n    ],\n   xaxis: {\n\n    showgrid: false,\n    zeroline: false,\n    showline: false,\n    showticklabels: false,\n    //mirror: 'ticks',\n    //gridcolor: '#bdbdbd',\n    //gridwidth: 2,\n    //zerolinecolor: '#969696',\n    //zerolinewidth: 4,\n    //linecolor: '#636363',\n    //linewidth: 6\n\n  },\n\n  yaxis: {\n\n    showgrid: false,\n    zeroline: true,\n    showline: false,\n    showticklabels: false,\n    //mirror: 'ticks',\n    //gridcolor: '#bdbdbd',\n    //gridwidth: 2,\n    zerolinecolor: '#ffffff',\n    //zerolinewidth: 4,\n    //linecolor: '#636363',\n    //linewidth: 6\n  }\n\n};\n\nvar config = {responsive: true};\n\nreturn {data, layout};",
                    "onclick": "// console.log(data);\n// window.updateVariables({query:{'var-project':'test'}, partial: true})"
                  },
                  "targets": [
                    {
                      "alias": "Eigenverbrauch",
                      "datasource": {
                        "type": "influxdb",
                        "uid": "hYAYl-zRz"
                      },
                      "groupBy": [
                        {
                          "params": [
                            "10m"
                          ],
                          "type": "time"
                        },
                        {
                          "params": [
                            "previous"
                          ],
                          "type": "fill"
                        }
                      ],
                      "measurement": "0_userdata.0.Solar_vars.PV_Eigenverbrauch",
                      "orderByTime": "ASC",
                      "policy": "default",
                      "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                      "rawQuery": false,
                      "refId": "A",
                      "resultFormat": "time_series",
                      "select": [
                        [
                          {
                            "params": [
                              "value"
                            ],
                            "type": "field"
                          },
                          {
                            "params": [],
                            "type": "mean"
                          }
                        ]
                      ],
                      "tags": []
                    },
                    {
                      "alias": "Export",
                      "datasource": {
                        "type": "influxdb",
                        "uid": "hYAYl-zRz"
                      },
                      "groupBy": [
                        {
                          "params": [
                            "10m"
                          ],
                          "type": "time"
                        },
                        {
                          "params": [
                            "previous"
                          ],
                          "type": "fill"
                        }
                      ],
                      "hide": false,
                      "measurement": "0_userdata.0.Solar_vars.PV_Exportiere_Energie",
                      "orderByTime": "ASC",
                      "policy": "default",
                      "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                      "rawQuery": false,
                      "refId": "B",
                      "resultFormat": "time_series",
                      "select": [
                        [
                          {
                            "params": [
                              "value"
                            ],
                            "type": "field"
                          },
                          {
                            "params": [],
                            "type": "mean"
                          }
                        ]
                      ],
                      "tags": []
                    },
                    {
                      "alias": "Erzeugung",
                      "datasource": {
                        "type": "influxdb",
                        "uid": "hYAYl-zRz"
                      },
                      "groupBy": [
                        {
                          "params": [
                            "10m"
                          ],
                          "type": "time"
                        },
                        {
                          "params": [
                            "previous"
                          ],
                          "type": "fill"
                        }
                      ],
                      "hide": false,
                      "measurement": "0_userdata.0.Solar_vars.PV_Erzeugte_Energie",
                      "orderByTime": "ASC",
                      "policy": "default",
                      "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                      "rawQuery": false,
                      "refId": "C",
                      "resultFormat": "time_series",
                      "select": [
                        [
                          {
                            "params": [
                              "value"
                            ],
                            "type": "field"
                          },
                          {
                            "params": [],
                            "type": "mean"
                          }
                        ]
                      ],
                      "tags": []
                    },
                    {
                      "alias": "Import",
                      "datasource": {
                        "type": "influxdb",
                        "uid": "hYAYl-zRz"
                      },
                      "groupBy": [
                        {
                          "params": [
                            "10m"
                          ],
                          "type": "time"
                        },
                        {
                          "params": [
                            "previous"
                          ],
                          "type": "fill"
                        }
                      ],
                      "hide": false,
                      "measurement": "0_userdata.0.Solar_vars.PV_Importierte_Energie",
                      "orderByTime": "ASC",
                      "policy": "default",
                      "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                      "rawQuery": false,
                      "refId": "D",
                      "resultFormat": "time_series",
                      "select": [
                        [
                          {
                            "params": [
                              "value"
                            ],
                            "type": "field"
                          },
                          {
                            "params": [],
                            "type": "mean"
                          }
                        ]
                      ],
                      "tags": []
                    },
                    {
                      "alias": "Gesamt",
                      "datasource": {
                        "type": "influxdb",
                        "uid": "hYAYl-zRz"
                      },
                      "groupBy": [
                        {
                          "params": [
                            "10m"
                          ],
                          "type": "time"
                        },
                        {
                          "params": [
                            "previous"
                          ],
                          "type": "fill"
                        }
                      ],
                      "hide": false,
                      "measurement": "0_userdata.0.Solar_vars.PV_Gesamtverbrauch",
                      "orderByTime": "ASC",
                      "policy": "default",
                      "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                      "rawQuery": false,
                      "refId": "E",
                      "resultFormat": "time_series",
                      "select": [
                        [
                          {
                            "params": [
                              "value"
                            ],
                            "type": "field"
                          },
                          {
                            "params": [],
                            "type": "mean"
                          }
                        ]
                      ],
                      "tags": []
                    }
                  ]
                }
                

                Falls hier jemand ist der js wirklich kann - ich bräuchte da Hilfe um den Fehler abzufangen wenn einer der Werte noch 0 ist.

                M 1 Antwort Letzte Antwort
                0
                • Z zimbombo

                  Ich hab mich mal versucht die Solaredge visualisierung aus der App in Grafana nachzubauen - vielleicht gehts hier ein paar Leuten ähnlich.

                  plotly.png

                  Ich habe dazu das plotly panel plugin verwendet (Achtung da gibts 3 verschiedene - nur eins funktioniert wirklich (https://grafana.com/grafana/plugins/nline-plotlyjs-panel/).

                  Die Werte basieren auf der gesamten Vorarbeit von @hennerich - ich habe nur den Gesamtverbrauch noch im iobroker per Skript berechnet.

                  Json anbei:

                  {
                    "id": 34,
                    "gridPos": {
                      "x": 12,
                      "y": 3,
                      "w": 7,
                      "h": 8
                    },
                    "type": "nline-plotlyjs-panel",
                    "title": "PV Tagesübersicht",
                    "datasource": {
                      "type": "influxdb",
                      "uid": "hYAYl-zRz"
                    },
                    "options": {
                      "data": [
                        {
                          "hoverinfo": "y",
                          "type": "bar"
                        },
                        {
                          "hoverinfo": "y",
                          "type": "bar"
                        },
                        {
                          "hoverinfo": "y",
                          "type": "bar"
                        },
                        {
                          "hoverinfo": "y",
                          "type": "bar"
                        }
                      ],
                      "layout": "",
                      "config": "",
                      "script": "//let aArray = data.series[0].fields[0].values.buffer; //Timestamp von Wert 1\nlet arrayeig = data.series[0].fields[1].values.buffer; //Wert 1 zb Eigenverbrauch\n//let xArray = data.series[1].fields[0].values.buffer; //Timestamp von Wert 2\nlet arrayexp = data.series[1].fields[1].values.buffer; //Wert 2 zb Export\n\nlet arrayerz = data.series[2].fields[1].values.buffer;\n\nlet arrayimp = data.series[3].fields[1].values.buffer;\nlet arrayges = data.series[4].fields[1].values.buffer;\n\n//Letzten Wert in Datenbank herausfinden (Höchster Wert des Tages)\nlet werteig=arrayeig[arrayeig.length-1]\nwerteig = werteig.toFixed(2); //Runden auf 2 Nachkommastellen\nlet wertexp=arrayexp[arrayexp.length-1]\nwertexp = wertexp.toFixed(2); //Runden auf 2 Nachkommastellen\nlet werterz=arrayerz[arrayerz.length-1]\nwerterz = werterz.toFixed(2); //Runden auf 2 Nachkommastellen\nlet wertimp=arrayimp[arrayimp.length-1]\nwertimp = wertimp.toFixed(2); //Runden auf 2 Nachkommastellen\nlet wertges=arrayges[arrayges.length-1]\nwertges = wertges.toFixed(2); //Runden auf 2 Nachkommastellen\n\n//prozente ausrechnen und auf 2 stellen runden\nlet perceig = ((werteig/werterz)*100).toFixed(1)\nlet percexp = ((wertexp/werterz)*100).toFixed(1)\nlet percprod = ((werteig/wertges)*100).toFixed(1)\nlet percimp = ((wertimp/wertges)*100).toFixed(1)\n\n/* (debug - test)\nconsole.log(lastaItem) \nconsole.log(lastbItem)\nconsole.log(lastxItem)\nconsole.log(lastyItem)\n*/\n\n//let valueerzeugung = [werteig, wertexp, werteig ,wertimp] // Letzte Werte aus array in daten für grafik übergeben \n//let beschreibung = ['Eigenverbrauch', 'Export', \"Eigenverbrauch\", \"Import\"]\n//var ultimateColors = [ 'rgb(5, 131, 70)','rgb(32, 100, 65)','rgb(31, 96, 196)', 'rgb(242, 73, 92)']; //Farben für Eigenverbrauch/Export\n\n\nvar data = [\n/*\n  {\n    y: valueerzeugung,\n    x: [1,1,2,2],\n    //name: \"Eigenverbrauch\",\n    type:'bar',\n    textposition: 'auto',\n    //hoverinfo: 'label+percent+value',\n    //textinfo: 'percent+value',\n    marker: {\n    color: ultimateColors\n  },\n*/ \n  {\n    y: [werteig],\n    x: [1],\n    name: \"Eigenverbrauch\",\n    text: \"Eigenverbrauch \" + werteig +\" kWh \" + perceig + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(5, 131, 70)',\n    hoverinfo: wertimp,\n    showlegend: false\n    }\n  },\n  {\n    y: [wertexp],\n    x: [1],\n    name: \"Export\",\n    text: \"Export \" + wertexp +\" kWh \" + percexp + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(32, 100, 65)',\n    hoverinfo: wertimp,\n    showlegend: false\n    },\n  },\n  {\n    y: [werteig],\n    x: [2],\n    name: \"PV Produktion\",\n    text: \"PV \"+ werteig +\" kWh \" + percprod + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(31, 96, 196)',\n    hoverinfo: wertimp,\n    showlegend: false\n    },\n  },\n  {\n    y: [wertimp],\n    x: [2],\n    name: \"Import\",\n    text: \"Import \" + wertimp +\" kWh \" + percimp + \"%\",\n    type:'bar',\n    textposition: 'auto',\n    marker: {\n    color: 'rgb(242, 73, 92)',\n    hoverinfo: wertimp,\n    showlegend: false\n    },\n  }\n];\n  \nvar layout = {\n  barmode:'stack',\n\n  margin: {\"t\": 0, \"b\": 0, \"l\": 0, \"r\": 0},\n\n  showlegend: false,\n  //legend: {\"orientation\": \"h\"},\n\n  annotations: [\n    {\n      font: {\n        //size: 15,\n        color: '#ffffff'\n      },\n      x: 1,\n      y: -0.5,\n      xref: 'x',\n      yref: 'y',\n      text: \"Produktion \" + werterz + \" kWh\",\n      showarrow: false,\n      //arrowhead: 7,\n      //ax: 0,\n      //ay: -40\n    },\n    {\n      font: {\n        //size: 15,\n        color: '#ffffff'\n      },\n      x: 2,\n      y: -0.5,\n      xref: 'x',\n      yref: 'y',\n      text: \"Verbrauch \" + wertges + \" kWh\",\n      showarrow: false,\n      //arrowhead: 7,\n      //ax: 0,\n      //ay: -40\n    }\n\n    ],\n   xaxis: {\n\n    showgrid: false,\n    zeroline: false,\n    showline: false,\n    showticklabels: false,\n    //mirror: 'ticks',\n    //gridcolor: '#bdbdbd',\n    //gridwidth: 2,\n    //zerolinecolor: '#969696',\n    //zerolinewidth: 4,\n    //linecolor: '#636363',\n    //linewidth: 6\n\n  },\n\n  yaxis: {\n\n    showgrid: false,\n    zeroline: true,\n    showline: false,\n    showticklabels: false,\n    //mirror: 'ticks',\n    //gridcolor: '#bdbdbd',\n    //gridwidth: 2,\n    zerolinecolor: '#ffffff',\n    //zerolinewidth: 4,\n    //linecolor: '#636363',\n    //linewidth: 6\n  }\n\n};\n\nvar config = {responsive: true};\n\nreturn {data, layout};",
                      "onclick": "// console.log(data);\n// window.updateVariables({query:{'var-project':'test'}, partial: true})"
                    },
                    "targets": [
                      {
                        "alias": "Eigenverbrauch",
                        "datasource": {
                          "type": "influxdb",
                          "uid": "hYAYl-zRz"
                        },
                        "groupBy": [
                          {
                            "params": [
                              "10m"
                            ],
                            "type": "time"
                          },
                          {
                            "params": [
                              "previous"
                            ],
                            "type": "fill"
                          }
                        ],
                        "measurement": "0_userdata.0.Solar_vars.PV_Eigenverbrauch",
                        "orderByTime": "ASC",
                        "policy": "default",
                        "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                        "rawQuery": false,
                        "refId": "A",
                        "resultFormat": "time_series",
                        "select": [
                          [
                            {
                              "params": [
                                "value"
                              ],
                              "type": "field"
                            },
                            {
                              "params": [],
                              "type": "mean"
                            }
                          ]
                        ],
                        "tags": []
                      },
                      {
                        "alias": "Export",
                        "datasource": {
                          "type": "influxdb",
                          "uid": "hYAYl-zRz"
                        },
                        "groupBy": [
                          {
                            "params": [
                              "10m"
                            ],
                            "type": "time"
                          },
                          {
                            "params": [
                              "previous"
                            ],
                            "type": "fill"
                          }
                        ],
                        "hide": false,
                        "measurement": "0_userdata.0.Solar_vars.PV_Exportiere_Energie",
                        "orderByTime": "ASC",
                        "policy": "default",
                        "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                        "rawQuery": false,
                        "refId": "B",
                        "resultFormat": "time_series",
                        "select": [
                          [
                            {
                              "params": [
                                "value"
                              ],
                              "type": "field"
                            },
                            {
                              "params": [],
                              "type": "mean"
                            }
                          ]
                        ],
                        "tags": []
                      },
                      {
                        "alias": "Erzeugung",
                        "datasource": {
                          "type": "influxdb",
                          "uid": "hYAYl-zRz"
                        },
                        "groupBy": [
                          {
                            "params": [
                              "10m"
                            ],
                            "type": "time"
                          },
                          {
                            "params": [
                              "previous"
                            ],
                            "type": "fill"
                          }
                        ],
                        "hide": false,
                        "measurement": "0_userdata.0.Solar_vars.PV_Erzeugte_Energie",
                        "orderByTime": "ASC",
                        "policy": "default",
                        "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                        "rawQuery": false,
                        "refId": "C",
                        "resultFormat": "time_series",
                        "select": [
                          [
                            {
                              "params": [
                                "value"
                              ],
                              "type": "field"
                            },
                            {
                              "params": [],
                              "type": "mean"
                            }
                          ]
                        ],
                        "tags": []
                      },
                      {
                        "alias": "Import",
                        "datasource": {
                          "type": "influxdb",
                          "uid": "hYAYl-zRz"
                        },
                        "groupBy": [
                          {
                            "params": [
                              "10m"
                            ],
                            "type": "time"
                          },
                          {
                            "params": [
                              "previous"
                            ],
                            "type": "fill"
                          }
                        ],
                        "hide": false,
                        "measurement": "0_userdata.0.Solar_vars.PV_Importierte_Energie",
                        "orderByTime": "ASC",
                        "policy": "default",
                        "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                        "rawQuery": false,
                        "refId": "D",
                        "resultFormat": "time_series",
                        "select": [
                          [
                            {
                              "params": [
                                "value"
                              ],
                              "type": "field"
                            },
                            {
                              "params": [],
                              "type": "mean"
                            }
                          ]
                        ],
                        "tags": []
                      },
                      {
                        "alias": "Gesamt",
                        "datasource": {
                          "type": "influxdb",
                          "uid": "hYAYl-zRz"
                        },
                        "groupBy": [
                          {
                            "params": [
                              "10m"
                            ],
                            "type": "time"
                          },
                          {
                            "params": [
                              "previous"
                            ],
                            "type": "fill"
                          }
                        ],
                        "hide": false,
                        "measurement": "0_userdata.0.Solar_vars.PV_Gesamtverbrauch",
                        "orderByTime": "ASC",
                        "policy": "default",
                        "query": "SELECT last(\"value\") FROM \"0_userdata.0.Solar_vars.PV_Eigenverbrauch\" WHERE $timeFilter GROUP BY time(10m) fill(previous)",
                        "rawQuery": false,
                        "refId": "E",
                        "resultFormat": "time_series",
                        "select": [
                          [
                            {
                              "params": [
                                "value"
                              ],
                              "type": "field"
                            },
                            {
                              "params": [],
                              "type": "mean"
                            }
                          ]
                        ],
                        "tags": []
                      }
                    ]
                  }
                  

                  Falls hier jemand ist der js wirklich kann - ich bräuchte da Hilfe um den Fehler abzufangen wenn einer der Werte noch 0 ist.

                  M Offline
                  M Offline
                  ManfredHi
                  schrieb am zuletzt editiert von
                  #238

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

                  Ich hab mich mal versucht die Solaredge visualisierung aus der App in Grafana nachzubauen - vielleicht gehts hier ein paar Leuten ähnlich.

                  Also ich hab keine Ahnung, wie das mit dem Plugin funktioniert.
                  Wo gehört das Json hin ?

                  GlasfaserG 1 Antwort Letzte Antwort
                  0
                  • M ManfredHi

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

                    Ich hab mich mal versucht die Solaredge visualisierung aus der App in Grafana nachzubauen - vielleicht gehts hier ein paar Leuten ähnlich.

                    Also ich hab keine Ahnung, wie das mit dem Plugin funktioniert.
                    Wo gehört das Json hin ?

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    schrieb am zuletzt editiert von
                    #239

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

                    Wo gehört das Json hin ?

                    Dummy Panel erstellen ... zu Json wechseln , dann den Code austauschen ...

                    https://community.grafana.com/t/how-to-import-a-panel-using-its-json-data/29715

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    1 Antwort Letzte Antwort
                    2
                    • H hennerich

                      Hallo Forum,

                      ich habe mich bewusst dafür entschieden, diesen Topic nicht unter der Kategorie Visualisierung zu posten, weil es hier primär um die Anbindung des SolarEdge Systems an ioBroker geht. Visualisierung kommt später bzw. ist hier nur am Rande ein Thema.
                      Vorweg möchte ich sagen, dass ich ein einfacher Nutzer bin und weder tiefe Kenntnisse im SolarEdge Bereich noch im ioBroker habe. Alle Informationen habe ich mir entweder selbst erarbeitet oder User aus den Foren (hauptsächlich hier oder im Photofoltaikforum) haben für die gleichen Fragen die entsprechenden Antworten gefunden. Mir geht es in erster Linie darum, an einer Stelle alle für dieses Szenario notwendigen Informationen zu sammeln.

                      Teil1 – Konfiguration Modbus Adapter
                      Voraussetzungen:
                      Ihr braucht natürlich in erster Linie erst einmal einen SolarEdge Wechselrichter. In meinem Fall ist das der SE25k Wechselrichter.
                      Außerdem wird zwingend der Energiezähler mit Modbus Anschluss benötigt. Der Wechselrichter kann von Haus aus kein Modbus sprechen. Der Energiezähler kommt noch mit den jeweiligen Stromwandlern, die im Sicherungskasten verbaut werden. Ihr lasst das natürlich von einem Fachmann erledigen.

                      Zu guter Letzt gehe ich davon aus, dass ihr den Wechselrichter in euer Heimnetz eingebunden habt und dieser IP technisch auch erreichbar ist. Falls ihr nicht wisst, welche IP Adresse euer Router per DHCP vergeben hat, lasst ihr euch das von eurem Solarteur sagen, die können in die Netzwerkkonfiguration des WR reinschauen oder ihr habt die App und könnt selbst nachschauen (nur mit aktiver Registrierung als Installateur möglich).
                      a85f6f9a-572a-4e02-9dc0-00997160ceb6-grafik.png

                      ioBroker Setup:
                      Ihr habt natürlich schon ioBroker laufen und das System funktioniert ohne Fehler.
                      Verwendete Versionen bei mir:
                      6b412bf2-2be7-4ef9-a7af-37929627ed05-grafik.png

                      625e80bb-8fc3-4246-adcd-50064eed004f-grafik.png

                      Zuerst fügt ihr einen (weiteren) Modbus Adapter hinzu. Bei mir sind es mittlerweile 2 Stück, weil ich auch noch meine Heizung wie hier beschrieben angebunden habe.
                      Danach wird der Adapter konfiguriert.
                      659a1f77-527a-417b-ba4f-0e6d08ac6cef-grafik.png

                      Partner IP Adresse ist die von eurem Wechselrichter.
                      Der Port ist der default eingestellte Port für den Modbus im Wechselrichter, solltet ihr nicht ändern müssen.
                      Die Geräte ID ist (in meinem Fall) die 1.
                      64d4a8eb-7db9-4bc8-8637-9f560c540de3-grafik.png

                      Wichtig! Trotz der Tatsache, dass bei mir der Energiezähler erfolgreich installiert wurde und mir mein Solarteur mitgeteilt hat, dass alles korrekt funktioniert war bei mir Modbus TCP nicht aktiviert. Darauf müsst ihr achten, sonst klappt keine Verbindung.
                      ffd20662-65bf-4e55-902e-1f1e46835d4f-grafik.png

                      Und noch was wichtiges! Wenn ihr nur die Verbindungseinstellungen vom Modbus im ioBroker konfiguriert habt und keine Daten, die ihr abrufen wollt, dann verbindet sich der Adapter auch nicht. Ich hab da ganz schön lange suchen müssen, bevor ich dazu eine Lösung hatte. Ich dachte immer, an meiner Konfiguration würde etwas nicht stimmen.

                      Also richtet ihr mindestens eine Adresse unter Holding Register ein, die ihr abrufen wollt. Und bevor ihr das tut, schaut ihr erstmal in die dazugehörige SolarEdge Doku:
                      Englisch (ist ausführlicher als die deutsche, ich verstehe nicht warum)
                      Deutsch

                      Ich beziehe mich jetzt an dieser Stelle mal auf die englische Dokumentation. Dort stehen ab der Seite 16 die erforderlichen Informationen.
                      Auf der Seite 15 unten findet ihr aber noch eine weitere, wichtige Information, die ich bei mir leider überlesen (bzw. nicht verstanden hatte):
                      The base Register Common Block is set to 40001 (MODBUS PLC address [base 1]) or 40000 (MODBUS Protocol Address [base 0]).

                      In meinem Fall wird base 0 verwendet (fragt mich nicht warum und wieso) und das bedeutet, dass alle in der Doku stehenden Adressen um eins reduziert werden müssen.
                      Beispiel:
                      ID 40094 ist die gesamte, produzierte Energie in Wh und die muss dann im Modbus ioBroker die ID 40093 sein.

                      Ihr müsst dann selbst entscheiden, welche Adressen ihr importieren möchtet und welche ihr nicht braucht.
                      Hier hab ich euch mal meinen Export angehangen:

                      deviceId;address;name;description;unit;type;len;factor;offset;role;room;poll;wp
                      1;40000;C_SunSpec_ID;"Wert = ""SunS"" (0x53756e53). Identifiziert dies eindeutig als eine SunSpec Modbus-Karte";;uint32be;2;1;0;value;;true;false
                      1;40002;C_SunSpec_DID;Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“;;uint16be;1;1;0;value;;true;false
                      1;40003;C_SunSpec_Länge;65 = Länge eines Blocks in 16-bit Registern;;uint16be;1;1;0;value;;true;false
                      1;40004;C_Hersteller;"Bei SunSpec eingetragener Wert = ""SolarEdge""";;string;16;1;0;value;;true;false
                      1;40020;C_Modell;Spezifischer SolarEdge Wert;;string;16;1;0;value;;true;false
                      1;40044;C_Version;Spezifischer SolarEdge Wert;;string;8;1;0;value;;true;false
                      1;40052;C_Seriennummer;Eindeutiger SolarEdge Wert;;string;16;1;0;value;;true;false
                      1;40069;C_SunSpec_DID;101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig;;uint16be;1;1;0;value;;true;false
                      1;40071;I_AC_Strom;AC-Gesamtstromwert;A;uint16be;1;1;0;value;;true;false
                      1;40072;I_AC_StromA;AC-Phase A (L1) Stromwert;A;uint16be;1;1;0;value;;true;false
                      1;40073;I_AC_StromB;AC-Phase B (L2) Stromwert;A;uint16be;1;1;0;value;;true;false
                      1;40074;I_AC_StromC;AC-Phase C (L3) Stromwert;A;uint16be;1;1;0;value;;true;false
                      1;40075;I_AC_Strom_SF;AC-Strom Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40083;I_AC_Leistung;AC-Leistungswert;W;uint16be;1;1;0;value;;true;false
                      1;40084;I_AC_Leistung_SF;AC-Leistung Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40087;I_AC_VA;Scheinleistung;VA;uint16be;1;1;0;value;;true;false
                      1;40088;I_AC_VA_SF;Scheinleistung Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40089;I_AC_VAR;Blindleistung;VAR;uint16be;1;1;0;value;;true;false
                      1;40090;I_AC_VAR_SF;Blindleistung Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40091;I_AC_PF;Leistungsfaktor;%;uint16be;1;1;0;value;;true;false
                      1;40092;I_AC_PF_SF;Leistungsfaktor Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40093;I_AC_Energie_WH;AC Gesamt-Energieproduktion;Wh;uint32be;2;1;0;value;;true;false
                      1;40095;I_AC_Energie_WH_SF;AC Gesamtenergie Skalierungsfaktor;SF;uint16be;1;1;0;value;;true;false
                      1;40096;I_DC_Strom;DC-Stromwert;A;uint16be;1;1;0;value;;true;false
                      1;40097;I_DC_Strom_SF;DC-Strom Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40098;I_DC_Spannung;DC-Spannungswert;V;uint16be;1;1;0;value;;true;false
                      1;40099;I_DC_Spannung_SF;DC-Spannung Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40100;I_DC_Leistung;DC-Leistungswert;W;uint16be;1;1;0;value;;true;false
                      1;40101;I_DC_Leistung_SF;DC-Leistung Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40103;I_Temp_Kühler;Kühlkörpertemperatur;°C;uint16be;1;1;0;value;;true;false
                      1;40106;I_Temp_SF;Kühlkörpertemperatur Skalierungsfaktor;SF;int16be;1;1;0;value;;true;false
                      1;40107;I_Status;Betriebszustand (1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup);;uint16be;1;1;0;value;;true;false
                      1;40108;I_Status_Anbieter;Anbieter-spezifischer Betriebszustand sowie Fehlercodes: 1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup;;uint16be;1;1;0;value;;true;false
                      1;40123;C_Manufacturer;Meter manufacturer;;string;32;1;0;value;;true;false
                      1;40139;C_Model;Meter model;;string;32;1;0;value;;true;false
                      1;40155;C_Option;Export + Import, Production, consumption;;string;16;1;0;value;;true;false
                      1;40190;M_AC_Current;AC Current (sum of active phases);A;uint16be;1;1;0;value;;true;false
                      1;40194;M_AC_Current_S F;AC Current Scale Factor;SF;int16be;1;1;0;value;;true;false
                      1;40206;M_AC_Power;Total Real Power (sum of active phases);W;int16be;1;1;0;value;;true;false
                      1;40210;M_AC_Power_SF;AC Real Power Scale Factor;SF;int16be;1;1;0;value;;true;false
                      1;40226;M_Exported;Total Exported Real Energy;Wh;uint32be;2;1;0;value;;true;false
                      1;40234;M_Imported;Total Imported Real Energy;Wh;uint32be;2;1;0;value;;true;false
                      1;40242;M_Energy_W_SF;Real Energy Scale Factor;SF;int16be;1;1;0;value;;true;false
                      
                      

                      Ab der Seite 16 unten findet ihr die Adressen des Wechselrichters und 19 die Adressen für Meter 1 (also den Energiemesser). Meter 2 und 3 sind bei mir nicht vorhanden.
                      So sieht das ganze jetzt bei mir aus:
                      632bbb53-cb4b-4c4d-9301-35105e63dbe3-grafik.png

                      Wenn ihr alles richtig gemacht habt, dann ist 1. Eure Modbus Instanz grün und ihr findet in den Objekten die ausgelesenen Werte.

                      peppiP Offline
                      peppiP Offline
                      peppi
                      schrieb am zuletzt editiert von
                      #240

                      @hennerich
                      Hi
                      kannst du mir helfen es besser zu verstehenm, wie man herausfindet, dass man base 0 oder base 1 benutzen muss, woran sieht man das
                      ist das am Wechselricher, oder besser gefragt wann hat man MODBUS PLC Adress (base 1) oder MODBUS Protocol Adresse (base 0) ??

                      650a70be-d516-4ba8-81dc-d282dda6c481-image.png
                      Wenn ich das "Holding-Register 40021 C_Model" auslese und ich bekomme die richtigen Daten, heisst das, dass ich Base 1 habe, RIchtig?

                      Bedeutet es, dass ich nun alle Register die ich will von Base 1 auslesen muss???
                      de66ade0-79ec-41c5-9c0e-937ebf433b62-image.png

                      So was von S...., sorry kompliziert !
                      Danke für dein Hilfe und guten Rutsch!

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

                      Auf der Seite 15 unten findet ihr aber noch eine weitere, wichtige Information, die ich bei mir leider überlesen (bzw. nicht verstanden hatte):
                      The base Register Common Block is set to 40001 (MODBUS PLC address [base 1]) or 40000 (MODBUS Protocol Address [base 0]).

                      *In meinem Fall wird base 0 verwende*t (fragt mich nicht warum und wieso) und das bedeutet, dass alle in der Doku stehenden Adressen um eins reduziert werden müssen.
                      Beispiel:
                      ID 40094 ist die gesamte, produzierte Energie in Wh und die muss dann im Modbus ioBroker die ID 40093 sein.

                      H 1 Antwort Letzte Antwort
                      0
                      • peppiP peppi

                        @hennerich
                        Hi
                        kannst du mir helfen es besser zu verstehenm, wie man herausfindet, dass man base 0 oder base 1 benutzen muss, woran sieht man das
                        ist das am Wechselricher, oder besser gefragt wann hat man MODBUS PLC Adress (base 1) oder MODBUS Protocol Adresse (base 0) ??

                        650a70be-d516-4ba8-81dc-d282dda6c481-image.png
                        Wenn ich das "Holding-Register 40021 C_Model" auslese und ich bekomme die richtigen Daten, heisst das, dass ich Base 1 habe, RIchtig?

                        Bedeutet es, dass ich nun alle Register die ich will von Base 1 auslesen muss???
                        de66ade0-79ec-41c5-9c0e-937ebf433b62-image.png

                        So was von S...., sorry kompliziert !
                        Danke für dein Hilfe und guten Rutsch!

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

                        Auf der Seite 15 unten findet ihr aber noch eine weitere, wichtige Information, die ich bei mir leider überlesen (bzw. nicht verstanden hatte):
                        The base Register Common Block is set to 40001 (MODBUS PLC address [base 1]) or 40000 (MODBUS Protocol Address [base 0]).

                        *In meinem Fall wird base 0 verwende*t (fragt mich nicht warum und wieso) und das bedeutet, dass alle in der Doku stehenden Adressen um eins reduziert werden müssen.
                        Beispiel:
                        ID 40094 ist die gesamte, produzierte Energie in Wh und die muss dann im Modbus ioBroker die ID 40093 sein.

                        H Offline
                        H Offline
                        hennerich
                        schrieb am zuletzt editiert von
                        #241

                        @peppi
                        Hey, genau so hab ich das germacht. Hab mir irgendeinen unverwechselbaren Wert gesucht (ich meine, dass war das Modell) und mit der Base nimmst du alle anderen Werte.

                        Tutorial UVR1611 C.M.I. Integration
                        Tutorial SolarEdge Integration via ModBus

                        peppiP 1 Antwort Letzte Antwort
                        0
                        • H hennerich

                          @peppi
                          Hey, genau so hab ich das germacht. Hab mir irgendeinen unverwechselbaren Wert gesucht (ich meine, dass war das Modell) und mit der Base nimmst du alle anderen Werte.

                          peppiP Offline
                          peppiP Offline
                          peppi
                          schrieb am zuletzt editiert von
                          #242

                          @hennerich

                          danke

                          S 1 Antwort Letzte Antwort
                          0
                          • peppiP peppi

                            @hennerich

                            danke

                            S Offline
                            S Offline
                            steffus
                            schrieb am zuletzt editiert von
                            #243

                            Ich habe seit ein paar Tagen einen SolarEdge Wechselrichter, welchen ich mit Modus Modul auslesen kann. Das funktioniert auch sehr gut, allerdings komme ich etwas mit dem Hinweis aus dem zweiten Posts durcheinander. Dort steht:

                            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)

                            Ich verstehe ich die Aussage (was ihr heute) nicht so richtig, bei mir werden die Einträge 40226 und 40234 immer erhöht, d.h. das ist die Zählung seit Einschalten des Wechselrichters. Wurde das irgendwann verändert oder war das schon immer so und die Aussage ist nur etwas verwirrend. Muss das nicht heißen, was ihr bis heute erzeugt habt.

                            Z 1 Antwort Letzte Antwort
                            0
                            • S steffus

                              Ich habe seit ein paar Tagen einen SolarEdge Wechselrichter, welchen ich mit Modus Modul auslesen kann. Das funktioniert auch sehr gut, allerdings komme ich etwas mit dem Hinweis aus dem zweiten Posts durcheinander. Dort steht:

                              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)

                              Ich verstehe ich die Aussage (was ihr heute) nicht so richtig, bei mir werden die Einträge 40226 und 40234 immer erhöht, d.h. das ist die Zählung seit Einschalten des Wechselrichters. Wurde das irgendwann verändert oder war das schon immer so und die Aussage ist nur etwas verwirrend. Muss das nicht heißen, was ihr bis heute erzeugt habt.

                              Z Offline
                              Z Offline
                              ZoXx
                              schrieb am zuletzt editiert von
                              #244

                              Guten Morgen zusammen,

                              die Preiserhöhung vom Stromanbieter ist nun auch bei mir angekommen....
                              Gibt es eine Möglichkeit, dass man nun den neuen Strompreis sauber vom alten trennen kann für die Auswertung? Sonst werden die Dataen überschrieben?
                              Gleiches gilt auch für den Eigenverbrauch, da schlägt ja jetzt auch ein anderer Betrag durch.

                              Z 1 Antwort Letzte Antwort
                              0
                              • Z ZoXx

                                Guten Morgen zusammen,

                                die Preiserhöhung vom Stromanbieter ist nun auch bei mir angekommen....
                                Gibt es eine Möglichkeit, dass man nun den neuen Strompreis sauber vom alten trennen kann für die Auswertung? Sonst werden die Dataen überschrieben?
                                Gleiches gilt auch für den Eigenverbrauch, da schlägt ja jetzt auch ein anderer Betrag durch.

                                Z Offline
                                Z Offline
                                ZoXx
                                schrieb am zuletzt editiert von
                                #245

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

                                Guten Morgen zusammen,

                                die Preiserhöhung vom Stromanbieter ist nun auch bei mir angekommen....
                                Gibt es eine Möglichkeit, dass man nun den neuen Strompreis sauber vom alten trennen kann für die Auswertung? Sonst werden die Dataen überschrieben?
                                Gleiches gilt auch für den Eigenverbrauch, da schlägt ja jetzt auch ein anderer Betrag durch.

                                niemand bisher die gleiche Problematik gehabt? Kann ich mir kaum vorstellen :astonished:

                                H 1 Antwort Letzte Antwort
                                0
                                • Z ZoXx

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

                                  Guten Morgen zusammen,

                                  die Preiserhöhung vom Stromanbieter ist nun auch bei mir angekommen....
                                  Gibt es eine Möglichkeit, dass man nun den neuen Strompreis sauber vom alten trennen kann für die Auswertung? Sonst werden die Dataen überschrieben?
                                  Gleiches gilt auch für den Eigenverbrauch, da schlägt ja jetzt auch ein anderer Betrag durch.

                                  niemand bisher die gleiche Problematik gehabt? Kann ich mir kaum vorstellen :astonished:

                                  H Offline
                                  H Offline
                                  hennerich
                                  schrieb am zuletzt editiert von
                                  #246

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

                                  niemand bisher die gleiche Problematik gehabt? Kann ich mir kaum vorstellen :astonished:

                                  Doch und am liebsten würde ich das mit Sourceanalytics machen. Aber das ist so buggy, dass man es nicht dafür verwenden kann. Sieht bei mir derzeit so aus:
                                  01999082-20ed-4f13-9c18-29792ab98d36-grafik.png

                                  Bzw. direkt im Sourceanalytics:
                                  c71bf1d3-e879-4aed-8e52-d831d85d0323-grafik.png

                                  Hab keine Lösung dafür, leider.

                                  Tutorial UVR1611 C.M.I. Integration
                                  Tutorial SolarEdge Integration via ModBus

                                  M 1 Antwort Letzte Antwort
                                  1
                                  • H hennerich

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

                                    niemand bisher die gleiche Problematik gehabt? Kann ich mir kaum vorstellen :astonished:

                                    Doch und am liebsten würde ich das mit Sourceanalytics machen. Aber das ist so buggy, dass man es nicht dafür verwenden kann. Sieht bei mir derzeit so aus:
                                    01999082-20ed-4f13-9c18-29792ab98d36-grafik.png

                                    Bzw. direkt im Sourceanalytics:
                                    c71bf1d3-e879-4aed-8e52-d831d85d0323-grafik.png

                                    Hab keine Lösung dafür, leider.

                                    M Offline
                                    M Offline
                                    ManfredHi
                                    schrieb am zuletzt editiert von
                                    #247

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

                                    Doch und am liebsten würde ich das mit Sourceanalytics machen. Aber das ist so buggy, dass man es nicht dafür verwenden kann.

                                    Warum? Was genau ist hier buggy?
                                    Bei mir funktioniert die Aufzeichnung seit September eigentlich einwandfrei.

                                    H 1 Antwort Letzte Antwort
                                    0
                                    • M ManfredHi

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

                                      Doch und am liebsten würde ich das mit Sourceanalytics machen. Aber das ist so buggy, dass man es nicht dafür verwenden kann.

                                      Warum? Was genau ist hier buggy?
                                      Bei mir funktioniert die Aufzeichnung seit September eigentlich einwandfrei.

                                      H Offline
                                      H Offline
                                      hennerich
                                      schrieb am zuletzt editiert von
                                      #248

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

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

                                      Doch und am liebsten würde ich das mit Sourceanalytics machen. Aber das ist so buggy, dass man es nicht dafür verwenden kann.

                                      Warum? Was genau ist hier buggy?
                                      Bei mir funktioniert die Aufzeichnung seit September eigentlich einwandfrei.

                                      Hey,

                                      mein Sourceanalytics ist so konfiguriert:
                                      7999fb03-4832-4577-8efc-b2ea9def35bf-grafik.png
                                      Du siehst, dass ich nur eine Zeile ganz oben ergänz habe, in der ich meinen Strompreis (letztes Jahr) und dessen Grundgebühr eingetragen habe.
                                      Daraus macht SA dann das hier im letzten Jahr:
                                      9213360b-1754-4f27-999f-b060af2aab28-grafik.png
                                      Wenn wir das dann mal ausrechnen und dann auf Costs Cummulative schauen, fehlt dort schon mal die Grundgebühr.
                                      Jetzt haben wir 2023:
                                      932881ca-42c0-4b7e-a8b7-4ca424b317c5-grafik.png
                                      Was soll ich denn jetzt von den Kosten halten?

                                      Tutorial UVR1611 C.M.I. Integration
                                      Tutorial SolarEdge Integration via ModBus

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • H hennerich

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

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

                                        Doch und am liebsten würde ich das mit Sourceanalytics machen. Aber das ist so buggy, dass man es nicht dafür verwenden kann.

                                        Warum? Was genau ist hier buggy?
                                        Bei mir funktioniert die Aufzeichnung seit September eigentlich einwandfrei.

                                        Hey,

                                        mein Sourceanalytics ist so konfiguriert:
                                        7999fb03-4832-4577-8efc-b2ea9def35bf-grafik.png
                                        Du siehst, dass ich nur eine Zeile ganz oben ergänz habe, in der ich meinen Strompreis (letztes Jahr) und dessen Grundgebühr eingetragen habe.
                                        Daraus macht SA dann das hier im letzten Jahr:
                                        9213360b-1754-4f27-999f-b060af2aab28-grafik.png
                                        Wenn wir das dann mal ausrechnen und dann auf Costs Cummulative schauen, fehlt dort schon mal die Grundgebühr.
                                        Jetzt haben wir 2023:
                                        932881ca-42c0-4b7e-a8b7-4ca424b317c5-grafik.png
                                        Was soll ich denn jetzt von den Kosten halten?

                                        M Offline
                                        M Offline
                                        ManfredHi
                                        schrieb am zuletzt editiert von
                                        #249

                                        @hennerich

                                        OK. Ich verwende bei mir keine Grundgebühr. Die wird bei mir dann nur beim Export ins Excel für weitere Auswertungen hinzugefügt.

                                        Bei mir schaut das so aus und die Berechnungen stimmen sowohl für die Monate September - Dezember 2022 und auch seit Jahresbeginn.
                                        Einziges Problem ist, dass die Berechnung falsch ist, sobald ich einen Einspeisetarif ändere. Dazu gibts in Github schon einen Eintrag.

                                        be8ac221-1601-4f9f-bd68-74233bd90281-image.png

                                        1 Antwort Letzte Antwort
                                        0
                                        • N Offline
                                          N Offline
                                          Nobody 0
                                          schrieb am zuletzt editiert von Nobody 0
                                          #250

                                          Hallo zusammen,

                                          ich habe nun alles durchgelesen und habe da ganz schön Arbeit vor mir da ich gerade erst anfange.

                                          Ich habe Aktuell einen SE25K, jetzt kommt noch ein zweiter SE25K und ein SE5000 hinzu mit der Erweiterung. Leider wurde von dem Installateur kein Modus Zähler für Bezug/Einspeisung Installiert.
                                          Wenn ich das richtig Verstanden habe, kann man die Daten nur Auslesen wenn man einen Modus Zähler hat. Nun überlege ich mir einen Modbuszähler einzubauen um die Daten abzufragen.

                                          Alternativ könnte ich auch 4 Shelly3EM installieren, leider würden mir dann aber einige angaben vom SolarEdge Fehlen und es sind 4 Geräte und Abfragen.

                                          Die Frage ist geht es auch mit dem "neuen" Modbus home Zähler mit Display oder geht es nur mit dem Energiezähler mit den Klemmen?

                                          Noch eine Frage, für den Modbus, CatLeitung oder Telefonleitung?

                                          Danke für eure Hilfe

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          665

                                          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