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 Offline
    S Offline
    SentiQ
    schrieb am zuletzt editiert von SentiQ
    #358

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

    Beispiel von 2:13 Uhr nachts:

    Bildschirmfoto 2023-08-10 um 07.32.32.png

    Centurytt 0C 1 Antwort Letzte Antwort
    0
    • S SentiQ

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

      Beispiel von 2:13 Uhr nachts:

      Bildschirmfoto 2023-08-10 um 07.32.32.png

      Centurytt 0C Offline
      Centurytt 0C Offline
      Centurytt 0
      schrieb am zuletzt editiert von
      #359

      @sentiq

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

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

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

      S 1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        M1R0O
        schrieb am zuletzt editiert von M1R0O
        #360

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

        Die Aktuelle PV-Produktion bekomme ich einfach nicht hin!

        Centurytt 0C 1 Antwort Letzte Antwort
        0
        • M M1R0O

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

          Die Aktuelle PV-Produktion bekomme ich einfach nicht hin!

          Centurytt 0C Offline
          Centurytt 0C Offline
          Centurytt 0
          schrieb am zuletzt editiert von Centurytt 0
          #361

          @m1r0o

          warum berechnest du etwas was nicht zu berechnen ist `?

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

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

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

          M 1 Antwort Letzte Antwort
          0
          • Centurytt 0C Centurytt 0

            @m1r0o

            warum berechnest du etwas was nicht zu berechnen ist `?

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

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

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

            M Offline
            M Offline
            M1R0O
            schrieb am zuletzt editiert von M1R0O
            #362

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

            Centurytt 0C 1 Antwort Letzte Antwort
            0
            • M M1R0O

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

              Centurytt 0C Offline
              Centurytt 0C Offline
              Centurytt 0
              schrieb am zuletzt editiert von
              #363

              @m1r0o

              importier dir einfach die Modbus Liste von mir...

              M 1 Antwort Letzte Antwort
              0
              • Centurytt 0C Centurytt 0

                @m1r0o

                importier dir einfach die Modbus Liste von mir...

                M Offline
                M Offline
                M1R0O
                schrieb am zuletzt editiert von
                #364

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

                Centurytt 0C 1 Antwort Letzte Antwort
                0
                • M M1R0O

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

                  Centurytt 0C Offline
                  Centurytt 0C Offline
                  Centurytt 0
                  schrieb am zuletzt editiert von
                  #365

                  @m1r0o

                  richtig

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    M1R0O
                    schrieb am zuletzt editiert von M1R0O
                    #366

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

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

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

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

                    Centurytt 0C 1 Antwort Letzte Antwort
                    0
                    • Centurytt 0C Centurytt 0

                      @hennerich

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

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

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

                      Lg
                      Tom

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

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

                      @hennerich

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

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

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

                      Lg
                      Tom

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

                      Danke
                      Henri

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

                      1 Antwort Letzte Antwort
                      0
                      • M M1R0O

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

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

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

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

                        Centurytt 0C Offline
                        Centurytt 0C Offline
                        Centurytt 0
                        schrieb am zuletzt editiert von
                        #368

                        @m1r0o

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

                        oder meinst du was anderes ?

                        M 1 Antwort Letzte Antwort
                        0
                        • Centurytt 0C Centurytt 0

                          @m1r0o

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

                          oder meinst du was anderes ?

                          M Offline
                          M Offline
                          M1R0O
                          schrieb am zuletzt editiert von M1R0O
                          #369

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

                          Centurytt 0C 1 Antwort Letzte Antwort
                          0
                          • Centurytt 0C Centurytt 0

                            @sentiq

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

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

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

                            S Offline
                            S Offline
                            SentiQ
                            schrieb am zuletzt editiert von SentiQ
                            #370

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

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

                            Wie berechnest du den Hausverbrauch?

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

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

                            Centurytt 0C 1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              M1R0O
                              schrieb am zuletzt editiert von M1R0O
                              #371

                              Ich habe zumindest des Wert für 40083 AC_Power AC Power value kW int16be 1 1 0 x * Math.pow(10, sf['40084']) *0.001 true false false false jetzt manuell hinzugefügt und das klappt gut.

                              Das einzige was ich jetzt noch nicht geschafft habe (neben dem Import der kompletten Liste von @Centurytt-0) ist das Anzeigen/Berechnen der Aktuellen PV-Produktion!
                              Was muss ich tun, um die aktuelle Energieproduktion der PV-Anlage angezeigt zu bekommen?!

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

                              @sentiq

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

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

                              Kannst du mir dieses Blockly Skript zur Verfügung stellen?

                              Danke

                              S 1 Antwort Letzte Antwort
                              0
                              • M M1R0O

                                Ich habe zumindest des Wert für 40083 AC_Power AC Power value kW int16be 1 1 0 x * Math.pow(10, sf['40084']) *0.001 true false false false jetzt manuell hinzugefügt und das klappt gut.

                                Das einzige was ich jetzt noch nicht geschafft habe (neben dem Import der kompletten Liste von @Centurytt-0) ist das Anzeigen/Berechnen der Aktuellen PV-Produktion!
                                Was muss ich tun, um die aktuelle Energieproduktion der PV-Anlage angezeigt zu bekommen?!

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

                                @sentiq

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

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

                                Kannst du mir dieses Blockly Skript zur Verfügung stellen?

                                Danke

                                S Offline
                                S Offline
                                SentiQ
                                schrieb am zuletzt editiert von SentiQ
                                #372

                                @m1r0o

                                du brauchst dafür noch DC_Power aus der Liste von @Centurytt-0

                                Beachte, dass ich mit Watt arbeite und *0.001 entfernt habe!

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <block type="on" id="nIckN53BSoxr;{]fe3kY" x="-587" y="137">
                                   <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                   <field name="CONDITION">ne</field>
                                   <field name="ACK_CONDITION"></field>
                                   <statement name="STATEMENT">
                                     <block type="controls_if" id="33C-n)jP`m.e%9?E!=tX">
                                       <mutation else="1"></mutation>
                                       <value name="IF0">
                                         <block type="math_number_property" id="~N8MFs(_bqs{CQh1Yx0T">
                                           <mutation divisor_input="false"></mutation>
                                           <field name="PROPERTY">POSITIVE</field>
                                           <value name="NUMBER_TO_CHECK">
                                             <shadow type="math_number" id="!AvF8j8n[B3S?`f.f+w5">
                                               <field name="NUM">0</field>
                                             </shadow>
                                             <block type="get_value" id="[msS4Zv06(%a%IqtKmRd">
                                               <field name="ATTR">val</field>
                                               <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="update" id="?eJ+n7$X8Q,2OB[Jw?]6">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">javascript.0.Solar.Wechselrichter.PVLeistungAktuell</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="math_arithmetic" id="1Fc?PZX0G%ufiK+b@x7E">
                                               <field name="OP">ADD</field>
                                               <value name="A">
                                                 <shadow type="math_number" id=",KpQxgw6c0efaxM.H#V|">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="get_value" id="@5,wPHPN%::Xav3)TWyy">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number" id="7mlFm+r@6z{X}.Krv2~%">
                                                   <field name="NUM">1000</field>
                                                 </shadow>
                                                 <block type="get_value" id="VWhNN8xf*=y|[MoS8%qf">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <statement name="ELSE">
                                         <block type="update" id="@-|uQZ}BySNdkVVTi-m%">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">javascript.0.Solar.Wechselrichter.PVLeistungAktuell</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="math_arithmetic" id="Q`Dz+Gn$.Vo2pjkb}k%N">
                                               <field name="OP">MINUS</field>
                                               <value name="A">
                                                 <shadow type="math_number" id=",KpQxgw6c0efaxM.H#V|">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="get_value" id="]_]-,0)N(#mRO:o`FcT#">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number" id="7mlFm+r@6z{X}.Krv2~%">
                                                   <field name="NUM">1000</field>
                                                 </shadow>
                                                 <block type="math_arithmetic" id="Lq7956`[)v+%R`mpI2|S">
                                                   <field name="OP">MULTIPLY</field>
                                                   <value name="A">
                                                     <shadow type="math_number" id="}v#E=(+l|h7y9rz)0wy]">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="get_value" id="tW.kJ$2|~6vDI0#]{[5f">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number" id="!kqV52.],5yjJtrfedpG">
                                                       <field name="NUM">-1</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </statement>
                                 </block>
                                </xml>
                                

                                M 1 Antwort Letzte Antwort
                                0
                                • S SentiQ

                                  @m1r0o

                                  du brauchst dafür noch DC_Power aus der Liste von @Centurytt-0

                                  Beachte, dass ich mit Watt arbeite und *0.001 entfernt habe!

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <block type="on" id="nIckN53BSoxr;{]fe3kY" x="-587" y="137">
                                     <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                     <field name="CONDITION">ne</field>
                                     <field name="ACK_CONDITION"></field>
                                     <statement name="STATEMENT">
                                       <block type="controls_if" id="33C-n)jP`m.e%9?E!=tX">
                                         <mutation else="1"></mutation>
                                         <value name="IF0">
                                           <block type="math_number_property" id="~N8MFs(_bqs{CQh1Yx0T">
                                             <mutation divisor_input="false"></mutation>
                                             <field name="PROPERTY">POSITIVE</field>
                                             <value name="NUMBER_TO_CHECK">
                                               <shadow type="math_number" id="!AvF8j8n[B3S?`f.f+w5">
                                                 <field name="NUM">0</field>
                                               </shadow>
                                               <block type="get_value" id="[msS4Zv06(%a%IqtKmRd">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="update" id="?eJ+n7$X8Q,2OB[Jw?]6">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Solar.Wechselrichter.PVLeistungAktuell</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_arithmetic" id="1Fc?PZX0G%ufiK+b@x7E">
                                                 <field name="OP">ADD</field>
                                                 <value name="A">
                                                   <shadow type="math_number" id=",KpQxgw6c0efaxM.H#V|">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="@5,wPHPN%::Xav3)TWyy">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number" id="7mlFm+r@6z{X}.Krv2~%">
                                                     <field name="NUM">1000</field>
                                                   </shadow>
                                                   <block type="get_value" id="VWhNN8xf*=y|[MoS8%qf">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </statement>
                                         <statement name="ELSE">
                                           <block type="update" id="@-|uQZ}BySNdkVVTi-m%">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Solar.Wechselrichter.PVLeistungAktuell</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_arithmetic" id="Q`Dz+Gn$.Vo2pjkb}k%N">
                                                 <field name="OP">MINUS</field>
                                                 <value name="A">
                                                   <shadow type="math_number" id=",KpQxgw6c0efaxM.H#V|">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="]_]-,0)N(#mRO:o`FcT#">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number" id="7mlFm+r@6z{X}.Krv2~%">
                                                     <field name="NUM">1000</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="Lq7956`[)v+%R`mpI2|S">
                                                     <field name="OP">MULTIPLY</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="}v#E=(+l|h7y9rz)0wy]">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="get_value" id="tW.kJ$2|~6vDI0#]{[5f">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="!kqV52.],5yjJtrfedpG">
                                                         <field name="NUM">-1</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                   </block>
                                  </xml>
                                  

                                  M Offline
                                  M Offline
                                  M1R0O
                                  schrieb am zuletzt editiert von M1R0O
                                  #373

                                  @sentiq
                                  Hat geklappt! Sauber, danke!
                                  Bildschirm­foto 2023-08-16 um 22.01.04.png

                                  Ich würde nun gern den Wert 57116 "Batterieladung" in kwh umrechnen.
                                  Einfach *0.001 in das Feld Formel zu schreiben, klappt nicht.
                                  Welche Formel muss ich stattdessen nehmen?

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • M M1R0O

                                    @sentiq
                                    Hat geklappt! Sauber, danke!
                                    Bildschirm­foto 2023-08-16 um 22.01.04.png

                                    Ich würde nun gern den Wert 57116 "Batterieladung" in kwh umrechnen.
                                    Einfach *0.001 in das Feld Formel zu schreiben, klappt nicht.
                                    Welche Formel muss ich stattdessen nehmen?

                                    S Offline
                                    S Offline
                                    SentiQ
                                    schrieb am zuletzt editiert von
                                    #374

                                    @m1r0o

                                    x *0.001
                                    
                                    M 1 Antwort Letzte Antwort
                                    0
                                    • S SentiQ

                                      @m1r0o

                                      x *0.001
                                      
                                      M Offline
                                      M Offline
                                      M1R0O
                                      schrieb am zuletzt editiert von M1R0O
                                      #375

                                      @sentiq Mega! THX

                                      @SentiQ Zu früh gefreut.
                                      Das Berechnen des Hausverbrauchs gelingt mir nicht.
                                      Das liegt u.a. darn, dass 40206 M_AC_Power keinen korrekten Wert ausgibt. Egal wie hoch mein realer Hausverbrauch ist, 40206-40209 verändern sich nicht.
                                      Bildschirm­foto 2023-08-17 um 20.51.03.png
                                      Woran kann das liegen?
                                      Danke vorab

                                      Centurytt 0C 1 Antwort Letzte Antwort
                                      0
                                      • M M1R0O

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

                                        Centurytt 0C Offline
                                        Centurytt 0C Offline
                                        Centurytt 0
                                        schrieb am zuletzt editiert von
                                        #376

                                        @m1r0o

                                        Hi, anbei das TSV holding-registers (1).tsv

                                        1 Antwort Letzte Antwort
                                        0
                                        • M M1R0O

                                          @sentiq Mega! THX

                                          @SentiQ Zu früh gefreut.
                                          Das Berechnen des Hausverbrauchs gelingt mir nicht.
                                          Das liegt u.a. darn, dass 40206 M_AC_Power keinen korrekten Wert ausgibt. Egal wie hoch mein realer Hausverbrauch ist, 40206-40209 verändern sich nicht.
                                          Bildschirm­foto 2023-08-17 um 20.51.03.png
                                          Woran kann das liegen?
                                          Danke vorab

                                          Centurytt 0C Offline
                                          Centurytt 0C Offline
                                          Centurytt 0
                                          schrieb am zuletzt editiert von
                                          #377

                                          @m1r0o

                                          Welchen Wechselrichter hast du ? Hast du dir die Adressliste von Solaredge angesehen ? ob das alles stimmt oder ob du die Adressen um 1 verschieben musst ? Modbus Zähler ist installiert nehme ich an ?

                                          M 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

                                          663

                                          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