- Home
- Deutsch
- Skripten / Logik
- Blockly
- Formel für Solarestimate
Formel für Solarestimate
-
@quorle sagte in Test Adapter Energiefluss v3.6.x GitHub/Latest:
Also ich verstehe darunter "Prozent der maximalen WattPeak"
ist jetzt OT, aber was bringt dir das? rein aus Interesse.
die wenigsten Anlagen sind so ausgerichtet, dass die Sonne in jeder Achse mit 90° und 1000W auf die Panels scheint, was für die Wp Leistung Voraussetzung ist.Ich habe mir empirisch eine Formel erarbeitet, die Sonnenverlauf und Temperatur mitberücksichtigt, um den aktuell möglichen Ertrag grob auszurechnen
Heute war es mal wieder nahezu 100%
@Paul53 hat es sogar theoretisch fast auf den Punkt hinbekommen. Der Thread ist irgendwo im Forum -
@homoran
Oh, diese Formel täte mich auch interessieren. -
Mich auch
-
wie gesagt vor Jahren empirisch ermittelt! Wie genau weiß ich nicht mehr wirklich.
Skript besteht aus 3 Teilen.
Am Mittag wird die maximale Elevation der Sonne ermittelt und für den nächsten Tag in einen DP geschrieben
Dann wird die ermittelte maximale Wp für diese Elevation in einen Faktor gegossen als Apex der KurveSonnenaufgang und -untergang als Schnittpunkte für die Kurve mit der x-Achse. Ebenfalls für bessere Anpassung modifiziert
die eigentliche Berechnung
fragt mich nicht was das ist
[werde das hier auskoppeln wenn es ausufert!]
-
@homoran > [werde das hier auskoppeln wenn es ausufert!]
ja mach mal bitte bzw. verlinke mal wo man nachlesen kann. interessiert mich auch wie die Werte zustande kommen. Habe das Script nachgebaut mit kleinen Optimierungen.
-
@xbow42 erledigt!
tobt euch aus! -
@homoran Danke!
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="!X5Wl7]^%OaE(;0k!K,X">SA</variable> <variable id="2PY|eaMjKFc$!b:=XS7V">SU</variable> <variable id="(#4@ywHIfx?Dh0QQ;ak-">max</variable> <variable id="c)F7+I;~lQbp(8Nl)n:J">Zeit_aktuell</variable> <variable id="$,)*N`H@baFF^QTdtbg0">Azimut_160</variable> <variable id="s#1a7RQ^6`lrj3FMU}+8">Faktor_Formel</variable> <variable id="Y(L4(Gf|!stp_M@QPZ|#">Faktor_Timestamp</variable> <variable id="iMg)y_VACqnBDk/ME.~$">Elevation_max</variable> <variable id="7+@wUQn*T~MXdday|xI4">Faktor_Ergebnis</variable> <variable id="alTM3^,47a,Re[(Ccejj">Uhrzeit_Start</variable> <variable id="cC8cKMVSKMBf6@N:mVWG">Uhrzeit_max</variable> <variable id="vIfNX|7sE~]`^NG_Z46d">Korr_Temp</variable> <variable id="t;A@o6B[7@b!B$GxJ41/">halbe_Basis</variable> <variable id=",6ZLu`V_~K%)dY=3h3Qk">estimate_max</variable> <variable id="A$%x43ER~TdVClFpP5D|">estimate_aktuell</variable> <variable id="b3[E={Mj(0jMi#%/I}=U">estimate_final</variable> <variable id="}ymGrk=zLOAuO]eS[P27">HighTime</variable> <variable id=":ROZ7Qtl-#xu{Y8nzw=k">estimate_addon</variable> <variable id="-Y4wFbR`:%l`az`V{If3">estimate_2</variable> </variables> <block type="procedures_defnoreturn" id="Z:WMnBJ%sOE?d0xfPiN-" x="638" y="13"> <field name="NAME">nightly_calc</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="-_Y!c~zK(A$vrXC3V-`t"> <field name="VAR" id="!X5Wl7]^%OaE(;0k!K,X">SA</field> <value name="VALUE"> <block type="convert_from_date" id="UX^?4F~?fC9cB27[Iq=7"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="time_astro" id="|_8pU%~c#.eQ]WYuH~wB"> <field name="TYPE">sunrise</field> <field name="OFFSET">-8</field> </block> </value> </block> </value> <next> <block type="variables_set" id="(p%+rVsi%cZ(Yt^ZttZy"> <field name="VAR" id="2PY|eaMjKFc$!b:=XS7V">SU</field> <value name="VALUE"> <block type="convert_from_date" id="T`h|.G|m=sO+7PJ,ra~J"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="time_astro" id="}O`a_m91F)ox~Zum`%`?"> <field name="TYPE">sunset</field> <field name="OFFSET">25</field> </block> </value> </block> </value> <next> <block type="variables_set" id="9cUY(F14!RBam3}H,euj"> <field name="VAR" id="$,)*N`H@baFF^QTdtbg0">Azimut_160</field> <value name="VALUE"> <block type="math_arithmetic" id="c{V`_;~T!9ny,8U8swxG"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="meIb56Ul%MJq|@^0IhXt"> <field name="NUM">1</field> </shadow> <block type="variables_get" id=":_TYHlrBgjm/9C)DYNcd"> <field name="VAR" id="!X5Wl7]^%OaE(;0k!K,X">SA</field> </block> </value> <value name="B"> <shadow type="math_number" id="cGRi-jNz*Mm1/)V:giSQ"> <field name="NUM">2200</field> </shadow> <block type="math_arithmetic" id="xWLL}0ZAwi=`z?oF799W"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="Q@fmKhQ}_w4$isH#v5f="> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="(k90w|zb09Zm`-sCDGfy"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="Lri7e7.([+r%#HLB}#Yg"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="f+7E0c5^U7us4J#_Z{xm"> <field name="VAR" id="2PY|eaMjKFc$!b:=XS7V">SU</field> </block> </value> <value name="B"> <shadow type="math_number" id="{}rZhC/!s0-N~~:z?$.d"> <field name="NUM">37.5</field> </shadow> <block type="variables_get" id="q^$W);QG.-0~)e0%`:6z"> <field name="VAR" id="!X5Wl7]^%OaE(;0k!K,X">SA</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="=!EdNnhl^9N3niz7t`|+"> <field name="NUM">0.373</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="QZv`GeE6:(!f0jU}NXZm"> <field name="VAR" id="Y(L4(Gf|!stp_M@QPZ|#">Faktor_Timestamp</field> <value name="VALUE"> <block type="math_number" id=",z0aCt[?,^w%DKcj9h}F"> <field name="NUM">0.000016666666</field> </block> </value> <next> <block type="variables_set" id="3o8@~kGYtJpeWZ(wsmfp"> <field name="VAR" id="alTM3^,47a,Re[(Ccejj">Uhrzeit_Start</field> <value name="VALUE"> <block type="convert_from_date" id="Bxp,NdjwqlKaOw.o,lju"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="time_astro" id="R~)2jBOzxZkr2s]U9V(b"> <field name="TYPE">sunrise</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <next> <block type="variables_set" id="FoGtgDM:yd|sKvAcXl/="> <field name="VAR" id="cC8cKMVSKMBf6@N:mVWG">Uhrzeit_max</field> <value name="VALUE"> <block type="variables_get" id="4M_DL-i!w0-?DPGlO~o@"> <field name="VAR" id="$,)*N`H@baFF^QTdtbg0">Azimut_160</field> </block> </value> <next> <block type="variables_set" id="_MA0!^jMV;}4Hz)@`rkK"> <field name="VAR" id="t;A@o6B[7@b!B$GxJ41/">halbe_Basis</field> <value name="VALUE"> <block type="math_rndfixed" id="*:NtZNEL[2nSZ!@0.u/M"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="7-o`fJy.s}a:^DhZ+EI7"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id=".ohy~oTH5TRG1nDf[fWg" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="o_a!Q9x@AnC:3keV,iFT"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="BmDCf/lc[3`E3sYo$pRa"> <field name="VAR" id="Y(L4(Gf|!stp_M@QPZ|#">Faktor_Timestamp</field> </block> </value> <value name="B"> <shadow type="math_number" id="~.j~VA#A(B~P;Zv?QuU,"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="I;Dff.w^s0*f]+|T`jpB"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="%vcz1})h]bb_#]oM.;i7"> <field name="VAR" id="cC8cKMVSKMBf6@N:mVWG">Uhrzeit_max</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">37.5</field> </shadow> <block type="variables_get" id="xw=ot5?9?QK)B!7QYPsb"> <field name="VAR" id="alTM3^,47a,Re[(Ccejj">Uhrzeit_Start</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="comment" id="7uVGWl/MpZ|jcXOd,Rbt" x="13" y="63"> <field name="COMMENT">https://forum.iobroker.net/post/956636</field> <next> <block type="comment" id="Dx5|ZOxU9Jx1UU$o)po^"> <field name="COMMENT">Initialisierung:</field> <next> <block type="procedures_callnoreturn" id="G9bB:!K?TK1-BNCS-[MD"> <mutation name="nightly_calc"></mutation> <next> <block type="variables_set" id="]ys#aCUYtF@92E@4A-lw"> <field name="VAR" id="c)F7+I;~lQbp(8Nl)n:J">Zeit_aktuell</field> <value name="VALUE"> <block type="math_number" id="a.14UoT[7oLdfZFY?T*6"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="WE|p86Gc=KzG$aL]fn7G"> <field name="VAR" id="s#1a7RQ^6`lrj3FMU}+8">Faktor_Formel</field> <value name="VALUE"> <block type="math_number" id="d5OEONXV%|D{]hJGdc%N"> <field name="NUM">0.85</field> </block> </value> <next> <block type="variables_set" id="DC.GpUH!m0zm(wZp#xZ$"> <field name="VAR" id="7+@wUQn*T~MXdday|xI4">Faktor_Ergebnis</field> <value name="VALUE"> <block type="get_value" id="5|~^6C31s+OmZi$_(~lW"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Statistik.PV-Anlage.Elevation_zenit</field> </block> </value> <next> <block type="variables_set" id="lCq2u:6DXck)LYtGb~e["> <field name="VAR" id="(#4@ywHIfx?Dh0QQ;ak-">max</field> <value name="VALUE"> <block type="math_arithmetic" id="?%R:2~KWF~)%#/t_HcQ("> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="!7BRTFKHUHS$.bbwXUdu"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="cMoHLRRI54E`(R-lgZCC"> <field name="VAR" id="iMg)y_VACqnBDk/ME.~$">Elevation_max</field> </block> </value> <value name="B"> <shadow type="math_number" id="Tv^6B~_^=*k=^l?M+BVc"> <field name="NUM">37.5</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="g%#d?B*Nir$Y;R9+KXhg"> <field name="NUM">2200</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="9WVvb{K0S2zp#L.xYjy="> <field name="VAR" id="vIfNX|7sE~]`^NG_Z46d">Korr_Temp</field> <value name="VALUE"> <block type="math_number" id="~+8$E7Kg59}``cH1KHu#"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="w]M]mwKCdfW)oYsPHM@Z"> <field name="VAR" id=",6ZLu`V_~K%)dY=3h3Qk">estimate_max</field> <value name="VALUE"> <block type="math_number" id="59=-BjNR=s/Cjs4007}["> <field name="NUM">4000</field> </block> </value> <next> <block type="schedule" id="0ai?!:/_%5eE]uX+flWH"> <field name="SCHEDULE">*/60 * * * *</field> <statement name="STATEMENT"> <block type="controls_if" id="(GrFRIi{ZFbp)Q!;_i2u"> <value name="IF0"> <block type="time_compare_ex" id="@{{9u_}98m?r4NIPy^qy" inline="false"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="!GTcAhy#4Vg=L?/C]O@N"> <field name="TEXT">12:00</field> </shadow> <block type="time_astro" id=")FQ,lHf1glAEd7jzr7Gm"> <field name="TYPE">sunrise</field> <field name="OFFSET">-15</field> </block> </value> <value name="END_TIME"> <shadow type="text" id="udeoWard`BfOaE~^sOK7"> <field name="TEXT">18:00</field> </shadow> <block type="time_astro" id="6ifw7}ta^p_8Q,Iu?ze_"> <field name="TYPE">sunset</field> <field name="OFFSET">15</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="0M_X%,++kMOtZVoRBc.j"> <field name="VAR" id=",6ZLu`V_~K%)dY=3h3Qk">estimate_max</field> <value name="VALUE"> <block type="math_rndfixed" id="]oWT3I0q02Nny8I8urup"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="IPD(CZ|~V7(oWNpnYG@$"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="ehU*.6JDmwzrhx1iq#p#"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="WE:Y}].g/D~o^){6ZS!_"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="j9xV^u$Jb/S6p%?gj6Lo"> <field name="VAR" id="Y(L4(Gf|!stp_M@QPZ|#">Faktor_Timestamp</field> </block> </value> <value name="B"> <shadow type="math_number" id="yx)Zp?hLJ:KO`[PQT#zN"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="eRRGZ`XEK7zM]%M/q$yZ"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="*t!^QMnkMOVmu|q]Z3ng"> <field name="NUM">1</field> </shadow> <block type="time_get" id=",v5u17`A*BN#6,{9:)rD"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number" id="}=e=7YtFABLPvXlO2Re1"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="@ZQX+l`+d/?D?K$gg{:q"> <field name="VAR" id="cC8cKMVSKMBf6@N:mVWG">Uhrzeit_max</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="7VAVzP*-A_kTsdh~!x-C"> <field name="VAR" id="A$%x43ER~TdVClFpP5D|">estimate_aktuell</field> <value name="VALUE"> <block type="math_arithmetic" id=",I,7~3#d+|hK`ja09{Zp" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="~UZMJ7X6z{]6kVaHuX:r"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="yXZ61|np!p?H9,d)hMAL" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="Etq}QDF,*bGV6h]u~B*_"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="n^t`pOrJTl8dNyg@0~9`" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="*gV*7rt/73,WE:Ru2@PP"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="fd,%?vM:f9l4DtCA9VdK"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="[$.Wt##@jn9yu)(WI*Nz"> <field name="NUM">-1</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="*oU?Tis+Z)%:*Z7oh/qs"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="~B2hMXv0oqC#RP~ga%Kw"> <field name="VAR" id="(#4@ywHIfx?Dh0QQ;ak-">max</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="ZM=a[`^:bPz2TC$DD:LM"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="]0B;?Z3e5kOc{;RjWzJ^"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id=".JG^P8xZRmP=VoVbn!er"> <field name="NUM">-1</field> </shadow> <block type="variables_get" id="cQ7%AeIH*~4{W]TnnRuS"> <field name="VAR" id="t;A@o6B[7@b!B$GxJ41/">halbe_Basis</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="[yzHy,pEp|M%/O2tjDNy"> <field name="VAR" id="t;A@o6B[7@b!B$GxJ41/">halbe_Basis</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="O2o`~M2U%$:(Q$^3N$ar"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="1tb))P.0r*j!=SH;s?Q{"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">-1</field> </shadow> <block type="variables_get" id="j4YCJ/9g_*a(BQQ{AN*L"> <field name="VAR" id="c)F7+I;~lQbp(8Nl)n:J">Zeit_aktuell</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="g:(bYiLW+9%_xQxQ]k?3"> <field name="VAR" id="c)F7+I;~lQbp(8Nl)n:J">Zeit_aktuell</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="vBK0x|Fb?|?OMq^})Vg7"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="@ZD9*$TAkWz$%bQM)oJ!"> <field name="VAR" id="(#4@ywHIfx?Dh0QQ;ak-">max</field> </block> </value> </block> </value> <next> <block type="comment" id="~_xJjInq;Nmtp{/Ax1SE"> <field name="COMMENT">Temperaturkorrektur</field> <next> <block type="variables_set" id="y2`|x*wY~JlPdBJh)z6]"> <field name="VAR" id="vIfNX|7sE~]`^NG_Z46d">Korr_Temp</field> <value name="VALUE"> <block type="math_arithmetic" id="#sp5)h0)`/qB9XBW?L@Z"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="8EuwSo5U+boC(*LW%++L"> <field name="NUM">1</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="rhC6OYP#PAs!(FK5+D$s"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="r[(3fd!rNu0^~9J+YW7=" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="?*5dHpr6(Of5]WH*?qsx"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="p[G`/6mQ5AG#Z2hG1@l5" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="!i:1r/iS@6~P0@_~qz#A"> <field name="NUM">25</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="JkicCr|fS{]r9ieCkz6E"> <field name="NUM">1</field> </shadow> <block type="get_value" id=".i;(:``Gevs{m6TqW-La"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours.Location_1.Day_1.current.temp_value</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="NOs8X{ldiW8KK%d(@0)f"> <field name="NUM">0.0157</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="LOy)}R~Cy](M2f%+4)yD"> <field name="VAR" id="b3[E={Mj(0jMi#%/I}=U">estimate_final</field> <value name="VALUE"> <block type="math_rndfixed" id="4eJP4uLF[]vNUtkYsR-("> <field name="n">1</field> <value name="x"> <shadow type="math_number"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id=",$KdcY;BG;H`Fm2o2#Oe"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="~cNZ4u;4(b-AHG#hzXPK"> <field name="VAR" id="vIfNX|7sE~]`^NG_Z46d">Korr_Temp</field> </block> </value> <value name="B"> <shadow type="math_number" id="HJ7|{T%Ucem^CC+4a/];"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="OC7cQz(7A68uG_$)5*Z:"> <field name="VAR" id="A$%x43ER~TdVClFpP5D|">estimate_aktuell</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="}3GLuaP`hvqM(2Q]6$o="> <value name="IF0"> <block type="logic_compare" id="!M9FvG}^j^xdF7@Nqc-k"> <field name="OP">LT</field> <value name="A"> <block type="math_arithmetic" id="V{XPE6;-JI`kt*LLc`0b" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="h0s,{AR@56(*M)d/)v*)"> <field name="NUM">1</field> </shadow> <block type="time_get" id="Myr8MBiB)}*/w0bu1Nl]"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number" id="p!8a?p%|FnL!3-64$r3^"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="2|=V**f_[%$.GkBeBOw$"> <field name="VAR" id="$,)*N`H@baFF^QTdtbg0">Azimut_160</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="q1Q|OK|m7JFDXTjfopYn"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="tJ,aQJ|C55)F01FfzSN;"> <field name="VAR" id=",6ZLu`V_~K%)dY=3h3Qk">estimate_max</field> <value name="VALUE"> <block type="variables_get" id="xEnEd*.RiZg)AkpKPy9y"> <field name="VAR" id="b3[E={Mj(0jMi#%/I}=U">estimate_final</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="|[g$_23v-an:K0oh6T]I"> <field name="VAR" id="}ymGrk=zLOAuO]eS[P27">HighTime</field> <value name="VALUE"> <block type="math_rndfixed" id="!XM:dtm?iK)CQr7n)8#m"> <field name="n">1</field> <value name="x"> <shadow type="math_number" id="ih5k~I/!S~?5A7V@MKj/"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="Y`fn[]hg6;qG`=Vg.VfD" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="Oi9y{a`5TP|MDY0Y`fm9"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="2|r/y!54kK{5rr.*d%Ej" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="+j!~$kEoxI^6Q}ZKBM_K"> <field name="NUM">1</field> </shadow> <block type="time_get" id="@j!!o2x8@-w+nO6S@Br;"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number" id="NRlcC;d)*M~^*-.leID|"> <field name="NUM">1</field> </shadow> <block type="convert_from_date" id="RBCMQ$3:/D{OU)hGYlrj"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="time_astro" id="km(XulvL~OO?93yKG/yv"> <field name="TYPE">sunrise</field> <field name="OFFSET">-9</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="IJKXNThZ_+5)e~6![gE#"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="E#9cM%)~]sMhp+0XDgsS"> <field name="VAR" id="Y(L4(Gf|!stp_M@QPZ|#">Faktor_Timestamp</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="b$7w-+@hXFOD)K40rd-k"> <field name="VAR" id=":ROZ7Qtl-#xu{Y8nzw=k">estimate_addon</field> <value name="VALUE"> <block type="math_rndfixed" id="q;fA4p2v{*]u[7(de*(9"> <field name="n">1</field> <value name="x"> <shadow type="math_number"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="0Cvj27C[{PP@{c[S3ZN|" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="#z!XnrE*=5l]:FIy;h%7"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="hMT7w}5IIaoAN#I{$iv~"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="!VqC-fh]$R/p81+FN2nE"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="koHx0q4{Qw,[3mf/!7kq"> <field name="VAR" id=",6ZLu`V_~K%)dY=3h3Qk">estimate_max</field> </block> </value> <value name="B"> <shadow type="math_number" id="7UFTjcL;QsrY(Wu@:yoE"> <field name="NUM">0.0000056</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="*Q$8K].N7[[:/Lt:=vFO"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="xfhXHg;6D(Z(4pga|g+W"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="Eh9iFI/f?+S|LyYna4$K"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="jDv7ZDZCO$B*J5nP}atM"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="hJ)cU*_tYB+n0Lnda5Q/"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="JY(_[n{#kT.Cu.+rpQx^"> <field name="VAR" id="}ymGrk=zLOAuO]eS[P27">HighTime</field> </block> </value> <value name="B"> <shadow type="math_number" id="4swIE)A%#g:8lUz{Jn{E"> <field name="NUM">0.857</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id=";,{k3ENZl9cwAc~ZrL_%"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="GriZ`Ixu`g#gD5Qt4)7n"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="#?`M]}:auy8?l5BIwdX%"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="^K$,-5Y2hJWun;V`_Ocb"> <field name="VAR" id="}ymGrk=zLOAuO]eS[P27">HighTime</field> </block> </value> <value name="B"> <shadow type="math_number" id=",BZby@U#V^(8bYbjGy/X"> <field name="NUM">0.875</field> </shadow> </value> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="w$OGU5~xMktoaZt1%p4-"> <field name="VAR" id="-Y4wFbR`:%l`az`V{If3">estimate_2</field> <value name="VALUE"> <block type="logic_ternary" id="8)x9e@%3Vp|eb99H%(_0"> <value name="IF"> <block type="logic_compare" id="):U9nK8.0$.mAWxdK;{D"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="FYy]U4W@ER{GY}Lp(:ze"> <field name="VAR" id="}ymGrk=zLOAuO]eS[P27">HighTime</field> </block> </value> <value name="B"> <block type="math_number" id="`zeg^9Yc3q`Q;eN2$pt1"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="THEN"> <block type="math_rndfixed" id="g%i4:Ol3E;*$/LsyQH@."> <field name="n">1</field> <value name="x"> <shadow type="math_number" id="F-2T2Q_bh7a9$obDs5$J"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="6C+A..y9C}l2t]F(-.I-"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="9LceV.8=,Mz4]IYwKd~."> <field name="NUM">1</field> </shadow> <block type="variables_get" id="8tbWt^-yU:I_5q)fAmbb"> <field name="VAR" id="b3[E={Mj(0jMi#%/I}=U">estimate_final</field> </block> </value> <value name="B"> <shadow type="math_number" id="R~YP#nJOU9hFb7DH;F2v"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="c4n,C{}2)1o0{$`6ObQ$"> <field name="VAR" id=":ROZ7Qtl-#xu{Y8nzw=k">estimate_addon</field> </block> </value> </block> </value> </block> </value> <value name="ELSE"> <block type="variables_get" id="W,T?R[+hZEk4)w@HyhF,"> <field name="VAR" id="b3[E={Mj(0jMi#%/I}=U">estimate_final</field> </block> </value> </block> </value> <next> <block type="control_ex" id="rv_uUpl(:!N5E?8Td2P/"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="Ru@OA={]|_6)b4)2~Vdk"> <field name="oid">0_userdata.0.Statistik.PV-Anlage.Solarestimate_quard2</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="M+{Tcf]bF.*kqL8:xV.z"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_ternary" id="tCC$vSqi*(NSBIClu|Wu"> <value name="IF"> <block type="logic_compare" id="(~Akwq#B.Ds40HY@+kXf"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="RVvfaj+YhwY5%LaVcfRX"> <field name="VAR" id="b3[E={Mj(0jMi#%/I}=U">estimate_final</field> </block> </value> <value name="B"> <block type="math_number" id="$o_O/;!1P#42kJIFP4Ro"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="THEN"> <block type="variables_get" id="mZ`r4Slb55BA{7l^F+UQ"> <field name="VAR" id="b3[E={Mj(0jMi#%/I}=U">estimate_final</field> </block> </value> <value name="ELSE"> <block type="math_number" id="!G7~oe`3UgBrC^jY;kBK"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="4=wY*[ZLhuQwnm-{7*%9"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="5(2vuLK~;#^svBXqWxr]"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="e;[Q?6Ps2).v5CMc]`R_"> <field name="oid">0_userdata.0.Statistik.PV-Anlage.Solarestimate_2</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_ternary" id="CuvL!+%D=]Qv!(:sp%z("> <value name="IF"> <block type="logic_compare" id="8Ql0gkmT8!k:{cwubgtq"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="],u+GT++DUhmUWHVzg{w"> <field name="VAR" id="-Y4wFbR`:%l`az`V{If3">estimate_2</field> </block> </value> <value name="B"> <block type="math_number" id="hU=?AUVvpo2r5[=*kNh/"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="THEN"> <block type="variables_get" id="QuC@Z6z]gzoVmCmjjqiO"> <field name="VAR" id="-Y4wFbR`:%l`az`V{If3">estimate_2</field> </block> </value> <value name="ELSE"> <block type="math_number" id="Rug30;kVZxB-q~J^!T:]"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="u7Z+v*e-[;{sq6,$sPe*"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="schedule" id="|c,Z`u(1+TC4Av)n0q$4" x="338" y="288"> <field name="SCHEDULE">0 4 * * *</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="H}`ll%E8aC:n!1fe2,|a"> <mutation name="nightly_calc"></mutation> </block> </statement> <next> <block type="astro" id="({n+`azcPm1}4]0by-+("> <field name="TYPE">solarNoon</field> <field name="OFFSET">0</field> <statement name="STATEMENT"> <block type="variables_set" id="H/E!|@O38LGpvZWWYyWq"> <field name="VAR" id="(#4@ywHIfx?Dh0QQ;ak-">max</field> <value name="VALUE"> <block type="math_arithmetic" id="XAB/F*|V-(]ZwsiRqRis"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Ze{xDZf4MWubl1Rsmy!b"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="n`b)BWx=EQ87V`gix`b1"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="Pkp0;~e3J([VXG:#h_TO"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="r0);M05NlP~F:a`?;+AZ"> <field name="VAR" id="iMg)y_VACqnBDk/ME.~$">Elevation_max</field> </block> </value> <value name="B"> <shadow type="math_number" id="HH2OD,v~Dc0`cDL*`n6G"> <field name="NUM">37.5</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="x2:K^m3;bZjd[J.zfLf="> <field name="NUM">2200</field> </shadow> </value> </block> </value> <next> <block type="update" id="Z%Vaf`ucv_CTxM_RJ]N@"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Statistik.PV-Anlage.Elevation_zenit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="`@!A$^G;E2-B6%y3OoG8"> <field name="VAR" id="iMg)y_VACqnBDk/ME.~$">Elevation_max</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </xml>
Mein Blockly-Abklatsch von deinem Script.
Welche Parameter muss ich sinnvoller Weise anpassen. 2200 ist die Wp deiner Panels?
Wo kann man die Formeln nachvollziehen? -
@xbow42 sagte in Formel für Solarestimate:
Wo kann man die Formeln nachvollziehen?
wenn ich das noch wüsste
Ich werde mich aber bemühen.@xbow42 sagte in Formel für Solarestimate:
2200 ist die Wp deiner Panels?
das definitiv nicht. Bin auch gerade eben darüber gestolpert, aber ich denke das war einfach die Geradengleichung um aus minElevation im Winter und maxElevation die jeweils max. Solarleistung des Tages (=apex der Parabel/var max) zu berechnen
Natürlich müsste das eine sinusoide Kurve sein, eine Gerade war mir aber hinreichend genau. -
Leider kann ich das Script nicht so richtig nachvollziehen.
Irgendwo müssen doch die eigenen Standortdaten und Ausrichtung der eigenen Panels einfließen.? -
@xbow42 sagte in Formel für Solarestimate:
Irgendwo müssen doch die eigenen Standortdaten und Ausrichtung der eigenen Panels einfließen.?
nein!
das war Pauls Ansatz in diesem Thread: https://forum.iobroker.net/post/592093ich habe nur eine Parabel berechnet, die auf meine Solarkurve passt.
Einziger Hinweis auf den Standort ist der Variablenname für die Zeit des Apex (Azimut_160). Da steht die Sonne bei 160°
-
@xbow42 sagte: Irgendwo müssen doch die eigenen Standortdaten und Ausrichtung der eigenen Panels einfließen.?
Die Standortdaten werden in Azimut und Elevation der Sonne berücksichtigt. Die Ausrichtung der Panels ist im Blockly enthalten.
-
@paul53 wie im Post vor deinem Beschrieben, hattest du mir diese Lösung erarbeitet.
Danach wollte ich es einfacher haben und hatte erst nur eine einfache quadratische Gleichung genommen, da die Ertragskurve nahezu die Form einer Parabel hatte.Da ich es aber nie sein lassen kann, hatte ich dies Formel dann empirisch immer weiter verfeinert bis die Kurven deckungsgleich waren.
Die Parabel war natürlich nicht symmetrisch, da das Dach nicht nach Süden ausgerichtet ist. Der absteigende Ast ist etwas flacher.