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.7k 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.
  • H hennerich

    Teil3 – Visualisierung (ob mit Grafana oder mit anderen Tools muss ich sehen)
    ongoing, erster Screenshot von meinem Grafana Dashboard (auch hier danke an inkoFa, das ist nämlich seine Idee gewesen).
    29780207-dc8d-4d73-bee0-8348d48a33c8-grafik.png

    HIer noch das Grafana json für einen Import.
    PV Anlage-1605288773411.json

    Damit ihr euch das auch nachbauen könnt, erkläre ich nachfolgend welche Einstellungen dafür notwendig sind. Der linke Block kommt von meiner Heizung, den lasse ich außen vor und konzentriere mich nur auf die PV Sachen.

    1. Graph PV
    Quellen aus der InfluxDB sind

    • PVLeistungAktuell -> gelber Graph
    • Hausverbrauch -> blauer Graph
    • TempWechselrichter -> orangener Graph
    • (Sonnenstand) -> gestrichelt grüne Linie

    Die ersten 3 Werte solltet ihr schon haben wenn ihr oben aus meinem Teil 2 die Sachen übernommen habt.

    Sonnenstand war ein fertiges JS Script:

    // calculates the sun position, path and power throughout the day
    // based on from http://www.stjarnhimlen.se/comp/tutorial.html
    // most var-names are identical to above tutorial
    // combined with Sonnenstand-Script: paul53, pix; 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&sid=6f0ba055de5f82eed6809424f49ca93b#p7635
    // Angepasst ykuendig 12.02.17; stringify im log, ack = true bei setState und Diverses 
    
    var suncalc = require('suncalc'),
       result =  getObject("system.adapter.javascript.0"),
       lat =  result.native.latitude,
       long = result.native.longitude;
       log("long: " + long + " - lat: " + lat);
    
    var modtilt =       50;     //Dachneigung in Grad (Solar panel's tilt angle)
    var modazi =        285;    //Ausrichtung des Hauses in Grad zB SSW (Solar panel's azimut)
    var modsufrace =    148.0;   //Paneloberfläche in m2 (Solar panel's surface in sq. meters)
    var modeff =        0.211;  //Annäherung an Panel-Wirkungsgrad zB 18 Prozent (modules efficiency correction)
                                            // Hier kann an einem klaren Tag etwas geschraubt werden ;-)
    
    var altitude;       // Calculated Elevation
    var azimuth;        // Calculated Azimuth
    
    createState('javascript.0.Solar.Sonnenstand.Elevation', 0, {unit: '°'});
    createState('javascript.0.Solar.Sonnenstand.Azimut', 0, {unit: '°'});
    createState('javascript.0.Solar.Sonnenstand.PanelPossible', 0, {unit: 'W'});
    // ganz am Ende die setStates anpassen nicht vergessen!
    
    // Do not change below, until You know what You are doing!
    // ********************************************************
    
    Math.degrees = function(radians) {return radians * 180 / Math.PI;};
    Math.radians = function(degrees) {return degrees * Math.PI / 180;};
    
    function Sonnenstand_berechnen () {
       var now = new Date();
       var sunpos = suncalc.getPosition(now, lat, long);
       log("Script Sonnenstand; latitude : " + result.native.latitude + " / longitude: " + result.native.longitude,'debug');
       log("Script Sonnenstand; sunpos: " + JSON.stringify(sunpos),'debug');
    
       altitude = Math.degrees(sunpos.altitude);
       azimuth =  Math.degrees(sunpos.azimuth) + 180;
    
       // The intensity of the direct component of sunlight throughout each day can be determined as 
       // a function of air mass. based on: http://pveducation.org/pvcdrom/properties-of-sunlight/air-mass#formula
       var airmass = 1/Math.cos((90-altitude)*4*Math.asin(1)/360); 
    
       // Sincident is the intensity on a plane perpendicular to the sun's rays in units of kW/m2 and AM is the air mass.
       // The value of 1.353 kW/m2 is the solar constant and the number 0.7 arises from the fact that about 70% of the radiation incident on the atmosphere is transmitted
       // to the Earth. The extra power term of 0.678 is an empirical fit to the observed data and takes into account the non-uniformities in the atmospheric layers.
       // ykuendig: use different values because of pv instead thermal panels
       var Sincident = (1.367*Math.pow(0.78,Math.pow(airmass,0.6)));
       var fraction = Math.cos(altitude*4*Math.asin(1)/360)*Math.sin(modtilt*4*Math.asin(1)/360)*Math.cos(azimuth*4*Math.asin(1)/360-modazi*4*Math.asin(1)/360)+Math.sin(altitude*4*Math.asin(1)/360)*Math.cos(modtilt*4*Math.asin(1)/360);
    
       // W/m² light intensity on the module * module's surface
       var SmoduleInt = Sincident * fraction * modsufrace * 1000;
       if(SmoduleInt<0) {
           SmoduleInt =    0;
       }
       // Module Effective in relation of the efficiency of the used panel
       var SmoduleEff = SmoduleInt * modeff;
    
       if( altitude < 0 ) {
           SmoduleInt =    0;
           SmoduleEff =    0;
           altitude =      0;
       }
    
       log("Script Sonnenstand; Erfolgreich gelaufen, Werte akzeptiert", "info");
       log("Script Sonnenstand; airmass: " + airmass,"debug");
       log("Script Sonnenstand; azimuth: " + azimuth,"debug");
       log("Script Sonnenstand; altitude: " + altitude,"debug");
       log("Script Sonnenstand; SmoduleInt: " + SmoduleInt,"debug");
       log("Script Sonnenstand; SmoduleEff: " + SmoduleEff,"debug");
    
       // Change ID to the created States
       setState('javascript.0.Solar.Sonnenstand.Elevation'/*javascript 0 Solar Sonnenstand Elevation*/,altitude.toFixed(1), true);
       setState('javascript.0.Solar.Sonnenstand.Azimut'/*javascript 0 Solar Sonnenstand Azimut*/,azimuth.toFixed(), true);
       setState('javascript.0.Solar.Sonnenstand.PanelPossible'/*javascript 0 Solar Sonnenstand PanelPossible*/, SmoduleEff.toFixed(), true);
    }
    
    // -> Zyklisch
    
    schedule("*/10 * * * *", Sonnenstand_berechnen);
    Sonnenstand_berechnen(); // bei Scriptstart
    
    


    2. Graph PV Erzeugung in kWh
    Quelle aus der InfluxDB sind

    • PVErzeugteEnergieAktuell
      Blockly Script (PVBerechneTageswerte):

    <xml xmlns="https://developers.google.com/blockly/xml">
     <block type="on_ext" id="y@lWX)*%NiA!ZGLd:;Q$" x="-687" y="87">
       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
       <field name="CONDITION">ne</field>
       <field name="ACK_CONDITION"></field>
       <value name="OID0">
         <shadow type="field_oid" id="9.%}C_f#R|xD+X-(7)r2">
           <field name="oid">modbus.1.holdingRegisters.40234_M_Imported</field>
         </shadow>
       </value>
       <statement name="STATEMENT">
         <block type="update" id="x.N~f*hrQxS~@9cMYoiE">
           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
           <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieAktuell</field>
           <field name="WITH_DELAY">FALSE</field>
           <value name="VALUE">
             <block type="math_arithmetic" id="D*z62x|?#F|Qe8hp+]U#">
               <field name="OP">DIVIDE</field>
               <value name="A">
                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                   <field name="NUM">1</field>
                 </shadow>
                 <block type="math_arithmetic" id="_0_3+_+SBF]n}Kb~ltP`">
                   <field name="OP">MINUS</field>
                   <value name="A">
                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                       <field name="NUM">1</field>
                     </shadow>
                     <block type="get_value" id="^.WWE79[swjNwM%X:zJ#">
                       <field name="ATTR">val</field>
                       <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                     </block>
                   </value>
                   <value name="B">
                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                       <field name="NUM">1</field>
                     </shadow>
                     <block type="get_value" id="rHO$M#tK%xLrylsZ-_T^">
                       <field name="ATTR">val</field>
                       <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                     </block>
                   </value>
                 </block>
               </value>
               <value name="B">
                 <shadow type="math_number" id="+9z/fggnWUX%RN-aCC}H">
                   <field name="NUM">1000</field>
                 </shadow>
               </value>
             </block>
           </value>
         </block>
       </statement>
       <next>
         <block type="on_ext" id="J8C5.l@n=!ELlI4jb^Cv">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="`;Z)LfB(n.m5UePJboM.">
               <field name="oid">modbus.1.holdingRegisters.40226_M_Exported</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="update" id="3sKIv|]w==qqH!t]{]er">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="math_arithmetic" id="(V84_Uc.l7mo6_]Ndw=E">
                   <field name="OP">DIVIDE</field>
                   <value name="A">
                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                       <field name="NUM">1</field>
                     </shadow>
                     <block type="math_arithmetic" id="`wmR.[]:x(_|+Ks#Vjge">
                       <field name="OP">MINUS</field>
                       <value name="A">
                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="get_value" id="*?`QT7v~({Lk5}Q_W3Sp">
                           <field name="ATTR">val</field>
                           <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                         </block>
                       </value>
                       <value name="B">
                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="get_value" id="C/6|^=`oS?+z;ZgjfCQ8">
                           <field name="ATTR">val</field>
                           <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="B">
                     <shadow type="math_number" id="{g~E#A,TtN32@J#cPfMw">
                       <field name="NUM">1000</field>
                     </shadow>
                   </value>
                 </block>
               </value>
             </block>
           </statement>
           <next>
             <block type="on_ext" id="Pm$w:I$X8;ThSV?()/nh">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="e66:C.|L}2q?[6@59){[">
                   <field name="oid">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="update" id="t1/a#un}^R;:mQVHr8jm">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="math_arithmetic" id="ND)2(danTD2neCrSu2JB">
                       <field name="OP">DIVIDE</field>
                       <value name="A">
                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="math_arithmetic" id="?`iltSk96+NT/#(xwS?Y">
                           <field name="OP">MINUS</field>
                           <value name="A">
                             <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="get_value" id="OFk=pk-c-W=Gi}w$_Y2;">
                               <field name="ATTR">val</field>
                               <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                             </block>
                           </value>
                           <value name="B">
                             <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="get_value" id="ghQY!ub_kT5!C:SD]!6C">
                               <field name="ATTR">val</field>
                               <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="B">
                         <shadow type="math_number" id=",*aj+DPuKR(z2t@soOmt">
                           <field name="NUM">1000</field>
                         </shadow>
                       </value>
                     </block>
                   </value>
                 </block>
               </statement>
               <next>
                 <block type="schedule" id="y@C$399x.Z9LJOobUceT">
                   <field name="SCHEDULE">{"time":{"exactTime":true,"start":"02:30"},"period":{"days":1}}</field>
                   <statement name="STATEMENT">
                     <block type="comment" id="yU_Y*jFn(V4*WirA3rTP">
                       <field name="COMMENT">Zaehler nachts zuruecksetzen</field>
                       <next>
                         <block type="update" id="ZmWWr!J?Q}zQ3xq78J:g">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="math_arithmetic" id="e5viXk6#Wkb/hqiz{WOa">
                               <field name="OP">DIVIDE</field>
                               <value name="A">
                                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_arithmetic" id="n,)T9SU!pidKtCc7KB(7">
                                   <field name="OP">MINUS</field>
                                   <value name="A">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="get_value" id="qso(1r{,v2oE04.5]n]N">
                                       <field name="ATTR">val</field>
                                       <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="get_value" id="gjxk;XA/j|huHh)p77gz">
                                       <field name="ATTR">val</field>
                                       <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="j+)1Y}_JluEc)ku?BZPj">
                                   <field name="NUM">1000</field>
                                 </shadow>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="update" id="_wV6dLC~S.Bo7pp4.Aj~">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_arithmetic" id="nf3~e!!BaO*iq}*Kfz*Z">
                                   <field name="OP">DIVIDE</field>
                                   <value name="A">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="math_arithmetic" id="Ul[,7Q;(q]k7yr{seCG@">
                                       <field name="OP">MINUS</field>
                                       <value name="A">
                                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="get_value" id="P_)QxWEu)wh*,/yx$3#t">
                                           <field name="ATTR">val</field>
                                           <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="get_value" id="mFcJHv@,oR`k,4m?^}pH">
                                           <field name="ATTR">val</field>
                                           <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow type="math_number" id="j]J$8,Mk[^f@_k`R(9Yt">
                                       <field name="NUM">1000</field>
                                     </shadow>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="update" id="~@8dfv@ELn2/H2IA=AmM">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieAktuell</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_arithmetic" id="H5=db9;BV1SDP#{Xn01W">
                                       <field name="OP">DIVIDE</field>
                                       <value name="A">
                                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="math_arithmetic" id="lQn$HnGJA]r@=SmpO1}O">
                                           <field name="OP">MINUS</field>
                                           <value name="A">
                                             <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="get_value" id="Y#;DXy}HY5|D%74t]@o$">
                                               <field name="ATTR">val</field>
                                               <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="get_value" id="uZlP#=DTf:JC}=pj==8w">
                                               <field name="ATTR">val</field>
                                               <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number" id="-9Wj3.9tCx|jW??D(3w-">
                                           <field name="NUM">1000</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
    </xml>
    

    3. Gauge PV Leistung
    Quelle aus der InfluxDB sind

    • PVLeistungAktuell

    4. Stat Import/Export
    Quelle aus der InfluxDB sind

    • ACTotalRealPower

    5. Stat Hausverbrauch
    Quelle aus der InfluxDB sind

    • Hausverbrauch

    6. Stat Einspeisung heute
    Quelle aus der InfluxDB sind

    • PVExportierteEnergieAktuell -> siehe Blockly Script oben

    7. Stat PV Erzeugung heute
    Quelle aus der InfluxDB sind

    • PVErzeugteEnergieAktuell

    8. Stat Eigenverbrauch heute
    Quelle aus der InfluxDB sind

    • PVEigenverbrauchAktuell
      Blockly Script (PVEigenverbrauch):

    <xml xmlns="https://developers.google.com/blockly/xml">
     <block type="on_ext" id="5M,hgtrmhy-Ix[8jnCFF" x="-788" y="138">
       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
       <field name="CONDITION">ne</field>
       <field name="ACK_CONDITION"></field>
       <value name="OID0">
         <shadow type="field_oid" id="yQ06)5*@k]/k#[*a^Z$^">
           <field name="oid">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
         </shadow>
       </value>
       <statement name="STATEMENT">
         <block type="update" id="1dc~gm$kBR3F64Q_j#}}">
           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
           <field name="OID">javascript.0.Solar.Wechselrichter.PVEigenverbrauchAktuell</field>
           <field name="WITH_DELAY">FALSE</field>
           <value name="VALUE">
             <block type="math_arithmetic" id="t|ASI*V*8O-@Hi69]^F^">
               <field name="OP">MINUS</field>
               <value name="A">
                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="xKx}z@cYh|gQm$K7_yI/">
                   <field name="NUM">1</field>
                 </shadow>
                 <block type="get_value" id="e$tM9C/J*|FAH|eZ{8lb">
                   <field name="ATTR">val</field>
                   <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
                 </block>
               </value>
               <value name="B">
                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="S9|ObqahZ5YT5{CQPLO%">
                   <field name="NUM">1</field>
                 </shadow>
                 <block type="get_value" id="9IvPeD|%/z0+ql%M]qH3">
                   <field name="ATTR">val</field>
                   <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
                 </block>
               </value>
             </block>
           </value>
         </block>
       </statement>
     </block>
    </xml>
    

    9 Stat Nettobezug heute
    Quelle aus der InfluxDB sind

    • PVImpertierteEnergieAktuell -> siehe Blockly Script oben

    10 Stat Ersparnis Tag
    Quelle aus der InfluxDB sind

    • ErsparnisPVAnlageTag
      Blockly Script (Kosten):

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="RH9EQm/A27)/5,f9!!.a">alteVerguetunginEuro</variable>
       <variable id="G,3~x-$y}bZpvg,B)c4@">zaehlerstandVorErweiterunginWh</variable>
       <variable id="XuQ7aQui3+nJ(w,6PbtP">verguetungEinspeisung</variable>
       <variable id=":YJ`-i5/BCwOPU0eAA_h">eigenverbrauchInEur</variable>
     </variables>
     <block type="variables_set" id="V;zBuc1uVM)2]%Q?uyMU" x="87" y="63">
       <field name="VAR" id="RH9EQm/A27)/5,f9!!.a">alteVerguetunginEuro</field>
       <value name="VALUE">
         <block type="math_number" id="MN*t)_!p7(nU)*,XUffX">
           <field name="NUM">0</field>
         </block>
       </value>
       <next>
         <block type="variables_set" id="HOw2PBH1W2Pdk~q+9LKS">
           <field name="VAR" id="G,3~x-$y}bZpvg,B)c4@">zaehlerstandVorErweiterunginWh</field>
           <value name="VALUE">
             <block type="math_number" id="NS4W!jbM#yL9w,_+Y;Sb">
               <field name="NUM">0</field>
             </block>
           </value>
           <next>
             <block type="schedule" id="zB3LggJ$B):d0vMCvcV@">
               <field name="SCHEDULE">* * * * *</field>
               <statement name="STATEMENT">
                 <block type="variables_set" id="OU|}`0y|`f?$X[S7)Q(T">
                   <field name="VAR" id="XuQ7aQui3+nJ(w,6PbtP">verguetungEinspeisung</field>
                   <value name="VALUE">
                     <block type="math_arithmetic" id="]zc-b@#.dpi9xIH{!^j4">
                       <field name="OP">MULTIPLY</field>
                       <value name="A">
                         <shadow type="math_number" id="F6vPG7tIk~J)w#B{%hW[">
                           <field name="NUM">0.0865</field>
                         </shadow>
                       </value>
                       <value name="B">
                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="oOjLpAv;cD1vURKs-+^*">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="math_arithmetic" id="Vj0@PQlxy3o|^kW{hr#n">
                           <field name="OP">DIVIDE</field>
                           <value name="A">
                             <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="AA$RzH1s8p6dve[S_Dzc">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="math_arithmetic" id="4a-BI5U^#irTmft@kt+m">
                               <field name="OP">MINUS</field>
                               <value name="A">
                                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="!}!uz);7qw:GessR=Atf">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="get_value" id="w^FX*3FD,_cX)yzvU5u_">
                                   <field name="ATTR">val</field>
                                   <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="cL~EW9lC0KKmZaJ#`ydT">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="variables_get" id="vzKhNhtii%*u4y+^vl14">
                                   <field name="VAR" id="G,3~x-$y}bZpvg,B)c4@">zaehlerstandVorErweiterunginWh</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="6@{w}ka+@h(U_Z}3`msD">
                               <field name="NUM">1000</field>
                             </shadow>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="2XXblJ#5R/RdZ?T1`nn0">
                       <field name="VAR" id=":YJ`-i5/BCwOPU0eAA_h">eigenverbrauchInEur</field>
                       <value name="VALUE">
                         <block type="math_arithmetic" id="(S;+yowKA|O}d]gV7%Gs">
                           <field name="OP">MULTIPLY</field>
                           <value name="A">
                             <shadow type="math_number" id="VY|hI}:5E|u%y|wIv;*9">
                               <field name="NUM">0.28</field>
                             </shadow>
                           </value>
                           <value name="B">
                             <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="oOjLpAv;cD1vURKs-+^*">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="math_arithmetic" id="gfHo1Xv~P:_$J2r.;4?/">
                               <field name="OP">DIVIDE</field>
                               <value name="A">
                                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="{f8_M5v4E.foY4Gpxc.K">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_arithmetic" id="fK2sd4~f3k;4,(?o/j.Q">
                                   <field name="OP">MINUS</field>
                                   <value name="A">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="!}!uz);7qw:GessR=Atf">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="get_value" id="l:6]qx@gC/k8#*FjLU3+">
                                       <field name="ATTR">val</field>
                                       <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="cL~EW9lC0KKmZaJ#`ydT">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="get_value" id="1mY?IW+Z%GG].kX%^-p]">
                                       <field name="ATTR">val</field>
                                       <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="Ohtl=}3+MEsA~;q#NH%j">
                                   <field name="NUM">1000</field>
                                 </shadow>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="update" id="}YPw`(xCpX(FQ:FfGasv">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">javascript.0.Verbrauchszaehler.ErsparnisPVAnlageTotal</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="math_arithmetic" id="5ITK|.I9IAoHhOp_Tfpu">
                               <field name="OP">ADD</field>
                               <value name="A">
                                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-OIq=i/E/tnQr9=,E%aC">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="variables_get" id="^1v{)YbGWlXcNT9dA}-n">
                                   <field name="VAR" id=":YJ`-i5/BCwOPU0eAA_h">eigenverbrauchInEur</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="AtYn15(;S%;+)k)QS8W]">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_arithmetic" id="GOEgI43fkbKJXQIl]EuF">
                                   <field name="OP">ADD</field>
                                   <value name="A">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="n6iab!w_VihL-dvLvzl@">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="variables_get" id="#Zr%D,Y*Fgw-tIh+9JkQ">
                                       <field name="VAR" id="XuQ7aQui3+nJ(w,6PbtP">verguetungEinspeisung</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Pptf%9vnV8f1gb[}Ya@a">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="variables_get" id="5dg4pd~(FZ{tfICf[Tj/">
                                       <field name="VAR" id="RH9EQm/A27)/5,f9!!.a">alteVerguetunginEuro</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="update" id="]L)lmNygUn}[y(fd1/Sd">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">javascript.0.Verbrauchszaehler.ErsparnisPVAnlageTag</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_arithmetic" id="$0LJ$9Q:YSZzD8y;I@0F">
                                   <field name="OP">ADD</field>
                                   <value name="A">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Toy:d*),adcVSo+K_lqK">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="math_arithmetic" id="CI1z)B4@89?(44`2MNzF">
                                       <field name="OP">MULTIPLY</field>
                                       <value name="A">
                                         <shadow type="math_number" id="/-}D,;4^+[TW`9?M91Q8">
                                           <field name="NUM">0.0865</field>
                                         </shadow>
                                       </value>
                                       <value name="B">
                                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="zZVo$tldMrv1m$Ptw{jk">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="get_value" id="BSa!^BO(?_}H^-.Om9}r">
                                           <field name="ATTR">val</field>
                                           <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="mVYu@[@=0wdc|cBIF%Uv">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="math_arithmetic" id="rRNhB[=y@lb?i0gfgs{h">
                                       <field name="OP">MULTIPLY</field>
                                       <value name="A">
                                         <shadow type="math_number" id="GzzK$:v.k5g;Y_]$wD-e">
                                           <field name="NUM">0.28</field>
                                         </shadow>
                                       </value>
                                       <value name="B">
                                         <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-N*PGWro,12S`6=xGo!J">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="get_value" id="+[xzdM[bfEzXwO|EuCXt">
                                           <field name="ATTR">val</field>
                                           <field name="OID">javascript.0.Solar.Wechselrichter.PVEigenverbrauchAktuell</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </next>
         </block>
       </next>
     </block>
    </xml>
    

    11 Stat Ersparnis Total
    Quelle aus der InfluxDB sind

    • ErsparnisPVAnlageTotal -> siehe Blockly Script oben

    Und hier noch das Blockly für PvErzeugteEnergieTag:

    <xml xmlns="https://developers.google.com/blockly/xml">
     <block type="schedule" id="?E~kcU0bFAPBr#8X[9Ct" x="-312" y="63">
       <field name="SCHEDULE">{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}</field>
       <statement name="STATEMENT">
         <block type="debug" id="]6=Vt7hsQU72ZzTI{(}$">
           <field name="Severity">debug</field>
           <value name="TEXT">
             <shadow type="text" id="65m?5!q#rJl|T?[}O1oQ">
               <field name="TEXT">Erzeugungswerte zurückgesetzt</field>
             </shadow>
           </value>
           <next>
             <block type="update" id="V^ZmST?[g8:!{Zf;QCH~">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="get_value" id="3T@bw6.[![xO6a[ilRNw">
                   <field name="ATTR">val</field>
                   <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                 </block>
               </value>
               <next>
                 <block type="update" id="W;76rKmS~WWjq^PF]pVA">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="get_value" id="5fUwQ8sFhmTtZY:ohQ0n">
                       <field name="ATTR">val</field>
                       <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                     </block>
                   </value>
                   <next>
                     <block type="update" id="~-n4R,^5y_bEx/r~4ou3">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="get_value" id="4Eqn%o(3UE9bGH]~rfO?">
                           <field name="ATTR">val</field>
                           <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                         </block>
                       </value>
                       <next>
                         <block type="update" id="Jy3cadEAVu#.qV~77KTX" disabled="true">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">javascript.0.Solar.ErsparnisAnlageTag</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="math_number" id="aF,ieDq~(k]rM{732-%R">
                               <field name="NUM">0</field>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </statement>
       <next>
         <block type="schedule" id="Kh%yZsQ}8hIIOXi)mvts">
           <field name="SCHEDULE">{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}</field>
           <statement name="STATEMENT">
             <block type="debug" id="mh=V/qM!U!j}:QI?~/B}">
               <field name="Severity">debug</field>
               <value name="TEXT">
                 <shadow type="text" id="KZK}6p%YYswdB_o6?SQW">
                   <field name="TEXT">Erzeugungswerte zurückgesetzt</field>
                 </shadow>
               </value>
               <next>
                 <block type="update" id="2Qc-2ES-q3=NkAz0Pqv:">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="get_value" id="D@/b;fd@f6uT8rTP/{%c">
                       <field name="ATTR">val</field>
                       <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                     </block>
                   </value>
                   <next>
                     <block type="update" id="{nC67B?Dq065X]zdY_;%">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="get_value" id="Fo}I9_Wdy`B9A?k%zWYC">
                           <field name="ATTR">val</field>
                           <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                         </block>
                       </value>
                       <next>
                         <block type="update" id="K_Po!y[{wL+ejEOn@7#=">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="get_value" id="*MR^,L`biRH^?ma2ik~E">
                               <field name="ATTR">val</field>
                               <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                             </block>
                           </value>
                           <next>
                             <block type="update" id="XA8LZ[F)Q:L-Pdjji,;*" disabled="true">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">javascript.0.Solar.ErsparnisAnlageTag</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="Nl+pd_mIr(9/@X~o{Y]@">
                                   <field name="NUM">0</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
           <next>
             <block type="schedule" id="u.71Z=3nhv`i-UJ$X@@k">
               <field name="SCHEDULE">{"time":{"exactTime":true,"start":"00:00"},"period":{"days":1}}</field>
               <statement name="STATEMENT">
                 <block type="debug" id="0G1JB|Ur#*:*w(@nr9+N">
                   <field name="Severity">debug</field>
                   <value name="TEXT">
                     <shadow type="text" id="XaK7Pz1epQ4ezA|H=d8p">
                       <field name="TEXT">Erzeugungswerte zurückgesetzt</field>
                     </shadow>
                   </value>
                   <next>
                     <block type="update" id="8|$NEoJOFI?8/O4]kGkT">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="get_value" id="I/$M}OVw;+pmAFg_l|ZY">
                           <field name="ATTR">val</field>
                           <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                         </block>
                       </value>
                       <next>
                         <block type="update" id="TefH)T=^2,k1g?Bor;t{">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="get_value" id="jey.5SwVHT*,jgUjR{WC">
                               <field name="ATTR">val</field>
                               <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                             </block>
                           </value>
                           <next>
                             <block type="update" id="Jl5s+I=#hSS#_1m83T!C" disabled="true">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="get_value" id="iM}^=!W}ktWgU3@RbvrQ">
                                   <field name="ATTR">val</field>
                                   <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </next>
         </block>
       </next>
     </block>
    </xml>
    

    Korrekturen und coole neue Ideen sind gerne gesehen

    A Offline
    A Offline
    Aare 07
    schrieb am zuletzt editiert von
    #8

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

    Grafana Dashboard

    Hallo Hennerich
    Sieht super aus Dein Dashbord.
    Die PV Erzeugung 3 Wochen unten rechts kriege ich nicht hin.
    Kannst Du die Konfig mal erläutern, der Rest gerne auch..

    Raspi 4 SSD ioBroker

    H 1 Antwort Letzte Antwort
    0
    • A Aare 07

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

      Grafana Dashboard

      Hallo Hennerich
      Sieht super aus Dein Dashbord.
      Die PV Erzeugung 3 Wochen unten rechts kriege ich nicht hin.
      Kannst Du die Konfig mal erläutern, der Rest gerne auch..

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

      @Aare-07
      Habs im Teil 3 mal ergänzt. Schau mal, ob du damit weiter kommst.

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

      A 1 Antwort Letzte Antwort
      0
      • H hennerich

        @Aare-07
        Habs im Teil 3 mal ergänzt. Schau mal, ob du damit weiter kommst.

        A Offline
        A Offline
        Aare 07
        schrieb am zuletzt editiert von
        #10

        @hennerich
        Supergenial die Infofülle. Danke!
        Wo ich grad keinen Durchblick habe und die Frage hinzielte war betreffend der Visualisierung in Grafana.
        Wie machst Du von diesen Zehntagesverlaufsbalken in Grafana?
        Die Frage ging in die Richtung: Hast du Screenshot oder SQL Sniplet und Dashborad Einstellung der Abfrage in Grafana?
        Ich bringe die schöne Vergleichsgrafik der letzten x Tage nicht hin...

        Raspi 4 SSD ioBroker

        H 1 Antwort Letzte Antwort
        0
        • A Aare 07

          @hennerich
          Supergenial die Infofülle. Danke!
          Wo ich grad keinen Durchblick habe und die Frage hinzielte war betreffend der Visualisierung in Grafana.
          Wie machst Du von diesen Zehntagesverlaufsbalken in Grafana?
          Die Frage ging in die Richtung: Hast du Screenshot oder SQL Sniplet und Dashborad Einstellung der Abfrage in Grafana?
          Ich bringe die schöne Vergleichsgrafik der letzten x Tage nicht hin...

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

          @Aare-07
          Ich hab mal ein json aus dem Grafana exportiert (siehe Teil 3 oben). Klappt das mit dem Import?

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

          A 1 Antwort Letzte Antwort
          0
          • H hennerich

            @Aare-07
            Ich hab mal ein json aus dem Grafana exportiert (siehe Teil 3 oben). Klappt das mit dem Import?

            A Offline
            A Offline
            Aare 07
            schrieb am zuletzt editiert von
            #12

            @hennerich
            Ja Import hat geklappt und hilft weiter. Danke!

            Raspi 4 SSD ioBroker

            1 Antwort Letzte Antwort
            0
            • H hennerich

              Teil2 – Werte umrechnen und in Grafana anzeigen

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

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

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

              Energiezähler

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

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

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


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

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

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

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

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

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

              Für den Wert 40206: Total Real Power legt ihr folgendes JS Script an:

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

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

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

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

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

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

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

              A Offline
              A Offline
              Aare 07
              schrieb am zuletzt editiert von
              #13

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

              Habt ihr andere Dinge umgesetzt? Leitet ihr Infos aus anderen Werten ab, die ich noch gar nicht auf dem Schirm habe?

              Was ich plane ist die voraussichtliche PV Leistung von morgen zu berücksichtigen. Berechnung sowas wie dein Sonnenstand Script mit der Wetterprognose verknüpft. Beispiel hier https://www.photovoltaikforum.com/thread/128698-pimp-my-autarkiegrad-eigenverbrauch-optimieren-pv-ertrag-via-kurzzeitprognosen-d/ aus DWD Opendata https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L . Oder alternativ einfacher gesteuert vom gelieferten Wettericon eines vorhandenen Wetteradapters.
              Ziel: Wenn für morgen keine Sonne vorausgesagt ist heize ich mit der Wärmepumpe mit günstigerem Nachtstrom. Wenn Sonne vorausgesagt ist warte ich mit dem füllen des Puffers auf den PV Ertrag des kommenden Tages. Da meine Scriptfähigleiten sehr rudimentär sind befürchte ich dass das noch sehr lange dauern wird (oder hoffe dass ein gewiefter Scripter die Idee umsetzt ;) )

              Raspi 4 SSD ioBroker

              H S 2 Antworten Letzte Antwort
              2
              • A Aare 07

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

                Habt ihr andere Dinge umgesetzt? Leitet ihr Infos aus anderen Werten ab, die ich noch gar nicht auf dem Schirm habe?

                Was ich plane ist die voraussichtliche PV Leistung von morgen zu berücksichtigen. Berechnung sowas wie dein Sonnenstand Script mit der Wetterprognose verknüpft. Beispiel hier https://www.photovoltaikforum.com/thread/128698-pimp-my-autarkiegrad-eigenverbrauch-optimieren-pv-ertrag-via-kurzzeitprognosen-d/ aus DWD Opendata https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L . Oder alternativ einfacher gesteuert vom gelieferten Wettericon eines vorhandenen Wetteradapters.
                Ziel: Wenn für morgen keine Sonne vorausgesagt ist heize ich mit der Wärmepumpe mit günstigerem Nachtstrom. Wenn Sonne vorausgesagt ist warte ich mit dem füllen des Puffers auf den PV Ertrag des kommenden Tages. Da meine Scriptfähigleiten sehr rudimentär sind befürchte ich dass das noch sehr lange dauern wird (oder hoffe dass ein gewiefter Scripter die Idee umsetzt ;) )

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

                @Aare-07
                Interessant. Sowas ähnliches hatte ich auch vor. Allerdings nicht mit meiner WP sondern mit einem Heizstab. Ich wollte vermeiden, dass die WP bei schwankender Leistung immer Strom aus dem Netz beziehen muss, weil die Mindestlaufzeit 15min beträgt. Und wenn immer mal wieder Wolken durchziehen und bei Sonne das Signal WP AN kommt, verbrauche ich bestimmt zu viel Netzstrom. Daher der (stufenlos regelbare) Heizstab. Aber die Anlage muss erstmal paar Monate laufen, damit ich ein Gefühl dafür bekomme.

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

                1 Antwort Letzte Antwort
                0
                • H hennerich

                  Teil3 – Visualisierung (ob mit Grafana oder mit anderen Tools muss ich sehen)
                  ongoing, erster Screenshot von meinem Grafana Dashboard (auch hier danke an inkoFa, das ist nämlich seine Idee gewesen).
                  29780207-dc8d-4d73-bee0-8348d48a33c8-grafik.png

                  HIer noch das Grafana json für einen Import.
                  PV Anlage-1605288773411.json

                  Damit ihr euch das auch nachbauen könnt, erkläre ich nachfolgend welche Einstellungen dafür notwendig sind. Der linke Block kommt von meiner Heizung, den lasse ich außen vor und konzentriere mich nur auf die PV Sachen.

                  1. Graph PV
                  Quellen aus der InfluxDB sind

                  • PVLeistungAktuell -> gelber Graph
                  • Hausverbrauch -> blauer Graph
                  • TempWechselrichter -> orangener Graph
                  • (Sonnenstand) -> gestrichelt grüne Linie

                  Die ersten 3 Werte solltet ihr schon haben wenn ihr oben aus meinem Teil 2 die Sachen übernommen habt.

                  Sonnenstand war ein fertiges JS Script:

                  // calculates the sun position, path and power throughout the day
                  // based on from http://www.stjarnhimlen.se/comp/tutorial.html
                  // most var-names are identical to above tutorial
                  // combined with Sonnenstand-Script: paul53, pix; 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&sid=6f0ba055de5f82eed6809424f49ca93b#p7635
                  // Angepasst ykuendig 12.02.17; stringify im log, ack = true bei setState und Diverses 
                  
                  var suncalc = require('suncalc'),
                     result =  getObject("system.adapter.javascript.0"),
                     lat =  result.native.latitude,
                     long = result.native.longitude;
                     log("long: " + long + " - lat: " + lat);
                  
                  var modtilt =       50;     //Dachneigung in Grad (Solar panel's tilt angle)
                  var modazi =        285;    //Ausrichtung des Hauses in Grad zB SSW (Solar panel's azimut)
                  var modsufrace =    148.0;   //Paneloberfläche in m2 (Solar panel's surface in sq. meters)
                  var modeff =        0.211;  //Annäherung an Panel-Wirkungsgrad zB 18 Prozent (modules efficiency correction)
                                                          // Hier kann an einem klaren Tag etwas geschraubt werden ;-)
                  
                  var altitude;       // Calculated Elevation
                  var azimuth;        // Calculated Azimuth
                  
                  createState('javascript.0.Solar.Sonnenstand.Elevation', 0, {unit: '°'});
                  createState('javascript.0.Solar.Sonnenstand.Azimut', 0, {unit: '°'});
                  createState('javascript.0.Solar.Sonnenstand.PanelPossible', 0, {unit: 'W'});
                  // ganz am Ende die setStates anpassen nicht vergessen!
                  
                  // Do not change below, until You know what You are doing!
                  // ********************************************************
                  
                  Math.degrees = function(radians) {return radians * 180 / Math.PI;};
                  Math.radians = function(degrees) {return degrees * Math.PI / 180;};
                  
                  function Sonnenstand_berechnen () {
                     var now = new Date();
                     var sunpos = suncalc.getPosition(now, lat, long);
                     log("Script Sonnenstand; latitude : " + result.native.latitude + " / longitude: " + result.native.longitude,'debug');
                     log("Script Sonnenstand; sunpos: " + JSON.stringify(sunpos),'debug');
                  
                     altitude = Math.degrees(sunpos.altitude);
                     azimuth =  Math.degrees(sunpos.azimuth) + 180;
                  
                     // The intensity of the direct component of sunlight throughout each day can be determined as 
                     // a function of air mass. based on: http://pveducation.org/pvcdrom/properties-of-sunlight/air-mass#formula
                     var airmass = 1/Math.cos((90-altitude)*4*Math.asin(1)/360); 
                  
                     // Sincident is the intensity on a plane perpendicular to the sun's rays in units of kW/m2 and AM is the air mass.
                     // The value of 1.353 kW/m2 is the solar constant and the number 0.7 arises from the fact that about 70% of the radiation incident on the atmosphere is transmitted
                     // to the Earth. The extra power term of 0.678 is an empirical fit to the observed data and takes into account the non-uniformities in the atmospheric layers.
                     // ykuendig: use different values because of pv instead thermal panels
                     var Sincident = (1.367*Math.pow(0.78,Math.pow(airmass,0.6)));
                     var fraction = Math.cos(altitude*4*Math.asin(1)/360)*Math.sin(modtilt*4*Math.asin(1)/360)*Math.cos(azimuth*4*Math.asin(1)/360-modazi*4*Math.asin(1)/360)+Math.sin(altitude*4*Math.asin(1)/360)*Math.cos(modtilt*4*Math.asin(1)/360);
                  
                     // W/m² light intensity on the module * module's surface
                     var SmoduleInt = Sincident * fraction * modsufrace * 1000;
                     if(SmoduleInt<0) {
                         SmoduleInt =    0;
                     }
                     // Module Effective in relation of the efficiency of the used panel
                     var SmoduleEff = SmoduleInt * modeff;
                  
                     if( altitude < 0 ) {
                         SmoduleInt =    0;
                         SmoduleEff =    0;
                         altitude =      0;
                     }
                  
                     log("Script Sonnenstand; Erfolgreich gelaufen, Werte akzeptiert", "info");
                     log("Script Sonnenstand; airmass: " + airmass,"debug");
                     log("Script Sonnenstand; azimuth: " + azimuth,"debug");
                     log("Script Sonnenstand; altitude: " + altitude,"debug");
                     log("Script Sonnenstand; SmoduleInt: " + SmoduleInt,"debug");
                     log("Script Sonnenstand; SmoduleEff: " + SmoduleEff,"debug");
                  
                     // Change ID to the created States
                     setState('javascript.0.Solar.Sonnenstand.Elevation'/*javascript 0 Solar Sonnenstand Elevation*/,altitude.toFixed(1), true);
                     setState('javascript.0.Solar.Sonnenstand.Azimut'/*javascript 0 Solar Sonnenstand Azimut*/,azimuth.toFixed(), true);
                     setState('javascript.0.Solar.Sonnenstand.PanelPossible'/*javascript 0 Solar Sonnenstand PanelPossible*/, SmoduleEff.toFixed(), true);
                  }
                  
                  // -> Zyklisch
                  
                  schedule("*/10 * * * *", Sonnenstand_berechnen);
                  Sonnenstand_berechnen(); // bei Scriptstart
                  
                  


                  2. Graph PV Erzeugung in kWh
                  Quelle aus der InfluxDB sind

                  • PVErzeugteEnergieAktuell
                    Blockly Script (PVBerechneTageswerte):

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <block type="on_ext" id="y@lWX)*%NiA!ZGLd:;Q$" x="-687" y="87">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="9.%}C_f#R|xD+X-(7)r2">
                         <field name="oid">modbus.1.holdingRegisters.40234_M_Imported</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="update" id="x.N~f*hrQxS~@9cMYoiE">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieAktuell</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="math_arithmetic" id="D*z62x|?#F|Qe8hp+]U#">
                             <field name="OP">DIVIDE</field>
                             <value name="A">
                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="math_arithmetic" id="_0_3+_+SBF]n}Kb~ltP`">
                                 <field name="OP">MINUS</field>
                                 <value name="A">
                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="get_value" id="^.WWE79[swjNwM%X:zJ#">
                                     <field name="ATTR">val</field>
                                     <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="get_value" id="rHO$M#tK%xLrylsZ-_T^">
                                     <field name="ATTR">val</field>
                                     <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number" id="+9z/fggnWUX%RN-aCC}H">
                                 <field name="NUM">1000</field>
                               </shadow>
                             </value>
                           </block>
                         </value>
                       </block>
                     </statement>
                     <next>
                       <block type="on_ext" id="J8C5.l@n=!ELlI4jb^Cv">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="`;Z)LfB(n.m5UePJboM.">
                             <field name="oid">modbus.1.holdingRegisters.40226_M_Exported</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="update" id="3sKIv|]w==qqH!t]{]er">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="math_arithmetic" id="(V84_Uc.l7mo6_]Ndw=E">
                                 <field name="OP">DIVIDE</field>
                                 <value name="A">
                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="math_arithmetic" id="`wmR.[]:x(_|+Ks#Vjge">
                                     <field name="OP">MINUS</field>
                                     <value name="A">
                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="get_value" id="*?`QT7v~({Lk5}Q_W3Sp">
                                         <field name="ATTR">val</field>
                                         <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="get_value" id="C/6|^=`oS?+z;ZgjfCQ8">
                                         <field name="ATTR">val</field>
                                         <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <shadow type="math_number" id="{g~E#A,TtN32@J#cPfMw">
                                     <field name="NUM">1000</field>
                                   </shadow>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </statement>
                         <next>
                           <block type="on_ext" id="Pm$w:I$X8;ThSV?()/nh">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                             <field name="CONDITION">ne</field>
                             <field name="ACK_CONDITION"></field>
                             <value name="OID0">
                               <shadow type="field_oid" id="e66:C.|L}2q?[6@59){[">
                                 <field name="oid">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                               </shadow>
                             </value>
                             <statement name="STATEMENT">
                               <block type="update" id="t1/a#un}^R;:mQVHr8jm">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_arithmetic" id="ND)2(danTD2neCrSu2JB">
                                     <field name="OP">DIVIDE</field>
                                     <value name="A">
                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="math_arithmetic" id="?`iltSk96+NT/#(xwS?Y">
                                         <field name="OP">MINUS</field>
                                         <value name="A">
                                           <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="get_value" id="OFk=pk-c-W=Gi}w$_Y2;">
                                             <field name="ATTR">val</field>
                                             <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="get_value" id="ghQY!ub_kT5!C:SD]!6C">
                                             <field name="ATTR">val</field>
                                             <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <shadow type="math_number" id=",*aj+DPuKR(z2t@soOmt">
                                         <field name="NUM">1000</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                             <next>
                               <block type="schedule" id="y@C$399x.Z9LJOobUceT">
                                 <field name="SCHEDULE">{"time":{"exactTime":true,"start":"02:30"},"period":{"days":1}}</field>
                                 <statement name="STATEMENT">
                                   <block type="comment" id="yU_Y*jFn(V4*WirA3rTP">
                                     <field name="COMMENT">Zaehler nachts zuruecksetzen</field>
                                     <next>
                                       <block type="update" id="ZmWWr!J?Q}zQ3xq78J:g">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_arithmetic" id="e5viXk6#Wkb/hqiz{WOa">
                                             <field name="OP">DIVIDE</field>
                                             <value name="A">
                                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="math_arithmetic" id="n,)T9SU!pidKtCc7KB(7">
                                                 <field name="OP">MINUS</field>
                                                 <value name="A">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="qso(1r{,v2oE04.5]n]N">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="gjxk;XA/j|huHh)p77gz">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number" id="j+)1Y}_JluEc)ku?BZPj">
                                                 <field name="NUM">1000</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="_wV6dLC~S.Bo7pp4.Aj~">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_arithmetic" id="nf3~e!!BaO*iq}*Kfz*Z">
                                                 <field name="OP">DIVIDE</field>
                                                 <value name="A">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="Ul[,7Q;(q]k7yr{seCG@">
                                                     <field name="OP">MINUS</field>
                                                     <value name="A">
                                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="get_value" id="P_)QxWEu)wh*,/yx$3#t">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="get_value" id="mFcJHv@,oR`k,4m?^}pH">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number" id="j]J$8,Mk[^f@_k`R(9Yt">
                                                     <field name="NUM">1000</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="update" id="~@8dfv@ELn2/H2IA=AmM">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieAktuell</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="math_arithmetic" id="H5=db9;BV1SDP#{Xn01W">
                                                     <field name="OP">DIVIDE</field>
                                                     <value name="A">
                                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$LhQAF.]o#4@Xh5`EAeM">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="math_arithmetic" id="lQn$HnGJA]r@=SmpO1}O">
                                                         <field name="OP">MINUS</field>
                                                         <value name="A">
                                                           <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="HdAZmZam!E1M(bmm*0$n">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="get_value" id="Y#;DXy}HY5|D%74t]@o$">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="~W}+q464q`s+|e;)%}jr">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="get_value" id="uZlP#=DTf:JC}=pj==8w">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="-9Wj3.9tCx|jW??D(3w-">
                                                         <field name="NUM">1000</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  3. Gauge PV Leistung
                  Quelle aus der InfluxDB sind

                  • PVLeistungAktuell

                  4. Stat Import/Export
                  Quelle aus der InfluxDB sind

                  • ACTotalRealPower

                  5. Stat Hausverbrauch
                  Quelle aus der InfluxDB sind

                  • Hausverbrauch

                  6. Stat Einspeisung heute
                  Quelle aus der InfluxDB sind

                  • PVExportierteEnergieAktuell -> siehe Blockly Script oben

                  7. Stat PV Erzeugung heute
                  Quelle aus der InfluxDB sind

                  • PVErzeugteEnergieAktuell

                  8. Stat Eigenverbrauch heute
                  Quelle aus der InfluxDB sind

                  • PVEigenverbrauchAktuell
                    Blockly Script (PVEigenverbrauch):

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <block type="on_ext" id="5M,hgtrmhy-Ix[8jnCFF" x="-788" y="138">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="yQ06)5*@k]/k#[*a^Z$^">
                         <field name="oid">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="update" id="1dc~gm$kBR3F64Q_j#}}">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">javascript.0.Solar.Wechselrichter.PVEigenverbrauchAktuell</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="math_arithmetic" id="t|ASI*V*8O-@Hi69]^F^">
                             <field name="OP">MINUS</field>
                             <value name="A">
                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="xKx}z@cYh|gQm$K7_yI/">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="get_value" id="e$tM9C/J*|FAH|eZ{8lb">
                                 <field name="ATTR">val</field>
                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell</field>
                               </block>
                             </value>
                             <value name="B">
                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="S9|ObqahZ5YT5{CQPLO%">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="get_value" id="9IvPeD|%/z0+ql%M]qH3">
                                 <field name="ATTR">val</field>
                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                  </xml>
                  

                  9 Stat Nettobezug heute
                  Quelle aus der InfluxDB sind

                  • PVImpertierteEnergieAktuell -> siehe Blockly Script oben

                  10 Stat Ersparnis Tag
                  Quelle aus der InfluxDB sind

                  • ErsparnisPVAnlageTag
                    Blockly Script (Kosten):

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="RH9EQm/A27)/5,f9!!.a">alteVerguetunginEuro</variable>
                     <variable id="G,3~x-$y}bZpvg,B)c4@">zaehlerstandVorErweiterunginWh</variable>
                     <variable id="XuQ7aQui3+nJ(w,6PbtP">verguetungEinspeisung</variable>
                     <variable id=":YJ`-i5/BCwOPU0eAA_h">eigenverbrauchInEur</variable>
                   </variables>
                   <block type="variables_set" id="V;zBuc1uVM)2]%Q?uyMU" x="87" y="63">
                     <field name="VAR" id="RH9EQm/A27)/5,f9!!.a">alteVerguetunginEuro</field>
                     <value name="VALUE">
                       <block type="math_number" id="MN*t)_!p7(nU)*,XUffX">
                         <field name="NUM">0</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="HOw2PBH1W2Pdk~q+9LKS">
                         <field name="VAR" id="G,3~x-$y}bZpvg,B)c4@">zaehlerstandVorErweiterunginWh</field>
                         <value name="VALUE">
                           <block type="math_number" id="NS4W!jbM#yL9w,_+Y;Sb">
                             <field name="NUM">0</field>
                           </block>
                         </value>
                         <next>
                           <block type="schedule" id="zB3LggJ$B):d0vMCvcV@">
                             <field name="SCHEDULE">* * * * *</field>
                             <statement name="STATEMENT">
                               <block type="variables_set" id="OU|}`0y|`f?$X[S7)Q(T">
                                 <field name="VAR" id="XuQ7aQui3+nJ(w,6PbtP">verguetungEinspeisung</field>
                                 <value name="VALUE">
                                   <block type="math_arithmetic" id="]zc-b@#.dpi9xIH{!^j4">
                                     <field name="OP">MULTIPLY</field>
                                     <value name="A">
                                       <shadow type="math_number" id="F6vPG7tIk~J)w#B{%hW[">
                                         <field name="NUM">0.0865</field>
                                       </shadow>
                                     </value>
                                     <value name="B">
                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="oOjLpAv;cD1vURKs-+^*">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="math_arithmetic" id="Vj0@PQlxy3o|^kW{hr#n">
                                         <field name="OP">DIVIDE</field>
                                         <value name="A">
                                           <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="AA$RzH1s8p6dve[S_Dzc">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="math_arithmetic" id="4a-BI5U^#irTmft@kt+m">
                                             <field name="OP">MINUS</field>
                                             <value name="A">
                                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="!}!uz);7qw:GessR=Atf">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="get_value" id="w^FX*3FD,_cX)yzvU5u_">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="cL~EW9lC0KKmZaJ#`ydT">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="variables_get" id="vzKhNhtii%*u4y+^vl14">
                                                 <field name="VAR" id="G,3~x-$y}bZpvg,B)c4@">zaehlerstandVorErweiterunginWh</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="6@{w}ka+@h(U_Z}3`msD">
                                             <field name="NUM">1000</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="2XXblJ#5R/RdZ?T1`nn0">
                                     <field name="VAR" id=":YJ`-i5/BCwOPU0eAA_h">eigenverbrauchInEur</field>
                                     <value name="VALUE">
                                       <block type="math_arithmetic" id="(S;+yowKA|O}d]gV7%Gs">
                                         <field name="OP">MULTIPLY</field>
                                         <value name="A">
                                           <shadow type="math_number" id="VY|hI}:5E|u%y|wIv;*9">
                                             <field name="NUM">0.28</field>
                                           </shadow>
                                         </value>
                                         <value name="B">
                                           <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="oOjLpAv;cD1vURKs-+^*">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="math_arithmetic" id="gfHo1Xv~P:_$J2r.;4?/">
                                             <field name="OP">DIVIDE</field>
                                             <value name="A">
                                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="{f8_M5v4E.foY4Gpxc.K">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="math_arithmetic" id="fK2sd4~f3k;4,(?o/j.Q">
                                                 <field name="OP">MINUS</field>
                                                 <value name="A">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="!}!uz);7qw:GessR=Atf">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="l:6]qx@gC/k8#*FjLU3+">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="cL~EW9lC0KKmZaJ#`ydT">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value" id="1mY?IW+Z%GG].kX%^-p]">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number" id="Ohtl=}3+MEsA~;q#NH%j">
                                                 <field name="NUM">1000</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id="}YPw`(xCpX(FQ:FfGasv">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">javascript.0.Verbrauchszaehler.ErsparnisPVAnlageTotal</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_arithmetic" id="5ITK|.I9IAoHhOp_Tfpu">
                                             <field name="OP">ADD</field>
                                             <value name="A">
                                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-OIq=i/E/tnQr9=,E%aC">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="variables_get" id="^1v{)YbGWlXcNT9dA}-n">
                                                 <field name="VAR" id=":YJ`-i5/BCwOPU0eAA_h">eigenverbrauchInEur</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="AtYn15(;S%;+)k)QS8W]">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="math_arithmetic" id="GOEgI43fkbKJXQIl]EuF">
                                                 <field name="OP">ADD</field>
                                                 <value name="A">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="n6iab!w_VihL-dvLvzl@">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="variables_get" id="#Zr%D,Y*Fgw-tIh+9JkQ">
                                                     <field name="VAR" id="XuQ7aQui3+nJ(w,6PbtP">verguetungEinspeisung</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Pptf%9vnV8f1gb[}Ya@a">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="variables_get" id="5dg4pd~(FZ{tfICf[Tj/">
                                                     <field name="VAR" id="RH9EQm/A27)/5,f9!!.a">alteVerguetunginEuro</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="]L)lmNygUn}[y(fd1/Sd">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Verbrauchszaehler.ErsparnisPVAnlageTag</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_arithmetic" id="$0LJ$9Q:YSZzD8y;I@0F">
                                                 <field name="OP">ADD</field>
                                                 <value name="A">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Toy:d*),adcVSo+K_lqK">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="CI1z)B4@89?(44`2MNzF">
                                                     <field name="OP">MULTIPLY</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="/-}D,;4^+[TW`9?M91Q8">
                                                         <field name="NUM">0.0865</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="B">
                                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="zZVo$tldMrv1m$Ptw{jk">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="get_value" id="BSa!^BO(?_}H^-.Om9}r">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieAktuell</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="mVYu@[@=0wdc|cBIF%Uv">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="rRNhB[=y@lb?i0gfgs{h">
                                                     <field name="OP">MULTIPLY</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="GzzK$:v.k5g;Y_]$wD-e">
                                                         <field name="NUM">0.28</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="B">
                                                       <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-N*PGWro,12S`6=xGo!J">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="get_value" id="+[xzdM[bfEzXwO|EuCXt">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">javascript.0.Solar.Wechselrichter.PVEigenverbrauchAktuell</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  11 Stat Ersparnis Total
                  Quelle aus der InfluxDB sind

                  • ErsparnisPVAnlageTotal -> siehe Blockly Script oben

                  Und hier noch das Blockly für PvErzeugteEnergieTag:

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <block type="schedule" id="?E~kcU0bFAPBr#8X[9Ct" x="-312" y="63">
                     <field name="SCHEDULE">{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}</field>
                     <statement name="STATEMENT">
                       <block type="debug" id="]6=Vt7hsQU72ZzTI{(}$">
                         <field name="Severity">debug</field>
                         <value name="TEXT">
                           <shadow type="text" id="65m?5!q#rJl|T?[}O1oQ">
                             <field name="TEXT">Erzeugungswerte zurückgesetzt</field>
                           </shadow>
                         </value>
                         <next>
                           <block type="update" id="V^ZmST?[g8:!{Zf;QCH~">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="get_value" id="3T@bw6.[![xO6a[ilRNw">
                                 <field name="ATTR">val</field>
                                 <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                               </block>
                             </value>
                             <next>
                               <block type="update" id="W;76rKmS~WWjq^PF]pVA">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="get_value" id="5fUwQ8sFhmTtZY:ohQ0n">
                                     <field name="ATTR">val</field>
                                     <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="update" id="~-n4R,^5y_bEx/r~4ou3">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="get_value" id="4Eqn%o(3UE9bGH]~rfO?">
                                         <field name="ATTR">val</field>
                                         <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id="Jy3cadEAVu#.qV~77KTX" disabled="true">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">javascript.0.Solar.ErsparnisAnlageTag</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_number" id="aF,ieDq~(k]rM{732-%R">
                                             <field name="NUM">0</field>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                     <next>
                       <block type="schedule" id="Kh%yZsQ}8hIIOXi)mvts">
                         <field name="SCHEDULE">{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}</field>
                         <statement name="STATEMENT">
                           <block type="debug" id="mh=V/qM!U!j}:QI?~/B}">
                             <field name="Severity">debug</field>
                             <value name="TEXT">
                               <shadow type="text" id="KZK}6p%YYswdB_o6?SQW">
                                 <field name="TEXT">Erzeugungswerte zurückgesetzt</field>
                               </shadow>
                             </value>
                             <next>
                               <block type="update" id="2Qc-2ES-q3=NkAz0Pqv:">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="get_value" id="D@/b;fd@f6uT8rTP/{%c">
                                     <field name="ATTR">val</field>
                                     <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="update" id="{nC67B?Dq065X]zdY_;%">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="get_value" id="Fo}I9_Wdy`B9A?k%zWYC">
                                         <field name="ATTR">val</field>
                                         <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id="K_Po!y[{wL+ejEOn@7#=">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="get_value" id="*MR^,L`biRH^?ma2ik~E">
                                             <field name="ATTR">val</field>
                                             <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="XA8LZ[F)Q:L-Pdjji,;*" disabled="true">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Solar.ErsparnisAnlageTag</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="Nl+pd_mIr(9/@X~o{Y]@">
                                                 <field name="NUM">0</field>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                         <next>
                           <block type="schedule" id="u.71Z=3nhv`i-UJ$X@@k">
                             <field name="SCHEDULE">{"time":{"exactTime":true,"start":"00:00"},"period":{"days":1}}</field>
                             <statement name="STATEMENT">
                               <block type="debug" id="0G1JB|Ur#*:*w(@nr9+N">
                                 <field name="Severity">debug</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="XaK7Pz1epQ4ezA|H=d8p">
                                     <field name="TEXT">Erzeugungswerte zurückgesetzt</field>
                                   </shadow>
                                 </value>
                                 <next>
                                   <block type="update" id="8|$NEoJOFI?8/O4]kGkT">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="get_value" id="I/$M}OVw;+pmAFg_l|ZY">
                                         <field name="ATTR">val</field>
                                         <field name="OID">modbus.1.holdingRegisters.40093_I_AC_Energie_WH</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id="TefH)T=^2,k1g?Bor;t{">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="get_value" id="jey.5SwVHT*,jgUjR{WC">
                                             <field name="ATTR">val</field>
                                             <field name="OID">modbus.1.holdingRegisters.40226_M_Exported</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="Jl5s+I=#hSS#_1m83T!C" disabled="true">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="get_value" id="iM}^=!W}ktWgU3@RbvrQ">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">modbus.1.holdingRegisters.40234_M_Imported</field>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  Korrekturen und coole neue Ideen sind gerne gesehen

                  J Offline
                  J Offline
                  Jockel_Bln
                  schrieb am zuletzt editiert von
                  #15

                  @hennerich Vielen Dank für die Mühe hier! Das hat mir, als absoluter Anfänger, sehr geholfen :+1:
                  Eine Frage hätte ich dazu noch: Wie hast Du es hinbekommen, dass bei dem Panel "PV Erzeugung in kWh" der aktuelle Tag (Balken) in kompletter Breite angezeigt wird und sich nicht im Laufe des Tages langsam von rechts reinschiebt?
                  Egal was ich in Grafana schon versucht habe, sieht es immernoch so aus:
                  verbrauch.JPG

                  Vielen Dank im Voraus!
                  Gruß Jörg

                  H 1 Antwort Letzte Antwort
                  0
                  • J Jockel_Bln

                    @hennerich Vielen Dank für die Mühe hier! Das hat mir, als absoluter Anfänger, sehr geholfen :+1:
                    Eine Frage hätte ich dazu noch: Wie hast Du es hinbekommen, dass bei dem Panel "PV Erzeugung in kWh" der aktuelle Tag (Balken) in kompletter Breite angezeigt wird und sich nicht im Laufe des Tages langsam von rechts reinschiebt?
                    Egal was ich in Grafana schon versucht habe, sieht es immernoch so aus:
                    verbrauch.JPG

                    Vielen Dank im Voraus!
                    Gruß Jörg

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

                    @Jockel_Bln
                    Öhh, hmm, du hast aber nur eine Datenquelle eingebunden, richtig?
                    476a5247-65ae-4a81-a58a-91d94305a24c-image.png

                    Ansonsten hier mal meine Konfig:
                    a7f0407b-3f7a-40f6-b285-1cfebce5e974-image.png

                    ffc81118-1910-44b7-b23a-323c882e24fc-image.png

                    0d7314e4-9de5-4e03-98bf-2740afad293c-image.png

                    4471f75a-432d-4158-b534-6eb49dc0e122-image.png

                    Grüße
                    Henri

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

                    J 1 Antwort Letzte Antwort
                    0
                    • H hennerich

                      @Jockel_Bln
                      Öhh, hmm, du hast aber nur eine Datenquelle eingebunden, richtig?
                      476a5247-65ae-4a81-a58a-91d94305a24c-image.png

                      Ansonsten hier mal meine Konfig:
                      a7f0407b-3f7a-40f6-b285-1cfebce5e974-image.png

                      ffc81118-1910-44b7-b23a-323c882e24fc-image.png

                      0d7314e4-9de5-4e03-98bf-2740afad293c-image.png

                      4471f75a-432d-4158-b534-6eb49dc0e122-image.png

                      Grüße
                      Henri

                      J Offline
                      J Offline
                      Jockel_Bln
                      schrieb am zuletzt editiert von Jockel_Bln
                      #17

                      @hennerich
                      Nein, ich habe drei Datenquellen eingebunden, wobei ich den Gesamtverbrauch hinter den gestapelten Balken "versteckt" habe.
                      Bei mir sieht es ein bissl anders aus.
                      1.JPG

                      2.JPG

                      3.JPG
                      Die Datenreihen sind fortlaufende Zählerstände, deshalb SELECT max("value") - min("value")
                      Bei GROUP BY time(1d,-1h) fill(null) mustte ich -1h eintragen, da die Ausgabewerte sonst nicht stimmen, da sich Grafana scheinbar nicht um die Zeitzohne schert und einfach UTC nimmt. So stimmten die Verbrauchswerte nicht, da die Zeit zwischen 0:00 und 01:00 Uhr immer dem Vortag zugerechnet wurde.

                      Die übrige Config des Panels, Display usw, ist bei mir bis auf Stacking gleich.

                      Mir war nur so, als wenn die Anzeige nach Mitternacht gleich um einen Tag nach links springt. Aber vielleicht habe ich mich auch geirrt. Ist halt nicht so ganz schön, wenn der aktuelle Tag anfangs nur als schmaler Balken langsam ins Bild kommt.
                      Bei deinem Bild oben ist der aktuelle Tag ja auch schon komplett sichtbar, obwohl es ja erst nach 11:00 Uhr zu sein scheint.
                      Aber egal, ich bin schon forh, dass ich überhaupt was hinbekommen habe.
                      In meinem Alter (knappe 60) dauert die Lernphase ja immer etwas länger :wink:

                      Gruß Jörg

                      EDIT sagt:
                      Gerade habe ich noch irgendwo aufgeschnappt, dass der Eintrag GROUP BY time(1d,-1h) fill(null) zwar funktioniert, aber zur Sommerzeit auf -2h geändert werde müsste.
                      Deshalb ist es besser den Versatz nicht einzutragen und stattdessen GROUP BY time(1d) fill(null) tz('Europe/Berlin')
                      Somit braucht man sich um die Zeitumstellung nicht mehr zu sorgen.

                      1 Antwort Letzte Antwort
                      2
                      • A Aare 07

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

                        Habt ihr andere Dinge umgesetzt? Leitet ihr Infos aus anderen Werten ab, die ich noch gar nicht auf dem Schirm habe?

                        Was ich plane ist die voraussichtliche PV Leistung von morgen zu berücksichtigen. Berechnung sowas wie dein Sonnenstand Script mit der Wetterprognose verknüpft. Beispiel hier https://www.photovoltaikforum.com/thread/128698-pimp-my-autarkiegrad-eigenverbrauch-optimieren-pv-ertrag-via-kurzzeitprognosen-d/ aus DWD Opendata https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L . Oder alternativ einfacher gesteuert vom gelieferten Wettericon eines vorhandenen Wetteradapters.
                        Ziel: Wenn für morgen keine Sonne vorausgesagt ist heize ich mit der Wärmepumpe mit günstigerem Nachtstrom. Wenn Sonne vorausgesagt ist warte ich mit dem füllen des Puffers auf den PV Ertrag des kommenden Tages. Da meine Scriptfähigleiten sehr rudimentär sind befürchte ich dass das noch sehr lange dauern wird (oder hoffe dass ein gewiefter Scripter die Idee umsetzt ;) )

                        S Offline
                        S Offline
                        sol21
                        schrieb am zuletzt editiert von
                        #18

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

                        Was ich plane ist die voraussichtliche PV Leistung von morgen zu berücksichtigen.

                        Mich hatte es auch gestört, dass die Wärmepumpe kurz vor Sonnenaufgang lief und kurze Zeit später viel Strom vom Dach kam. Versuche mal meinen Ansatz zu beschreiben (vielleicht hilft es jemandem).

                        Grundsätzlich hebe ich die Temperatur Nachts nicht an, sondern sperre die Wärmepumpe. Ich habe Angst dass die Wärmepumpe in einem ungünstigen Arbeitspunkt kommt und so lasse ich die Wärme etwas abfalle (nur soviel, dass es nicht kalt wird) und heize sobald die Sonne kommt nach. Ich habe aber auch keine Speicher.

                        Ablauf:
                        Ab einer bestimmten Zeit in der Nacht sperre ich die WP, wenn der Wetterbericht "Sonne" ankündigt.


                        Verwenden den Adapter "DasWetter.com" und schaue ob um 9:00Uhr weniger als 60% Wolken vorhergesagt werden. Sonst sperre ich die WP für heute nicht.
                        Zusätzlich schaue ich auch auf die Aussentemperatur und setzt den Zeitpunkt des Anfangs der Sperre früher oder später (Erfahrungswerte damit es bis zum Morgen nicht kalt wird)

                        Sobald genügend Sonne vom Dach kommt hebe ich die Sperre wieder auf und die WP fängt automatisch an zu laufen, da die Heiztemperatur mittlerweile zu tief ist.


                        ich verwende da keine Sonnenstand-Scripte oder so. Ich habe mit der PV-Anlage ja einen grossen "Sensor" und der berücksichtig den Schatten von den Nachbarhäusern gleich mit.

                        Ist die Vorhersage "falsch" und die Sonne kommt einfach nicht, stelle ich das fest und hebe die Sperre wieder auf.

                        Dies ist bei mir bei Nebel z.B. häuftig der Fall. Früher hatte ich einfach ein Zeit (10:00Uhr) an welcher ich die Sperre auf jeden Fall zurückgesetzt hatte.
                        In der Zwischenzeit schaue ich, wann sie in den letzten 7 Tagen kam und setze spätestens 30min später die Sperre zurück. Damit muss ich mich wieder nicht um die Nachbarhäuser, Jahreszeit oder Sommer-/Winterzeit kümmern.

                        A 1 Antwort Letzte Antwort
                        1
                        • S sol21

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

                          Was ich plane ist die voraussichtliche PV Leistung von morgen zu berücksichtigen.

                          Mich hatte es auch gestört, dass die Wärmepumpe kurz vor Sonnenaufgang lief und kurze Zeit später viel Strom vom Dach kam. Versuche mal meinen Ansatz zu beschreiben (vielleicht hilft es jemandem).

                          Grundsätzlich hebe ich die Temperatur Nachts nicht an, sondern sperre die Wärmepumpe. Ich habe Angst dass die Wärmepumpe in einem ungünstigen Arbeitspunkt kommt und so lasse ich die Wärme etwas abfalle (nur soviel, dass es nicht kalt wird) und heize sobald die Sonne kommt nach. Ich habe aber auch keine Speicher.

                          Ablauf:
                          Ab einer bestimmten Zeit in der Nacht sperre ich die WP, wenn der Wetterbericht "Sonne" ankündigt.


                          Verwenden den Adapter "DasWetter.com" und schaue ob um 9:00Uhr weniger als 60% Wolken vorhergesagt werden. Sonst sperre ich die WP für heute nicht.
                          Zusätzlich schaue ich auch auf die Aussentemperatur und setzt den Zeitpunkt des Anfangs der Sperre früher oder später (Erfahrungswerte damit es bis zum Morgen nicht kalt wird)

                          Sobald genügend Sonne vom Dach kommt hebe ich die Sperre wieder auf und die WP fängt automatisch an zu laufen, da die Heiztemperatur mittlerweile zu tief ist.


                          ich verwende da keine Sonnenstand-Scripte oder so. Ich habe mit der PV-Anlage ja einen grossen "Sensor" und der berücksichtig den Schatten von den Nachbarhäusern gleich mit.

                          Ist die Vorhersage "falsch" und die Sonne kommt einfach nicht, stelle ich das fest und hebe die Sperre wieder auf.

                          Dies ist bei mir bei Nebel z.B. häuftig der Fall. Früher hatte ich einfach ein Zeit (10:00Uhr) an welcher ich die Sperre auf jeden Fall zurückgesetzt hatte.
                          In der Zwischenzeit schaue ich, wann sie in den letzten 7 Tagen kam und setze spätestens 30min später die Sperre zurück. Damit muss ich mich wieder nicht um die Nachbarhäuser, Jahreszeit oder Sommer-/Winterzeit kümmern.

                          A Offline
                          A Offline
                          Aare 07
                          schrieb am zuletzt editiert von
                          #19

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

                          Versuche mal meinen Ansatz zu beschreiben (vielleicht hilft es jemandem).

                          Danke für den Ansatz, gute Idee das einrechnen der erwarteten Temperatur in die Dauer der Absenkung unter Berücksichtigung der Dämpfung des Hauses.
                          Da ich nicht so der Scripter bin, wäre es Dir möglich die verschiedenen Script-Snipnets hier einzustellen?
                          Gruss Aare

                          Raspi 4 SSD ioBroker

                          S 1 Antwort Letzte Antwort
                          0
                          • A Aare 07

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

                            Versuche mal meinen Ansatz zu beschreiben (vielleicht hilft es jemandem).

                            Danke für den Ansatz, gute Idee das einrechnen der erwarteten Temperatur in die Dauer der Absenkung unter Berücksichtigung der Dämpfung des Hauses.
                            Da ich nicht so der Scripter bin, wäre es Dir möglich die verschiedenen Script-Snipnets hier einzustellen?
                            Gruss Aare

                            S Offline
                            S Offline
                            sol21
                            schrieb am zuletzt editiert von
                            #20

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

                            ... gute Idee das einrechnen der erwarteten Temperatur in die Dauer der Absenkung unter Berücksichtigung der Dämpfung des Hauses.

                            Du meinst diesen Teil: "Zusätzlich schaue ich auch auf die Aussentemperatur und setzt den Zeitpunkt des Anfangs der Sperre früher oder später (Erfahrungswerte damit es bis zum Morgen nicht kalt wird)"?
                            Da schaue ich auf Isttemperatur morgens um 0.30Uhr uns setzen den Startpunkt der Sperre wie folgt:
                            ![Bild Text](Bild Link)61573323-232e-48ed-a496-933f4708c89b-grafik.png

                            Z 1 Antwort Letzte Antwort
                            1
                            • C Offline
                              C Offline
                              cybtrash
                              schrieb am zuletzt editiert von
                              #21

                              Hallo,

                              vielen Dank für dieses Tutorial. Leider habe ich das Problem, dass nachts, wenn keine Stromerzeugung ist, unter "holdingRegisters.40083_I_AC_Leistung" weiterhin Zahlen angezeigt werden (bei mir wechselnd zwischen ~30 Watt und ~650 Watt). Das ist natürlich falsch.

                              Tagsüber stimmen die Werte aber mit den Daten aus der App überein und sind realistisch.

                              Kennt jemand das Problem?

                              J 1 Antwort Letzte Antwort
                              0
                              • C cybtrash

                                Hallo,

                                vielen Dank für dieses Tutorial. Leider habe ich das Problem, dass nachts, wenn keine Stromerzeugung ist, unter "holdingRegisters.40083_I_AC_Leistung" weiterhin Zahlen angezeigt werden (bei mir wechselnd zwischen ~30 Watt und ~650 Watt). Das ist natürlich falsch.

                                Tagsüber stimmen die Werte aber mit den Daten aus der App überein und sind realistisch.

                                Kennt jemand das Problem?

                                J Offline
                                J Offline
                                Jockel_Bln
                                schrieb am zuletzt editiert von Jockel_Bln
                                #22

                                @cybtrash Was hast Du denn bei "SELECT" eingestellt?
                                Bei mir steht "last" und damit passt es.
                                Unbenannt.JPG

                                EDIT:
                                Hast Du den Fehler nur in Grafana, oder kommen die "falschen" Werte direkt vom Wechselrichter über den Modbus Adapter? Dann weiß ich auch nicht...

                                1 Antwort Letzte Antwort
                                0
                                • C Offline
                                  C Offline
                                  Chris87
                                  schrieb am zuletzt editiert von
                                  #23

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

                                  1. Graph PV Erzeugung in kWh
                                    Quelle aus der InfluxDB sind

                                  PVErzeugteEnergieAktuell
                                  Blockly Script:

                                  @hennerich Coole Arbeit sieht echt gut aus!!!

                                  Ich würde nur gerne wissen was du mit den Werten machst?:


                                  javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag
                                  javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag
                                  javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag

                                  Finde irgendwie nichts wo diese beschrieben werden.
                                  Du hast auch unter Punkt 2 und Punkt 7 den gleichen Code gepostet.
                                  Evtl. bin ich blind...
                                  Wäre cool wenn du dich hier melden könntest.

                                  MfG Chris

                                  5x Wago 750-... as Modbus-master and slave with 420DIs/380DOs/ 20AI/DMX , 3x Alexa-Dot, R-Pi3 im MagicMirror, Intel NUC 10i7 64GbRAM / 2x 1Tb m.2 NVME und SSD mit PRoxmox/ IO Broker, InfluxDB, Grafana, MotionEye.

                                  H 1 Antwort Letzte Antwort
                                  0
                                  • C Chris87

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

                                    1. Graph PV Erzeugung in kWh
                                      Quelle aus der InfluxDB sind

                                    PVErzeugteEnergieAktuell
                                    Blockly Script:

                                    @hennerich Coole Arbeit sieht echt gut aus!!!

                                    Ich würde nur gerne wissen was du mit den Werten machst?:


                                    javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag
                                    javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag
                                    javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag

                                    Finde irgendwie nichts wo diese beschrieben werden.
                                    Du hast auch unter Punkt 2 und Punkt 7 den gleichen Code gepostet.
                                    Evtl. bin ich blind...
                                    Wäre cool wenn du dich hier melden könntest.

                                    MfG Chris

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

                                    @Chris87
                                    Moin Chris, sorry für die späte Antwort. Und die wird dich glaube ich etwas enttäuschen. Da ich die Idee von einem User aus dem PV Forum habe und die von dir angesprochenen Werte auch nicht nutze, kann ich dir nichts näheres dazu sagen.

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

                                    C 1 Antwort Letzte Antwort
                                    0
                                    • H hennerich

                                      @Chris87
                                      Moin Chris, sorry für die späte Antwort. Und die wird dich glaube ich etwas enttäuschen. Da ich die Idee von einem User aus dem PV Forum habe und die von dir angesprochenen Werte auch nicht nutze, kann ich dir nichts näheres dazu sagen.

                                      C Offline
                                      C Offline
                                      Chris87
                                      schrieb am zuletzt editiert von
                                      #25

                                      Hi @hennerich ,

                                      kein Thema. Ich sag sogar Danke für die späte Antwort.
                                      Somit hatte ich die Möglichkeit mich mal detailiert mit Grafana auseinander zu setzten, mit (wie ich finde) gutem Resultat:
                                      50201f10-7a8b-4c8e-aebf-3c41a3c2c018-image.png

                                      5x Wago 750-... as Modbus-master and slave with 420DIs/380DOs/ 20AI/DMX , 3x Alexa-Dot, R-Pi3 im MagicMirror, Intel NUC 10i7 64GbRAM / 2x 1Tb m.2 NVME und SSD mit PRoxmox/ IO Broker, InfluxDB, Grafana, MotionEye.

                                      H H Z S 4 Antworten Letzte Antwort
                                      0
                                      • C Chris87

                                        Hi @hennerich ,

                                        kein Thema. Ich sag sogar Danke für die späte Antwort.
                                        Somit hatte ich die Möglichkeit mich mal detailiert mit Grafana auseinander zu setzten, mit (wie ich finde) gutem Resultat:
                                        50201f10-7a8b-4c8e-aebf-3c41a3c2c018-image.png

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

                                        @Chris87 Na das schaut doch super aus ;-)

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          DanielO
                                          schrieb am zuletzt editiert von DanielO
                                          #27

                                          Hallo zusammen,

                                          seit 2 Wochen beschäftige ich mich nun auch mit diesem Thema. Hab zwar alles so gemacht wie oben geschildert und die Variablen mit meiner Situation angepasst. Doch irgendwie klappt es doch nicht... Vermute mal etwas im Script nicht passt und bei Java kenne ich mich leider noch nicht aus.... Wäre also um einen kleinen Tip Dankbar...
                                          Das Script schaut bei mir so aus. hab's nur mal mit der Wechselrichter Temperatur ausprobiert, denn da bin ich mir eigentlich über den zu erhaltenen Wert sicher.


                                          function convertValue(value, factor) {
                                          if (value === null) return;
                                          if (factor === null) factor = 0;
                                          setState('Solar.Wechselrichter.TempWechselrichter', value * Math.pow(10, factor), true);
                                          }

                                          createState('Solar.Wechselrichter.TempWechselrichter', {
                                          name: 'TempWechselrichter',
                                          unit: '°C',
                                          min: -999999,
                                          type: 'number',
                                          role: 'value.energy'
                                          }, function () {
                                          on('modbus.0.holdingRegisters.1.40105_I_Temp_Kühler'/Temperatur Wechselrichter/, function(obj) {
                                          var timeout = setTimeout(function () {
                                          clearTimeout(timeout);
                                          var factorState = getState('modbus.0.holdingRegisters.1.40108_I_Temp_SF'/Temperatur Wechselrichter Skalierfaktor/);
                                          convertValue(obj.state.val, factorState ? factorState.val : 0);
                                          }, 100);
                                          });
                                          var factorState = getState('modbus.0.holdingRegisters.1.40108_I_Temp_SF'/Temperatur Wechselrichter Skalierfaktor/);
                                          var valueState = getState('modbus.0.holdingRegisters.1.40105_I_Temp_Kühler'/Temperatur Wechselrichter/);
                                          convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0);
                                          });

                                          40108_ Temperatur-SF = -4
                                          40105 Temperatur = -32768

                                          originale Werte vom Wechselrichter liegen auf 40107 und 40104
                                          Und -3 Grad kommt so gerundet der aktuellen Situation hin

                                          Das script bringt mir aber lediglich
                                          -999999 Grad

                                          Danke im Voraus

                                          H 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

                                          707

                                          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