NEWS
Test Adapter Zendure Solarflow
-
Könntest du vielleicht dein Blockly Code für die Umrechnung W in Kwh hier frei verfügbar machen, damit ich diesen bei mir importieren kann?
Dann würde ich versuchen, dass bei mir anzupassen. Das würde sehr helfen denke ich... -
Hallo zusammen,
hier der Blockly-Code für die Umrechnung in kWh
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="gn:HU~SCGvnqbRCRMSCy">Neustart</variable> <variable id="H`8%Q[C];S#Po%f%^,*[">energie</variable> <variable id="B].n@]e_d8kNxs]d-Ky|">Laden_Akku</variable> <variable id="Ua?)Az%)A;%j}Z?Y(@qh">Entladen_Akku</variable> <variable id="rNmt]Ylyn6~w3v(K59#b">Abgabe_Haus</variable> <variable id="6-EW?O6)X$_9j`r)iuXZ">energie_start</variable> </variables> <block type="comment" id="j2:aNxn%Er`8Q_}@!!P$" x="488" y="1388"> <field name="COMMENT">Reset Tageswerte</field> <next> <block type="schedule" id="]L}6=Uyw4CKieYA8qo*{"> <field name="SCHEDULE">2 0 * * *</field> <statement name="STATEMENT"> <block type="control" id="wO]+tfPu:O]@8vg4)@^w"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="0-8b%VD~nqwRqI#LWXFs"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id=":Xx0TE*B2+5{)MCyETx9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputPackPower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="%F@$?A{uLGsZVc@9nVkI"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="!Ssd`Ac.tsL+mEscm.y!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.solarInputPower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="B.yO.QUgA{;$4X?-g8,h"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="EW#t.vr$F-%Xm}DI79r$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputHomePower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=")~K]8GK6@)ZJoFk(PTjL"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="RfP%gUCE_#E^hZzbQAYj"> <field name="VAR" id="H`8%Q[C];S#Po%f%^,*[">energie</field> <value name="VALUE"> <block type="get_object" id="fhJ-zn1s(d8_~@ror)Ga"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.solarInputPower_kWh</field> </block> </value> <next> <block type="variables_set" id="gw70B~d](MZS^tlJL$ZE"> <field name="VAR" id="B].n@]e_d8kNxs]d-Ky|">Laden_Akku</field> <value name="VALUE"> <block type="get_object" id="nvgxO+GU:/NYyfGjd(T7"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh</field> </block> </value> <next> <block type="variables_set" id="(HL3sW/GTkqUWTykp!IY"> <field name="VAR" id="Ua?)Az%)A;%j}Z?Y(@qh">Entladen_Akku</field> <value name="VALUE"> <block type="get_object" id="k8M@bC*%_F78uSqVwepP"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputPackPower_kWh</field> </block> </value> <next> <block type="variables_set" id=".j`=}xOL2?JBtSp_b6LK"> <field name="VAR" id="rNmt]Ylyn6~w3v(K59#b">Abgabe_Haus</field> <value name="VALUE"> <block type="get_object" id="c[)j_kHXIV/jwf7+(%gs"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputHomePower_kWh</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="variables_set" id="A.e$V`ynjg0#}qJnFF)w"> <field name="VAR" id="gn:HU~SCGvnqbRCRMSCy">Neustart</field> <value name="VALUE"> <block type="logic_boolean" id="9Lm!l6t-vOXOddA~3mJg"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="comment" id="RV+eO`6:RC~uyK=4f_nx"> <field name="COMMENT">Produktion PV</field> <next> <block type="variables_set" id="AgB0uh?CsFR}.}ii/]lj"> <field name="VAR" id="H`8%Q[C];S#Po%f%^,*[">energie</field> <value name="VALUE"> <block type="get_object" id="LHEv}In-fr%NySNK.%#/"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.solarInputPower_kWh</field> </block> </value> <next> <block type="on_ext" id="TZZI45[#ikP]~r)[F#^K"> <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="FYq7rQr_UY1$l*O%mT96"> <field name="oid">zendure-solarflow.0.73bkTV.7rk1nVD9.solarInputPower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="9ONCtcSN=;/2qz9[DzO~"> <value name="IF0"> <block type="logic_compare" id="4EEJBi[?ILa5iGd=EP**"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="^t~l#qd|9b]s|+=[u^;5"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="pmxSrG=-GuXXA_}`$X1D"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="4l|3nJK3ab*a;%4oOEr:"> <field name="VAR" id="H`8%Q[C];S#Po%f%^,*[">energie</field> <value name="DELTA"> <shadow type="math_number" id=",5ZCZx[AyTZPJRCD4}~t"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="*TjAL)Qm[^ij,1^%-zFp" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="7TDAa@37OuJ`vcT;P%*S"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="f-yO-QtK`#*o44p4l~(z" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="5~%F;bHMxZ^filO5NJlP"> <field name="NUM">1</field> </shadow> <block type="on_source" id=":[cP3-xt`]9uOyB~EA0|"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="pL#ugPnA,fA?t^ZJgf.Y"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Lg(3A*d,5?1Nb.q|gM=s"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vD5aC,I(S]J9iOZ+c4J-"> <field name="NUM">1</field> </shadow> <block type="on_source" id="Znb.rqcqheWmt5$ect[t"> <field name="ATTR">state.lc</field> </block> </value> <value name="B"> <shadow type="math_number" id="RlrE5saDi)]Sef;L+Ayu"> <field name="NUM">1</field> </shadow> <block type="on_source" id="sC$AGCU(o~$];AuwLfa_"> <field name="ATTR">oldState.lc</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="f6(R_NuM*Zwyrg-(qhk}"> <field name="NUM">3600000000</field> </shadow> </value> </block> </value> <next> <block type="update" id="CII[{jcsb@hcMs[d|BQ("> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.solarInputPower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="~?Jqw`YNch87/XxEuB~~"> <field name="n">3</field> <value name="x"> <shadow type="math_number" id="${2/m,%T*ULKInSPhEs;"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id=";gMk*PhZzVvIU5*ye4Zc"> <field name="VAR" id="H`8%Q[C];S#Po%f%^,*[">energie</field> </block> </value> </block> </value> <next> <block type="control" id="Q!_jCcJF^7_-(qn6CvZ,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">mqtt.0.openWB.set.pv.2.WhCounter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="Ea`xv/s7NDugI.AC@N@g" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="N=7tsj%3fV7yT+T#m[MR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="pmeKMtFb8gwAO1?l@QVQ"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.solarInputPower_kWh</field> </block> </value> <value name="B"> <shadow type="math_number" id="w`C6H+RV?nMM32v2P^09"> <field name="NUM">1000</field> </shadow> </value> </block> </value> <next> <block type="controls_if" id="l?PM69}O3Ny(k|n,4W!q" collapsed="true" disabled="true"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="dxSHTy}..dX]31ELC?+*"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="n5dslA_mI9Ou])Gyt:6A"> <field name="VAR" id="gn:HU~SCGvnqbRCRMSCy">Neustart</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+uGx@r9=;yzVQ77vRIlg"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="+|K^3$jkXW`=X}0xU/bc"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.solarInputPower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="-fCShKtoQ)Ha2}/)PnuI"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="OgbG}/M{KA~DNG^NVzQd"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="oo#pN(_vd0J(fEiw~B_x"> <field name="VAR" id="6-EW?O6)X$_9j`r)iuXZ">energie_start</field> </block> </value> <value name="B"> <shadow type="math_number" id="wPrBhM!5:VdrFq{;y9MF"> <field name="NUM">1</field> </shadow> <block type="math_rndfixed" id="=Ztd-ze#r??+IaxSV}ua"> <field name="n">3</field> <value name="x"> <shadow type="math_number" id="${2/m,%T*ULKInSPhEs;"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id="v^;XU0)KEjM9-|/K~Bo4"> <field name="VAR" id="H`8%Q[C];S#Po%f%^,*[">energie</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="jGEZLQ^+h]kw.X(h]dO!"> <field name="VAR" id="gn:HU~SCGvnqbRCRMSCy">Neustart</field> <value name="VALUE"> <block type="logic_boolean" id="w+YH-t6C!S|2;e.pm;aQ"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="S[uq}2B1D)vx]H[TnOay"> <field name="COMMENT">Berechnung Akku laden in kWh</field> <next> <block type="variables_set" id="Vx{@=gl.R24%PVZg^HjH"> <field name="VAR" id="B].n@]e_d8kNxs]d-Ky|">Laden_Akku</field> <value name="VALUE"> <block type="get_object" id="}PPbjk$IqE~P,cG)tO;Z"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh</field> </block> </value> <next> <block type="on_ext" id="tA7mP|%Y5`?gn6w1L-|D"> <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="N7O~V4f9c?ea+dU1L`:X"> <field name="oid">zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=")7LDT=K6QU!2Mi~2:ch["> <value name="IF0"> <block type="logic_compare" id="~|FCyyy5ewSEEN=g(M/."> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="P-hhEf#);IW^2rvTpOl~"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="b[5`?J9:V/-r9#MPS,I~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="3D[l(^?)Z9jp74dD.IzF"> <field name="VAR" id="B].n@]e_d8kNxs]d-Ky|">Laden_Akku</field> <value name="DELTA"> <shadow type="math_number" id=",5ZCZx[AyTZPJRCD4}~t"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="3KN-HkP.|^dECn0i2/5#" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="7TDAa@37OuJ`vcT;P%*S"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="@Sf}+Gea0jl=,%LWIFo2" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="5~%F;bHMxZ^filO5NJlP"> <field name="NUM">1</field> </shadow> <block type="on_source" id="$^@Qa.}3uMQQJvd+da*1"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="pL#ugPnA,fA?t^ZJgf.Y"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="#WpJ!YOf-_7#7PC5pBa5"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vD5aC,I(S]J9iOZ+c4J-"> <field name="NUM">1</field> </shadow> <block type="on_source" id="{n03WD2#*3bft/ra((e5"> <field name="ATTR">state.lc</field> </block> </value> <value name="B"> <shadow type="math_number" id="RlrE5saDi)]Sef;L+Ayu"> <field name="NUM">1</field> </shadow> <block type="on_source" id="4*MM-y!,o-]x%L{|$FGf"> <field name="ATTR">oldState.lc</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="BZE$ono{@LG}q4`:/JE6"> <field name="NUM">3600000000</field> </shadow> </value> </block> </value> <next> <block type="update" id="qXnE^jarf]|@.iM]pXSN"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="As^GC*c3c#/ovcCj[Izk"> <field name="n">3</field> <value name="x"> <shadow type="math_number" id="${2/m,%T*ULKInSPhEs;"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id="DVvB(,~+n;u?KX$i-3+{"> <field name="VAR" id="B].n@]e_d8kNxs]d-Ky|">Laden_Akku</field> </block> </value> </block> </value> <next> <block type="control" id="[)VC.[VO$|K8PP2]tY67"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">mqtt.0.openWB.set.houseBattery.WhImported</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="AhC[[X(wwlT`p31ph@gH" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="N=7tsj%3fV7yT+T#m[MR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="?,B:`OZ!(-V](MS~Z[jR"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh</field> </block> </value> <value name="B"> <shadow type="math_number" id="095(Ty8?(Bn804.AK%N@"> <field name="NUM">1000</field> </shadow> </value> </block> </value> <next> <block type="control" id="Z.d+spg1v98-k{7QJ@39"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">mqtt.0.openWB.housebattery.DailyYieldImportKwh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="APZmsgLZl?fAgf?xyAEd"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="c=~;P.ij`)3VXFF.QfJ9"> <field name="COMMENT">Berechnung Akku entladen in kWh</field> <next> <block type="variables_set" id=".iXLd,+o.#.:FMuVq*:F"> <field name="VAR" id="Ua?)Az%)A;%j}Z?Y(@qh">Entladen_Akku</field> <value name="VALUE"> <block type="get_object" id="5#B%R6?L%PE)#VFhs8wc"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputPackPower_kWh</field> </block> </value> <next> <block type="on_ext" id="!BqpT6L5Jt9!dy}Om1f_"> <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="-$}N.4QXm{r96x(/6LPZ"> <field name="oid">zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="8v:aj[g:]uaMl].C1`_."> <value name="IF0"> <block type="logic_compare" id="H3slbvS[c!1Lq#r^W74f"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="f.E$s3*Wp/UKOokR7Lob"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="#~(=zoaXW2j_5O/GTH$U"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="riS3c}TAcXe_!!.plM@F"> <field name="VAR" id="Ua?)Az%)A;%j}Z?Y(@qh">Entladen_Akku</field> <value name="DELTA"> <shadow type="math_number" id=",5ZCZx[AyTZPJRCD4}~t"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="hT!A95o{|l`Dl-*L8~w0" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="7TDAa@37OuJ`vcT;P%*S"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="7h1m+`RNUVw,v~tSaaM8" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="5~%F;bHMxZ^filO5NJlP"> <field name="NUM">1</field> </shadow> <block type="on_source" id="nb4yu%3.-{i95)0NjX?q"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="pL#ugPnA,fA?t^ZJgf.Y"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="(k3DD)L{Sr1[9px73+zv"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vD5aC,I(S]J9iOZ+c4J-"> <field name="NUM">1</field> </shadow> <block type="on_source" id="[d3)`-(trr7]Jc,DR!vG"> <field name="ATTR">state.lc</field> </block> </value> <value name="B"> <shadow type="math_number" id="RlrE5saDi)]Sef;L+Ayu"> <field name="NUM">1</field> </shadow> <block type="on_source" id="!WejTQC/;ZkuwWS[LORL"> <field name="ATTR">oldState.lc</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="rshwP?x0IX=aDOk|T6qZ"> <field name="NUM">3600000000</field> </shadow> </value> </block> </value> <next> <block type="update" id=";^JXx3vl[5u[6j}uIq(0"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputPackPower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="o4%pJbXN;{br1M}:2,Sa"> <field name="n">3</field> <value name="x"> <shadow type="math_number" id="${2/m,%T*ULKInSPhEs;"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id="e6xZibt(AEyrALe;?(`j"> <field name="VAR" id="Ua?)Az%)A;%j}Z?Y(@qh">Entladen_Akku</field> </block> </value> </block> </value> <next> <block type="control" id="(06jUc?xnQ,eg+64uDv`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">mqtt.0.openWB.set.houseBattery.WhExported</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="G%YwXy}:JLdYme*1aOEN" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="N=7tsj%3fV7yT+T#m[MR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="PH#Ytw3L8+aUa)$O|p3m"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputPackPower_kWh</field> </block> </value> <value name="B"> <shadow type="math_number" id="D|T1ZM^54Ur/]np;jQ~L"> <field name="NUM">1000</field> </shadow> </value> </block> </value> <next> <block type="control" id="Y9A7~$-]]w7U3_Q~8{z." disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">mqtt.0.openWB.housebattery.DailyYieldExportKwh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="eu()*N4cXr):1jd}|iRA"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="!Rz`~!wnwyL0;![Qh:}p"> <field name="COMMENT">Berechnung Abgabe Haus in kWh</field> <next> <block type="variables_set" id="m5[7D*Dasi6r#F2/!+c!"> <field name="VAR" id="rNmt]Ylyn6~w3v(K59#b">Abgabe_Haus</field> <value name="VALUE"> <block type="get_object" id="0;Fed2($nZ._EJVqt_hI"> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputHomePower_kWh</field> </block> </value> <next> <block type="on_ext" id="lu.)LCKv`g8i-n#_TISE"> <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="N3{ZrX7f+OsMsIP#/U9i"> <field name="oid">zendure-solarflow.0.73bkTV.7rk1nVD9.outputHomePower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="+G8hcCGY@}X{m=_./ZS9"> <value name="IF0"> <block type="logic_compare" id="6?gQo4NovHN[5^(I,XC4"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="/),v0q8DTHi1duT7Tgk2"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="BB)1-0}6e._yDF76=WOt"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="fOOtZ|OD;Zg^wc=%q-vu"> <field name="VAR" id="rNmt]Ylyn6~w3v(K59#b">Abgabe_Haus</field> <value name="DELTA"> <shadow type="math_number" id=",5ZCZx[AyTZPJRCD4}~t"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="6`d(*2r1-^(nDnP22u}Y" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="7TDAa@37OuJ`vcT;P%*S"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=":(v{J5s[tylm.H@s?]DL" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="5~%F;bHMxZ^filO5NJlP"> <field name="NUM">1</field> </shadow> <block type="on_source" id="H$z%4dk~6,]g.tJqB{L5"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="pL#ugPnA,fA?t^ZJgf.Y"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="=~~6_;L{LVTuz+}g!4.p"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vD5aC,I(S]J9iOZ+c4J-"> <field name="NUM">1</field> </shadow> <block type="on_source" id="?Fp$bU#F^_Hg*XTrF]`^"> <field name="ATTR">state.lc</field> </block> </value> <value name="B"> <shadow type="math_number" id="RlrE5saDi)]Sef;L+Ayu"> <field name="NUM">1</field> </shadow> <block type="on_source" id="L^%o@Qx+t:=j#mGtra=E"> <field name="ATTR">oldState.lc</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="_[!N:%RqJ25HdZ}=i7=-"> <field name="NUM">3600000000</field> </shadow> </value> </block> </value> <next> <block type="update" id="NVg/pYOb]:Z0#~Y4x~^c"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.outputHomePower_kWh</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="uT1DuxRN5JQjq:xj(%`+"> <field name="n">3</field> <value name="x"> <shadow type="math_number" id="${2/m,%T*ULKInSPhEs;"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id="/AI?+5SzC8*}70Yiw`In"> <field name="VAR" id="rNmt]Ylyn6~w3v(K59#b">Abgabe_Haus</field> </block> </value> </block> </value> </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> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@lesiflo
Super danke dir. Dann versuche ich mich mal dran. -
Habe das Blocky mal importiert und entsprechend meine Datenpunkte eingetragen.
Mal sehen ob sich was tut, falls Morgen die Sonne scheint.Ich habe nur erstmal die mqtt Blöcke deaktiviert:
Wofür werden die benötigt? Und falls ich diese benötige, was muss ich dafür machen um das einzurichten?
Würde mich freuen, wenn ich da nochmal Hilfe bekomme...
Danke
-
@flojo Die brauche ich für die Weiterleitung der Daten an openWB (Wallbox). Kannst du also komplett rauslöschen.
-
-
@lesiflo danke erstmal! Ich hab allerdings noch nicht ganz verstanden, was Du damit genau machst. Wo laufen die Daten hin bzw. wie werden die später dann visualisiert?
Danke für ein paar mehr Details!
-
@diet99 z.B. dafür:
Widget oben links und unten rechts
-
@nograx: Hi, ich habe heute ein Firmware-Update vom Master auf V2.0.38 gemacht, seit dem kommen keine Daten mehr für pvPower1 und pwPower2 rein. Hat sich da eventuell etwas in der Datenstruktur/Namen verändert? Auf Github steht solarPower1 und solarPower2. Oder hast du das für den Adapter umbenannt?
-
@lesiflo Hi, ich habe die beiden Eingänge nur getauscht, weil Zendure in der App das auch so macht... kann das gerade leider nicht verifizieren, habe das Update noch nicht drauf - und lasse mir in der Regel immer etwas Zeit damit. Gab zuletzt ja auch öfters Probleme mit den Updates, und aktuell läuft mein System sehr zuverlässig. Never change a running system
Können das andere auch nachvollziehen?
-
@nograx Kann ich bestätigen. Die einzelnen Solarleistungen werden nicht mehr angezeigt:
-
@nograx OK, dann warte ich bis du auch so weit bist. Der Rest funktioniert ja.
Eventuell kannst du ja noch die Berechnung in kWh von mir mit aufnehmen, nur so als Vorschlag. Die API liefert das ja nicht. Die errechneten Werte stimmen ziemlich genau mit denen der App überein. -
Klappt bei euch die Ausgabe der Lade/Entladezeit? Da ich hier keine Werte bekomme errechne ich mir das selber.
Akkukapazität in Ah = Akkuanzahl x Kapazität/Ah: 2 x 20 Ah = 40 Ah (bei 2 x AB1000)
Spannung_PV_Panel = Spannung des Moduls bei max. Leistung (aus Datenblatt vom Panel)Die Variablen für "remainInputTime" und "remainOutTime" müsst ihr am besten unter 0_userdata.0 selber anlegen. Evtl. eigene Namen vergeben.
Ladezeit:
Entladezeit:
Export Blockly
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="y{EyYfI6aqO8WcNtPY2w">Akkukapazität</variable> <variable id="JcbPVIO%aKu!SI`JU!JD">Spannung_PV_Panel</variable> <variable id="!sszI/Un!f$3Hn!1tk]B">Restakku</variable> <variable id="}bL170$YMV{_n7LhpGBh">Ladestrom</variable> <variable id="`lOge52h.+zOY`PGJnbm">Ladezeit</variable> <variable id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</variable> <variable id="=VOm[,NN_4Fw5ed:086w">ladezeit_std</variable> </variables> <block type="comment" id="0^!mX,ag|{B$l?KZ}|UK" x="775" y="539"> <field name="COMMENT">Ladezeit berechnen</field> <next> <block type="variables_set" id="%Vl9XZ[$GMcs[`qohyq?"> <field name="VAR" id="y{EyYfI6aqO8WcNtPY2w">Akkukapazität</field> <value name="VALUE"> <block type="math_number" id="V^nvYM1W~tFYLcrSW%?r"> <field name="NUM">38.4</field> </block> </value> <next> <block type="variables_set" id="pg#LClGOjY,#MY7d0jzj"> <field name="VAR" id="JcbPVIO%aKu!SI`JU!JD">Spannung_PV_Panel</field> <value name="VALUE"> <block type="math_number" id="PA8C_0?Qc{R8fas-hV1q"> <field name="NUM">31.21</field> </block> </value> <next> <block type="on_ext" id="-*eavH]~|+T`*5!_u%e;"> <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="`_;Zkj?K=RLIsH)Hx2K/"> <field name="oid">zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="s/YcoZ4hO]7s2=r0JtL^"> <field name="VAR" id="!sszI/Un!f$3Hn!1tk]B">Restakku</field> <value name="VALUE"> <block type="math_arithmetic" id="l2hqe6uq%QR)HjLZp[:)"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="U.3*7Od6k;ghubO(hNz8"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="[fcQlzl5H[rk]Q.oM[t0"> <field name="VAR" id="y{EyYfI6aqO8WcNtPY2w">Akkukapazität</field> </block> </value> <value name="B"> <shadow type="math_number" id="tNY#^EVgu|?FCRcVcqRr"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="c#6mk`@C`ErD^`Fqk}Sg" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="3e_E)w^DLR.[*$|bYW!6"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="X/:pi@s:YDVIz14asd1?" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="z=JnJ[KV?c^5m{Rb,msG"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="C#O;Z){J.o#{DIpd6N?y"> <field name="VAR" id="y{EyYfI6aqO8WcNtPY2w">Akkukapazität</field> </block> </value> <value name="B"> <shadow type="math_number" id="*`j,@!H9ujzx3_f=l4cl"> <field name="NUM">1</field> </shadow> <block type="get_value" id="_I:nxP70pMkv;kI^u66j"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="(4xaN|=t8Ba`uD%{U/H+"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="controls_if" id=":UFbeKem?j7-OimUDh3c"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id=".pvE#7x[T{-RFL?|/70P"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="H)fS@0:/ZD0qnCcS(Cu5"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower</field> </block> </value> <value name="B"> <block type="math_number" id=").TzP*5M$S[VM]%sH6xx"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="h(N?0XJj6L*4Ih,k?-Wb"> <field name="VAR" id="}bL170$YMV{_n7LhpGBh">Ladestrom</field> <value name="VALUE"> <block type="math_arithmetic" id="Diq[[l,%jJoK~SEH%mgV"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="`s}jI^~:y:H{K?lfg__K"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="}_!SwYmvLqys9]5tA0];"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="llxw:a{n~#0Eyqq4NYy6"> <field name="NUM">1</field> </shadow> <block type="get_value" id="FRt=/;a{aDwSfX3PV8nx"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="NL#5MAp_EEg_m4,GUmv+"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="2#|hmH%)^Z,;4b;rg0t)"> <field name="VAR" id="JcbPVIO%aKu!SI`JU!JD">Spannung_PV_Panel</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="`ZA/6w^SAfpI61756S74"> <field name="NUM">2</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="Xr5g_mKP!2ms[;a!F7t*"> <field name="VAR" id="`lOge52h.+zOY`PGJnbm">Ladezeit</field> <value name="VALUE"> <block type="math_arithmetic" id="Y2EkD?z!ii7znx{8tzUQ"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="I:}-3F3h(R,9Lr:TVQ3`"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=";oFfIK[AcS_$Y*0/I,*X" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="VZ2Ra3A*87J[t{Y2vCm7"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="ha|yev/:juj*Mz3K]4~j" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="X2A9GcU3zX_vWAb_Z%3P"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="}zAgf*nJ%Hvt{w_Oc,=I"> <field name="VAR" id="!sszI/Un!f$3Hn!1tk]B">Restakku</field> </block> </value> <value name="B"> <shadow type="math_number" id="s(bc]%.$C|CI21HcOf1K"> <field name="NUM">1.3</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="A9K?p@IIdLLxXDS1S:Rd"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="xbU:n8FrM:JzTOvc]XCV"> <field name="VAR" id="}bL170$YMV{_n7LhpGBh">Ladestrom</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="U-s@rqdzd|J{mO|tLsZN"> <field name="NUM">60</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="Cu62qYG.pn{)]-7k?Dk_"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> <value name="VALUE"> <block type="math_modulo" id="`?T]=8CW9!`l65y9_lA:"> <value name="DIVIDEND"> <shadow type="math_number" id="QZ|BCq[:AYInR?K:plOz"> <field name="NUM">64</field> </shadow> <block type="variables_get" id="wK;;QlJJ?8TI@KVKpECi"> <field name="VAR" id="`lOge52h.+zOY`PGJnbm">Ladezeit</field> </block> </value> <value name="DIVISOR"> <shadow type="math_number" id="Mx_LMHgznO/jsh)a_YvO"> <field name="NUM">60</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="`%3^%]{=n=omnx//?r.D"> <field name="VAR" id="=VOm[,NN_4Fw5ed:086w">ladezeit_std</field> <value name="VALUE"> <block type="math_arithmetic" id="$8Em0!,(ju2X8:X7?F-f"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="#)P@)|RD%,^l[4mXA)Qg"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="6Nph4BRdjMeR7ypb/h;x" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="gk(bxszYj-8oicyU^3X}"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="(h(/9QZc@^$Ibtp@dLR4"> <field name="VAR" id="`lOge52h.+zOY`PGJnbm">Ladezeit</field> </block> </value> <value name="B"> <shadow type="math_number" id="]4~#=gBD*RDDL_(m}ug/"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="E/!m;U7e@*%{qxgTRXN#"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="Dy!xFuu-eU4pQ-:%=-57"> <field name="NUM">60</field> </shadow> </value> </block> </value> <next> <block type="controls_if" id="6d-pWm-burHQ.*sRJC+9"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="5u$zbiWX0Tb(4Xsnx#.x"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="p=wFsc/w|@vus?R?$dUJ"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> <value name="B"> <block type="math_number" id="`-[L)p@1J(NF(,A{g8(Q"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="rQz^Bw5l3hI#=EhTBkTs"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text_join" id="*A5Ks]vzGT4Q|+Z~v`%d"> <mutation items="4"></mutation> <value name="ADD0"> <block type="variables_get" id="~;NB[W.,7VV^nBTL:iXm"> <field name="VAR" id="=VOm[,NN_4Fw5ed:086w">ladezeit_std</field> </block> </value> <value name="ADD1"> <block type="text" id="AXN-`:E6N[c*r*v#^RAH"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="text" id=":~CD`PfoOYsHvQ=_7-$,"> <field name="TEXT">0</field> </block> </value> <value name="ADD3"> <block type="math_round" id="#6.cB,SUy]patR)*5$Cv"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="U+ZA*?oz60S#xQ]rsx0V"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="xmgR9jeJEG47+FVO!he."> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="|w!Rr2kx+Pe0Yn,w.PsE"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text_join" id="%I|CjdFI!yn`hZ9ZYUAr"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="V;h9~k{YnG_nY(/09sb$"> <field name="VAR" id="=VOm[,NN_4Fw5ed:086w">ladezeit_std</field> </block> </value> <value name="ADD1"> <block type="text" id="tA:JP+r(/3;rkg6be:j-"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="math_round" id="~^WNC8MZCwi*w.F?,t9B"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="U+ZA*?oz60S#xQ]rsx0V"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="M6E4q7eD;^fram%+FS%1"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="3g;pUDzNW0w3#WSXsB=B"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="QGQ81pMxTZUo40StjM%V"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower</field> </block> </value> <value name="B"> <block type="math_number" id="@3v$5PeaR=g)XHY@1#9#"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="c6d6_.DK05Af^A4qw}($"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id=":3Dt+0b{~?o*xK#zl@2I"> <field name="TEXT">0</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <next> <block type="comment" id="/kKDTf.b[BXI;3@z?S^U"> <field name="COMMENT">Endladezeit berechnen</field> <next> <block type="on_ext" id="-VY6uVv5|qV1,,%-c0ts"> <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="RVw37Xv/+_l0a|vhZC@D"> <field name="oid">zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="5}r@EE1q%$TVm}M@z!J2"> <field name="VAR" id="!sszI/Un!f$3Hn!1tk]B">Restakku</field> <value name="VALUE"> <block type="math_arithmetic" id="Mi.Sl*eD:fiWEr*E;`4B" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="3e_E)w^DLR.[*$|bYW!6"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="nV=oWUzXOc@Z^EocV:,~" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="z=JnJ[KV?c^5m{Rb,msG"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="A3DFN1|%W7[ZHsAw{/fK"> <field name="VAR" id="y{EyYfI6aqO8WcNtPY2w">Akkukapazität</field> </block> </value> <value name="B"> <shadow type="math_number" id="*`j,@!H9ujzx3_f=l4cl"> <field name="NUM">1</field> </shadow> <block type="get_value" id="u%RzP+MN-@Z3q#|jH@p)"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="J/edd2*@!L%W~x0czzO1"> <field name="NUM">100</field> </shadow> </value> </block> </value> <next> <block type="controls_if" id="1.TOTFI#-9W]$,Aly6JT"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="*y6Nrn`Y2t40FWw}r)A?"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="2qmOAlmhWKm2XMB1p4tH"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower</field> </block> </value> <value name="B"> <block type="math_number" id="QmHkzMr5vTTx8j49{CK}"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="Bk2jv4495@cW(2?w1pv_"> <field name="VAR" id="}bL170$YMV{_n7LhpGBh">Ladestrom</field> <value name="VALUE"> <block type="math_arithmetic" id="a{DVP6E%%Ps]qEp;Qz0}"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="`s}jI^~:y:H{K?lfg__K"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="X0B/biEcj{Z0Dc=K$%Qe"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="llxw:a{n~#0Eyqq4NYy6"> <field name="NUM">1</field> </shadow> <block type="get_value" id="C96_lVEC{G[tN[],:1D/"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="NL#5MAp_EEg_m4,GUmv+"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Hs/#G!wi4nf+RG!lxO8/"> <field name="VAR" id="JcbPVIO%aKu!SI`JU!JD">Spannung_PV_Panel</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="7|w^L7BJPsr@kg^Q,-3A"> <field name="NUM">2</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="/)vg;u/FD2HB?f4*Dnk:"> <field name="VAR" id="`lOge52h.+zOY`PGJnbm">Ladezeit</field> <value name="VALUE"> <block type="math_arithmetic" id="G@,1szYHo|[!!?REb[TT"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="I:}-3F3h(R,9Lr:TVQ3`"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="_llKaN,--nmtiv|gW*sP" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="VZ2Ra3A*87J[t{Y2vCm7"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="BGhn@o3w5yLD_Nohz7H-" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="X2A9GcU3zX_vWAb_Z%3P"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="ab)5sQn$b5Rh}VYB~|$G"> <field name="VAR" id="!sszI/Un!f$3Hn!1tk]B">Restakku</field> </block> </value> <value name="B"> <shadow type="math_number" id="TS,XL3fPev?{(w{*gf14"> <field name="NUM">1.3</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="A9K?p@IIdLLxXDS1S:Rd"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="bqg^%unIv/[5Rx%2t+Qq"> <field name="VAR" id="}bL170$YMV{_n7LhpGBh">Ladestrom</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="#[M{Gx!_HOq:#N#c3ua9"> <field name="NUM">60</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="Ny%ib{Z~rw*`tp|I73gN"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> <value name="VALUE"> <block type="math_modulo" id="$#I07pq%nO)(-zn.y7qI"> <value name="DIVIDEND"> <shadow type="math_number" id="QZ|BCq[:AYInR?K:plOz"> <field name="NUM">64</field> </shadow> <block type="variables_get" id="5N;b6|/v-bKAKq;AT6dZ"> <field name="VAR" id="`lOge52h.+zOY`PGJnbm">Ladezeit</field> </block> </value> <value name="DIVISOR"> <shadow type="math_number" id="Uz)%aWJHTk)LQk#jQ!,E"> <field name="NUM">60</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="!41QYhGM9mn=V$qn%o5q"> <field name="VAR" id="=VOm[,NN_4Fw5ed:086w">ladezeit_std</field> <value name="VALUE"> <block type="math_arithmetic" id="P*(8pIt)19s4W@F_Mj09"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="#)P@)|RD%,^l[4mXA)Qg"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="f.~-COZ?GmtTiO(xsPh!" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="gk(bxszYj-8oicyU^3X}"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="?vYIGU^EaY9z^4FWXmm3"> <field name="VAR" id="`lOge52h.+zOY`PGJnbm">Ladezeit</field> </block> </value> <value name="B"> <shadow type="math_number" id="]4~#=gBD*RDDL_(m}ug/"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="cL($n5^l2;o.n]{X,XIg"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="@nnKwenc8Y?$5{DNJa]U"> <field name="NUM">60</field> </shadow> </value> </block> </value> <next> <block type="controls_if" id="+MrOC$PJ.s:XW*NKYU:8"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="@Dv]ZZnB-`1igoLsT)yQ"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="~s2X^Ek_uF^Gh(PpqLrU"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> <value name="B"> <block type="math_number" id="c+QVI{~dH_o`z7P6L?iK"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="wOk#YxmO2P(RKBUI~z(T"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text_join" id="kV0VQ#=Z?7@Ke,g=O!Hr"> <mutation items="4"></mutation> <value name="ADD0"> <block type="variables_get" id="lepo)3#*;{!Be[!1bw!t"> <field name="VAR" id="=VOm[,NN_4Fw5ed:086w">ladezeit_std</field> </block> </value> <value name="ADD1"> <block type="text" id="G9E)4`[9t;;fS6/+m3NM"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="text" id="U}0?xB^$R5D2RHJaN5q*"> <field name="TEXT">0</field> </block> </value> <value name="ADD3"> <block type="math_round" id=",Sy[/DxUI{2t7ab},%E2"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="U+ZA*?oz60S#xQ]rsx0V"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="rvUPj@!|eC7~tE/^:1yh"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="FJ#j^#R1/W,tjPMeMnlY"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text_join" id="QjjLSj$P0uPc(@sIG;U]"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="U@;AtX-e6*IW4s.jbpX+"> <field name="VAR" id="=VOm[,NN_4Fw5ed:086w">ladezeit_std</field> </block> </value> <value name="ADD1"> <block type="text" id="GSZAzCP^huon7J/G(;5r"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="math_round" id="k4C8?@`!m#r.InCJL[%r"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="U+ZA*?oz60S#xQ]rsx0V"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="a$/wx}bNig,jH8M_^CqP"> <field name="VAR" id="O^EBe~zb4T$B=87LqdjD">ladezeit_min</field> </block> </value> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="$4$UB$5N*porfZX$pFBH"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=";nP^D`kw35;XmX.UKq)U"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower</field> </block> </value> <value name="B"> <block type="math_number" id="?KbNiIWARUQf4zd_;m7}"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="zSGxcU6SMNsk1T~_8f9%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="*YGgeihzw5n:LX/n/b!s"> <field name="TEXT">0</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@lesiflo Ist seit gestern in einem ersten Ansatz in der Latest Version drin.
Kannst du mir das Blockly mal als Javascript umwandeln (sollte ein Blockly/Javascript Button geben) dann kann ich sicher was davon verwenden. Danke.
Mal schauen ggf. traue ich mich ja dieses Wochenende das Update durchzuführen Dann schaue ich mal was Zendure da geändert hat. Meine Vermutung ist das sie durch das Vertauschen nun 2 neue Namen für die Werte genommen haben.
-
@nograx Bitte schön, Berechnung in kWh
var timeout, timeout2, timeout3, Entladen_Soll, Akkukapazit_C3_A4t, Spannung_PV_Panel, Restakku, Ladestrom, Ladezeit, ladezeit_min, ladezeit_std; // Aktuelle PV-Leistung [W] on({ id: [].concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.solarInputPower']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '') > 0) { setStateDelayed('mqtt.0.openWB.set.pv.2.W' /* W */, (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.solarInputPower').val * -1), 50, false); (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})(); } else if ((obj.state ? obj.state.val : '') == 0) { timeout = setTimeout(async () => { timeout = null; setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.packState' /* packState */, 0); setState('mqtt.0.openWB.set.pv.2.W' /* W */, 0); }, 60000); } }); // Ladeleistung in Akku [W] on({ id: [].concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '') > 0) { setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.packState' /* packState */, 1); setState('mqtt.0.openWB.set.houseBattery.W' /* W */, getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val); if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val > 0) { setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower' /* InOutPackPower */, getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower_Wh' /* InOutPackPower_Wh */, (Math.round(getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.packInputPower_kWh').val * 1000))); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower_Grafana' /* InOutPackPower_Grafana */, (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val * -1)); setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime' /* remainOutTime */, 0, true, 1000, false); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Ladestatus' /* Ladestatus */, 'Laden [W]'); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Ladestatus_Wh' /* Ladestatus_Wh */, 'Geladen [Wh]'); } if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val == 0 && getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val == 0) { setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower' /* InOutPackPower */, 0); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower_Grafana' /* InOutPackPower_Grafana */, 0); setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime' /* remainInputTime */, 0, true, 1000, false); setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime' /* remainOutTime */, 0, true, 1000, false); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Ladestatus' /* Ladestatus */, 'Standby'); } (() => { if (timeout2) { clearTimeout(timeout2); timeout2 = null; }})(); } else if ((obj.state ? obj.state.val : '') == 0) { timeout2 = setTimeout(async () => { timeout2 = null; setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.packState' /* packState */, 0); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower' /* InOutPackPower */, 0); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower_Grafana' /* InOutPackPower_Grafana */, 0); setState('mqtt.0.openWB.set.houseBattery.W' /* W */, 0); }, 30000); } }); // Entnahmeleistung aus Akku [W] on({ id: [].concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '') > 0) { setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.packState' /* packState */, 2); setState('mqtt.0.openWB.set.houseBattery.W' /* W */, (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val * -1)); if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val > 0) { setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower' /* InOutPackPower */, getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower_Wh' /* InOutPackPower_Wh */, (Math.round(getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.outputPackPower_kWh').val * 1000))); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower_Grafana' /* InOutPackPower_Grafana */, getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val); setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime' /* remainInputTime */, 0, true, 1000, false); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Ladestatus' /* Ladestatus */, 'Entladen [W]'); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Ladestatus_Wh' /* Ladestatus_Wh */, 'Geliefert [Wh]'); } (() => { if (timeout3) { clearTimeout(timeout3); timeout3 = null; }})(); } else if ((obj.state ? obj.state.val : '') == 0) { timeout3 = setTimeout(async () => { timeout3 = null; setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.packState' /* packState */, 0); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower_Grafana' /* InOutPackPower_Grafana */, 0); setState('0_userdata.0.Eigene_Variablen.PV.Solarflow.InOutPackPower' /* InOutPackPower */, 0); setState('mqtt.0.openWB.set.houseBattery.W' /* W */, 0); }, 30000); } }); // Aktueller Ladestand des Akkus [%] und Ausgangsleistung auf 0 setzen on({ id: [].concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; setState('mqtt.0.openWB.set.houseBattery.%Soc' /* %Soc */, getState('zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel').val); if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel').val <= getState('zendure-solarflow.0.73bkTV.7rk1nVD9.minSoc').val) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 0); } }); // Ausgangsleistung einstellen - Variabel on({ id: [].concat(['0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus']).concat(['mqtt.0.openWB.global.WHouseConsumption']).concat(['0_userdata.0.Eigene_Variablen.PV.Solarflow.Umschalten_Auto_Manu']), change: 'ne' }, async (obj) => { if (getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Umschalten_Auto_Manu').val == 1 && getState('zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel').val >= getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Min_SOC_entladen').val) { if (getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus').val == 1 || getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus').val == 2 && compareTime(getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.AkkuOut_Start').val, '06:00', 'between', null)) { Entladen_Soll = getState('mqtt.0.openWB.global.WHouseConsumption').val + getState('mqtt.0.openWB.pv.W').val; if (Entladen_Soll > 50) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 50); } else if (Entladen_Soll > 100) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 100); } else if (Entladen_Soll > 200) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 200); } else if (Entladen_Soll > 300) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 300); } else if (Entladen_Soll > 400) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 400); } else if (Entladen_Soll > 500) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 500); } else if (Entladen_Soll > 600) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 600); } else if (Entladen_Soll <= 0) { setStateDelayed('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 0, 30000, false); } } } }); // Ausgangsleistung einstellen - Fest sofort on({ id: [].concat(['0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus']).concat(['0_userdata.0.Eigene_Variablen.PV.Solarflow.Umschalten_Auto_Manu']), change: 'ne' }, async (obj) => { if (getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Umschalten_Auto_Manu').val == 0 && getState('zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel').val >= getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Min_SOC_entladen').val) { if (getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus').val == 1) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.SetOutputPower').val); } else if (getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus').val == 0 || getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus').val == 2) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, 0); } } }); // Ausgangsleistung einstellen - Fest nach Zeit schedule("2,17,32,47 17-22 * * *", async () => { if ((getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Entladen_Modus').val == 2 && compareTime(getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.AkkuOut_Start').val, '23:00', 'between', null) && getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Umschalten_Auto_Manu').val == 0 && getState('zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel').val >= getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.Min_SOC_entladen').val)) { setState('zendure-solarflow.0.73bkTV.7rk1nVD9.control.setOutputLimit' /* Einzustellende Ausgangsleistung */, getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.SetOutputPower').val); } }); // Ladezeit berechnen Akkukapazit_C3_A4t = 38.4; Spannung_PV_Panel = 31.21; on({ id: [].concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; Restakku = Akkukapazit_C3_A4t - (Akkukapazit_C3_A4t * getState('zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel').val) / 100; if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val > 0) { Ladestrom = (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val / Spannung_PV_Panel) / 2; Ladezeit = ((Restakku / 1.3) / Ladestrom) * 60; ladezeit_min = Ladezeit % 60; ladezeit_std = (Ladezeit - ladezeit_min) / 60; if (ladezeit_min < 10) { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime' /* remainInputTime */, ([ladezeit_std,':','0',Math.round(ladezeit_min)].join('')), 1000, false); } else { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime' /* remainInputTime */, ([ladezeit_std,':',Math.round(ladezeit_min)].join('')), 1000, false); } } else if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val == 0) { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime' /* remainInputTime */, '0', 1000, false); } }); // Endladezeit berechnen on({ id: [].concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; Restakku = (Akkukapazit_C3_A4t * getState('zendure-solarflow.0.73bkTV.7rk1nVD9.electricLevel').val) / 100; if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val > 0) { Ladestrom = (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val / Spannung_PV_Panel) / 2; Ladezeit = ((Restakku / 1.3) / Ladestrom) * 60; ladezeit_min = Ladezeit % 60; ladezeit_std = (Ladezeit - ladezeit_min) / 60; if (ladezeit_min < 10) { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime' /* remainOutTime */, ([ladezeit_std,':','0',Math.round(ladezeit_min)].join('')), 1000, false); } else { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime' /* remainOutTime */, ([ladezeit_std,':',Math.round(ladezeit_min)].join('')), 1000, false); } } else if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val == 0) { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime' /* remainOutTime */, '0', 1000, false); } }); on({ id: [].concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower']).concat(['zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower']), change: 'ne' }, async (obj) => { if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val > 0) { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.Restzeit' /* Restzeit */, getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainInputTime').val, 1000, false); } else if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val > 0) { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.Restzeit' /* Restzeit */, getState('0_userdata.0.Eigene_Variablen.PV.Solarflow.remainOutTime').val, 1000, false); } else if (getState('zendure-solarflow.0.73bkTV.7rk1nVD9.outputPackPower').val == 0 && getState('zendure-solarflow.0.73bkTV.7rk1nVD9.packInputPower').val == 0) { setStateDelayed('0_userdata.0.Eigene_Variablen.PV.Solarflow.Restzeit' /* Restzeit */, '0:00', 1000, false); } }); // Akkuheizung on({ id: [].concat(['hm-rpc.0.LEQ0122954.1.TEMPERATURE']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '') < 10 && compareTime('07:00', '17:00', 'between', null) || (obj.state ? obj.state.val : '') < 8 && (compareTime('17:01', '23:59', 'between', null) || compareTime('00:00', '06:59', 'between', null))) { setState('shelly.0.SHPLG-S#5AD46F#1.Relay0.Switch' /* Switch */, true); setStateDelayed('shelly.0.SHPLG-S#5AD46F#1.Relay0.Switch' /* Switch */, false, 2700000, false); } else if ((obj.state ? obj.state.val : '') >= 15) { setState('shelly.0.SHPLG-S#5AD46F#1.Relay0.Switch' /* Switch */, false); } });
-
@nograx Du solltest noch warten mit dem Update. Bei mir passen die Leistungsdaten in der App seit dem nicht mehr.
Meine Akku's sind voll, 1920 Wh. An Solar wurde aber nur 1.53 kWh erzeugt. Die Akkus waren vorher auf 1%. Immerhin passen aber die errechneten Wert im iobroker. -
@lesiflo super - dankeschön!
Was muß ich da jetzt alles auf mein System anpassen? Nur die vier Werte Solarleistung, Ladeleistung, Entladeleistung und Ausgangsleistung? -
@lesiflo Das scheint ein serverseitiges Problem zu sein. Wird im PV-Forum auch bereits diskutiert und trat wohl schon einige Tage vor der Auslieferung des Updates auf.
-
@lesiflo da kommen beim Start jetzt diese Fehlermeldungen. Muß ich die Variablen zuerst bei mir anlegen? So ganz habe ich das Prinzip irgendwie noch nicht verstanden.
Danke! -
@diet99 Ja, genau. Die 4 angemeckerten Variablen musst du bei dir am besten unter 0_userdata.0. in einem eigenen Ordner anlegen und dann im Script an der jeweiligen Stelle eintragen.
Alles was gelb markiert ist kann du rauslöschen, ist für meine Wallbox.