Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    9
    1
    640

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    3.0k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    3.0k

Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

Geplant Angeheftet Gesperrt Verschoben JavaScript
384 Beiträge 21 Kommentatoren 33.3k Aufrufe 19 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • maxclaudiM maxclaudi

    @Daniel-8 sagte:
    Es gibt ja in der App eine Funktion wo man zumindest die Kalibrierungszeit einstellen kann.

    Bei Dir ist Api Version:2; dann verwendest Du vermutlich eine neuere App-Version ohne Firmware-Update.

    @Rico-Sander sagte:
    das wird die Funktion sein, die Anfang Juni vom Support in einer Mail angekündigt wurde.

    An alle:
    Wenn Firmware aktualisiert wurde auf API 3 und man die App für die Kalibrierung nutzt, dann wäre es interessant was für Werte in der App eingestellt wurden und was die Datenpunkte für Werte liefern:

    • properties.batCalTime
    • properties.socCompSwitch
    • properties.socStatus

    evtl. noch
    properties.pass beobachten.

    D Offline
    D Offline
    Daniel 8
    schrieb am zuletzt editiert von
    #367

    @maxclaudi sagte:

    @Daniel-8 sagte:
    Es gibt ja in der App eine Funktion wo man zumindest die Kalibrierungszeit einstellen kann.

    Bei Dir ist Api Version:2; dann verwendest Du vermutlich eine neuere App-Version ohne Firmware-Update.

    Ja die App ist aktuell ohne Firmwareupdate. Aber ich meine das es in der vorherigen Version der App auch schon drin war. Kann mich aber auch täuschen

    @Rico-Sander sagte:
    das wird die Funktion sein, die Anfang Juni vom Support in einer Mail angekündigt wurde.

    An alle:
    Wenn Firmware aktualisiert wurde auf API 3 und man die App für die Kalibrierung nutzt, dann wäre es interessant was für Werte in der App eingestellt wurden und was die Datenpunkte für Werte liefern:

    • properties.batCalTime
    • properties.socCompSwitch
    • properties.socStatus

    evtl. noch
    properties.pass beobachten.

    Ich bin ja noch auf Api 2 und nutze eine Manuelle Kalibrierung über Iobroker. Da wird spätestens nach 27 Tage über PV Strom auf 100% geladen.

    Solarflow 800 Pro mit 1,3 Kwp / Iobroker / Homematic / Shellys / Mediola / Intertechno

    maxclaudiM 1 Antwort Letzte Antwort
    0
    • J Jockel_Bln

      @maxclaudi Vielen Dank für die Mühe die du dir hier machst 👍
      Ich besitze seit dem Wochenende einen SF2400AC+ und versuche gerade das Teil halbwegs sinnvoll zu steuern. Nachdem ich dein super dokumentiertes Skript gefunden habe, ist der solarflow Adapter gleich wieder in Rente gegangen.
      Ich habe von Skripten leider nur sehr weinig bis gar keine Ahnung und bin deshalb immer noch auf Vorlagen angewiesen.
      Da dein "Hauptskript" leider nicht öffentlich ist, habe ich mich mal bei @lesiflo bedient und versucht sein Script zum Laden/Entladen von Zendure Solarflow für mich an dei Skript anzupassen um erst einmal die grundlegenden Funktionen zu haben.

      @All Eventuell kann da mal jemand drüber gucken, ob ich da sehr grobe Schnitzer drin habe und eventuell meinen Speicher gleich wieder schrotte.
      c3f6ed6b-2a06-4cd6-9961-d7a77b592e1e-image.jpeg
      aa557486-29ea-4134-851d-d1796aab3f24-image.jpeg
      Hier nochmal der Blockly Export:

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="O}e3|VjTzH+.dHc-BE_:">output_begin</variable>
         <variable id="Pmn^Rfs2`%vXob$!J=UX">input_begin</variable>
         <variable id="C3%p`nQ`AJ8yklMQKidv">input_max</variable>
         <variable id="8]~yHC.tW6]*GfkCbq)^">output_max</variable>
         <variable id="u8CL)Wex?DocZ58y(/n*">output</variable>
         <variable id="s3oTgk^d]QTYtWfpyOk6">input</variable>
       </variables>
       <block type="comment" id="aB?G:5$JZsZVN]k[FMf$" x="2623" y="-1423">
         <field name="COMMENT">Setzen der Variablen </field>
         <next>
           <block type="variables_set" id="%T^F?(~}g~8Mo.96hbPc">
             <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_begin</field>
             <value name="VALUE">
               <block type="math_number" id="Cd-LtKS?ZQR;3fE)1OfR">
                 <field name="NUM">10</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="Kd6%X$(E%a#8:/4N[o[d">
                 <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_begin</field>
                 <value name="VALUE">
                   <block type="math_number" id="6chO$JcvEJqo#aCjc+es">
                     <field name="NUM">-50</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="uB]{;BN[bdupMg$7^N%|">
                     <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                     <value name="VALUE">
                       <block type="math_number" id="[h?+?1Bkt{sL]3tL~hWI">
                         <field name="NUM">-2400</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="C7WP.yVY.~yLboTO)--M">
                         <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                         <value name="VALUE">
                           <block type="math_number" id="!o~v`/:*+;(]p]{H?WTA">
                             <field name="NUM">800</field>
                           </block>
                         </value>
                         <next>
                           <block type="on_ext" id="/S(;`QABriIC^M+!}7T:">
                             <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="w^]7^w1{B-!$n`7Iy491">
                                 <field name="oid">smartmeter.0.1-0:16_7_0__255.value</field>
                               </shadow>
                             </value>
                             <statement name="STATEMENT">
                               <block type="comment" id="cN$0iHH^ClAq2iXC%h2f">
                                 <field name="COMMENT">Setzen der Ausgangsleistung gerundet auf 10W</field>
                                 <next>
                                   <block type="variables_set" id="S2o8L=RQS++7ipXOjjW5">
                                     <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                     <value name="VALUE">
                                       <block type="math_arithmetic" id="?3ziYdvoAKuW!gQYp^H.">
                                         <field name="OP">MULTIPLY</field>
                                         <value name="A">
                                           <shadow type="math_number" id="T~+opyPvwKX*Zt1YR;As">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="math_round" id=":`a3!T.9(}B/lJ^.KS(/">
                                             <field name="OP">ROUND</field>
                                             <value name="NUM">
                                               <shadow type="math_number" id="g;oroW(D?cU31.`9~.1}">
                                                 <field name="NUM">3.1</field>
                                               </shadow>
                                               <block type="math_arithmetic" id="Au]!Mvid69-ThMTm]V96">
                                                 <field name="OP">DIVIDE</field>
                                                 <value name="A">
                                                   <shadow type="math_number" id="W.WcvG;|rSc%%(.T_W^c">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="hYf4Qb{Ih$jw*N;WscVV">
                                                     <field name="OP">ADD</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h">
                                                         <field name="NUM">50</field>
                                                       </shadow>
                                                       <block type="math_arithmetic" id="*1]Xu7P5!!NOH(N|hVz:">
                                                         <field name="OP">MINUS</field>
                                                         <value name="A">
                                                           <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$.">
                                                             <field name="NUM">50</field>
                                                           </shadow>
                                                           <block type="on_source" id="fT5WF[G1:geas5bB(dK_">
                                                             <field name="ATTR">state.val</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <shadow type="math_number" id="fm2M,2zo4VbkMa}j=/{E">
                                                             <field name="NUM">40</field>
                                                           </shadow>
                                                           <block type="variables_get" id="P_*d{TGR}~6)FGp?beAd">
                                                             <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_begin</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="get_value" id="Qo}VOqo;3/)bnhXo)WG?">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">0_userdata.0.zendure.SF2400ACplus.properties.outputHomePower</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number" id="GKj`)SUe,1zDzP~O_ZAs">
                                                     <field name="NUM">10</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="o{icAU.bf$`.qo0uY?nQ">
                                             <field name="NUM">10</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="comment" id="jfTMAZ*=]Yc9N:)Y_sD1">
                                         <field name="COMMENT">Setzen der Eingangsleistung gerundet auf 10W</field>
                                         <next>
                                           <block type="variables_set" id="=I!*y|ga6BOdj=O!X0BN">
                                             <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                             <value name="VALUE">
                                               <block type="math_arithmetic" id="|CDI19aH]0wqD@rhgZk%">
                                                 <field name="OP">MULTIPLY</field>
                                                 <value name="A">
                                                   <shadow type="math_number" id="T~+opyPvwKX*Zt1YR;As">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="math_round" id="Ds#SgQMlU@LRBB?1[uU:">
                                                     <field name="OP">ROUND</field>
                                                     <value name="NUM">
                                                       <shadow type="math_number" id="g;oroW(D?cU31.`9~.1}">
                                                         <field name="NUM">3.1</field>
                                                       </shadow>
                                                       <block type="math_arithmetic" id="Xg=2?pCZa`_D@Ag3f+c)">
                                                         <field name="OP">DIVIDE</field>
                                                         <value name="A">
                                                           <shadow type="math_number" id="W.WcvG;|rSc%%(.T_W^c">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="math_arithmetic" id="~LBc9fG5Z6lJd12/)jT4">
                                                             <field name="OP">MINUS</field>
                                                             <value name="A">
                                                               <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h">
                                                                 <field name="NUM">50</field>
                                                               </shadow>
                                                               <block type="math_arithmetic" id="7*xCVML~1.vqU9HsbESx">
                                                                 <field name="OP">MINUS</field>
                                                                 <value name="A">
                                                                   <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$.">
                                                                     <field name="NUM">50</field>
                                                                   </shadow>
                                                                   <block type="on_source" id="4-h:R`sm6~t8DD=?|~bF">
                                                                     <field name="ATTR">state.val</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <shadow type="math_number" id="$D6ZCKCT8FTu_$opwTau">
                                                                     <field name="NUM">80</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="l1AP,7Z]*amiz~W%-%1U">
                                                                     <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_begin</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr">
                                                                 <field name="NUM">1</field>
                                                               </shadow>
                                                               <block type="get_value" id="^#eZ+R?)2{J(aB:7ue?R">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">0_userdata.0.zendure.SF2400ACplus.properties.gridInputPower</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <shadow type="math_number" id="+|]eEGPOjRvjdi)O;j]y">
                                                             <field name="NUM">10</field>
                                                           </shadow>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number" id="2._8#L!KFobGGgkB!Y$A">
                                                     <field name="NUM">10</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_if" id="9{oE^c13a:31;2ut.DI$">
                                                 <mutation elseif="1" else="1"></mutation>
                                                 <value name="IF0">
                                                   <block type="logic_multi_and" id="K5vL6-k@2[o9(|E4`OqX">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                     <value name="AND0">
                                                       <block type="logic_compare" id="8T*pvHzokS3$DFxF[cJw">
                                                         <field name="OP">GT</field>
                                                         <value name="A">
                                                           <block type="variables_get" id="~PO!:gZkJmZA*2|eHeLF">
                                                             <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="math_number" id="[w:QpHOP~OO[[A!*WhCR">
                                                             <field name="NUM">0</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="AND1">
                                                       <block type="logic_compare" id="sxUAjFcy(N6Q59Byrc{5">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id=")?$qjl;c)((g)x%;f*1[">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="W=F.#*.dh40F`d:.:9vl">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="comment" id="U9B/k%5s]K%^b3s)xv(L">
                                                     <field name="COMMENT">1. Entladen</field>
                                                     <next>
                                                       <block type="controls_if" id="B:~%LC[49c%qUwqiFyn3">
                                                         <value name="IF0">
                                                           <block type="logic_compare" id="kKJQjQ5XgbxE0lQ_s|)l">
                                                             <field name="OP">GT</field>
                                                             <value name="A">
                                                               <block type="variables_get" id="G0e{06Hc]}TIX=S*];CK">
                                                                 <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="variables_get" id="xu)L*d2Wlj7Tdp_x(?cE">
                                                                 <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="variables_set" id="[)g-c]$Cv{gB|ilO-vQ;">
                                                             <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                             <value name="VALUE">
                                                               <block type="variables_get" id=":wgQ{EmOcWnjF?+Li*l]">
                                                                 <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <next>
                                                           <block type="control" id=";Db^:4O1EN|E83*|k[36">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="variables_get" id="cj|vI+5rE;a$Z}XkQz`B">
                                                                 <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                                 <value name="IF1">
                                                   <block type="logic_multi_and" id="RpscAq3vo.ceGvt}lzM;">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                                                     <value name="AND0">
                                                       <block type="time_compare_ex" id="4Mh;.M3%8}QAkhPEtcv$">
                                                         <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="2Km3*[bQnyaNB:XI6]9%">
                                                             <field name="TEXT">08:00</field>
                                                           </shadow>
                                                         </value>
                                                         <value name="END_TIME">
                                                           <shadow type="text" id="KO`i!C([`f|6juoQ~d-d">
                                                             <field name="TEXT">21:00</field>
                                                           </shadow>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="AND1">
                                                       <block type="logic_compare" id="=;k+]!:`FgPIl(ffM)0z">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="o55n7*4D=LYnb:P_11Mb">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="TR/7]h/Wr4=[w}2,:/d|">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="AND2">
                                                       <block type="logic_compare" id="BdTZijA^#anVn3j{PwI*">
                                                         <field name="OP">LT</field>
                                                         <value name="A">
                                                           <block type="variables_get" id="TtqY39_BvS=6H}t)mLEe">
                                                             <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="math_number" id="wjR@%Hg`by9T-|5Qupoe">
                                                             <field name="NUM">0</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO1">
                                                   <block type="comment" id="zC5_szd6=wy}Q*]%d_Rb">
                                                     <field name="COMMENT">Laden</field>
                                                     <next>
                                                       <block type="controls_if" id="pW$^ccLu1b}%C$y8h#iQ">
                                                         <value name="IF0">
                                                           <block type="logic_compare" id="?y|QF}?u)ssQqx^b-mF1">
                                                             <field name="OP">LT</field>
                                                             <value name="A">
                                                               <block type="variables_get" id="I=IU!qT3iBK7EY~n[$Sj">
                                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="variables_get" id="G@NF62dM(QOk8r3y4(XE">
                                                                 <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="variables_set" id="u@~xzq/wsLZ[`Ui~asm?">
                                                             <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                             <value name="VALUE">
                                                               <block type="variables_get" id="Q{5~Zs$rGZLl_M}vfjA0">
                                                                 <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <next>
                                                           <block type="control" id=";512Sny^l9[8H~)*$JIi">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="variables_get" id="_p]0p.2.)e;=_p)|+$|v">
                                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                                 <statement name="ELSE">
                                                   <block type="comment" id="T1mOiNRi*1jPnM#~?:mM">
                                                     <field name="COMMENT">4.  Ein/Ausgangsleistung auf 0 setzen</field>
                                                     <next>
                                                       <block type="control" id="Qhy=K`*Kim%|cM0RX[fs">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                         <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                         <field name="WITH_DELAY">FALSE</field>
                                                         <value name="VALUE">
                                                           <block type="math_number" id="_E5[`;YcRI]zD#G$VW2C">
                                                             <field name="NUM">0</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                                 <next>
                                                   <block type="comment" id="*!ut{wn)jWUE5I$r}%,8">
                                                     <field name="COMMENT">Nachladen erst ab 95%</field>
                                                     <next>
                                                       <block type="controls_if" id="rgq4u/kHcr:PfHb_DBA:">
                                                         <mutation elseif="1"></mutation>
                                                         <value name="IF0">
                                                           <block type="logic_compare" id="ZB8B=/iNM1_y$zz;NUTs">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="5IP8.FO(t!H?3dC(}QV;">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="math_number" id="8RkLiOoN`{M92y!.dUGb">
                                                                 <field name="NUM">100</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="update" id="mVuLG3Ds7%,MbrHy5UOb">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="logic_boolean" id="PoVJSVCu-x/P:.6osIO#">
                                                                 <field name="BOOL">FALSE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <value name="IF1">
                                                           <block type="logic_compare" id="8QX+DTlWn)^zgK_ZG,F!">
                                                             <field name="OP">GT</field>
                                                             <value name="A">
                                                               <block type="get_value" id="?p9@Lnln2Hg)S39BcqM9">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="math_number" id="^wP6)i)NRE|eA0g0Y~ve">
                                                                 <field name="NUM">95</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO1">
                                                           <block type="update" id="2%~gHm:@+OHGiV8mf$CI">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="logic_boolean" id="t-?IPhL9,4cnWLje#`C5">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <next>
                                                           <block type="comment" id="]oDC2Cd9J`v{Y[I+tG;o">
                                                             <field name="COMMENT">Entladen erst wieder ab 20%</field>
                                                             <next>
                                                               <block type="controls_if" id="_Fd4hlB3UPh_oTC{]6dV">
                                                                 <mutation elseif="1"></mutation>
                                                                 <value name="IF0">
                                                                   <block type="logic_compare" id="sA~y{~84I)V|J|7xWe(%">
                                                                     <field name="OP">LTE</field>
                                                                     <value name="A">
                                                                       <block type="get_value" id="6[ucT_hz[NTZgoy-SIdR">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="math_number" id=")o5Y(o]iP%B!hOn;p`K6">
                                                                         <field name="NUM">10</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="DO0">
                                                                   <block type="update" id="0b?O!3MR{aU.JuE:?FpD">
                                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                     <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                                     <field name="WITH_DELAY">FALSE</field>
                                                                     <value name="VALUE">
                                                                       <block type="logic_boolean" id="@}S3a?-mx{zdDBfYX#P*">
                                                                         <field name="BOOL">FALSE</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </statement>
                                                                 <value name="IF1">
                                                                   <block type="logic_compare" id="MTmDqOiFGjuGqhi]eH*}">
                                                                     <field name="OP">GTE</field>
                                                                     <value name="A">
                                                                       <block type="get_value" id="O%`;}8-bee3|f3(.g*FA">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="math_number" id="%Sa-Ne`]Q=59iD+^jjPj">
                                                                         <field name="NUM">20</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="DO1">
                                                                   <block type="update" id="PXUYyV6*ojZ$w{pi$m/k">
                                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                     <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                                     <field name="WITH_DELAY">FALSE</field>
                                                                     <value name="VALUE">
                                                                       <block type="logic_boolean" id="Gf*.C1.8xOYjW:C4,1z3">
                                                                         <field name="BOOL">TRUE</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </statement>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      


      Mein Hauszähler wird alle 10 Sekunden per IR-Lesekopf abgefragt, somit werden die Werte dann in diesem Rhythmus erneuert.
      Das Laden soll bei 100% beendet werden und frühstens wieder bei 95% starten. Ebenso das Entladen, Stopp bei 10% und frühster Start wieder bei 20%.

      Das Laden hat schonmal geklappt, ich werde das weiter beobachten.
      Falls ich da noch Denkfehler drin habe, würde ich mich über Aufklärung freuen.

      Nochmals danke für diesen tollen Adapter Ersatz!
      Leider gibt es noch nicht viele Vorlagen, die darauf aufbauen.

      EDIT: Beim Nachladen ab 95% muss es natürlch < 95 heißen.

      maxclaudiM Offline
      maxclaudiM Offline
      maxclaudi
      schrieb am zuletzt editiert von maxclaudi
      #368

      @Jockel_Bln sagte:
      @All Eventuell kann da mal jemand drüber gucken, ob ich da sehr grobe Schnitzer drin habe...
      EDIT: Beim Nachladen ab 95% muss es natürlch < 95 heißen.

      Hi @Jockel_Bln,

      das mit „< 96“ hast Du ja selbst schon korrigiert.
      Deine einfache Steuerung sollte so als Grundgerüst für den Anfang funktionieren.

      Ein paar Vorschläge:

      Abfrage vor dem Senden:
      Prüfe vor jedem erneuten Setzen des output oder input Limits, ob der neue Wert überhaupt vom aktuellen Datenpunktwert abweicht.

      Variablen statt Festwerte:
      feste Zahlen (10, 20, 100, 95) können durch dynamische Datenpunkte wie setSoc (z. B. 90% oder 100%), minSoc oder Vergleiche wie minSoc + 5 ersetzt werden.

      Messwerte nutzen: Du kannst statt der vom BMS geschätzten SoC-Werte auch echte, verlässliche Messwerte wie MinVol und MaxVol für Vergleiche heranziehen.

      Mehrere Batterien einplanen:
      Bei Freigabe_Laden: falsch, wenn socLevel... kannst Du direkt alle Batterien berücksichtigen oder das Skript zukunftssicher umbauen.
      Dafür kann man den übergreifenden Datenpunkt properties.electricLevel nutzen.

      Ladegrenzen beachten:
      Sobald das eingestellte socSet erreicht ist, stoppt das Laden ohnehin automatisch.
      Man kann zusätzlich den Datenpunkt: properties.socLimit (0: normal, 1: Charge limit reached, 2: Discharge limit reached) nutzen, um den Status direkt abzufragen.

      Mindestdauer & Hysterese:
      Man könnte eine Mindestdauer für geänderte Limits einsetzen, um schnelles Hin- und Herschalten zu vermeiden.
      Dein Trigger ist zwar alle 10 sec, aber ein setzen von einem neuen Limit bis es ordentlich und ruhig anfängt zu wirken, benötigt allein schon diese Zeit.
      Eine kleine Hysterese hilft ebenfalls:
      outputLimit erst ändern, wenn der neue Wert um mindestens X Watt (z. B. deine 10W oder 20W) vom aktuellen Wert abweicht.

      Ist-Werte in Skripten vergleichen:
      bitte nicht nur die reinen Sollwerte (z. B. Falls inputLimit === 100) vergleichen.
      Es ist idealer wenn stattdessen die tatsächlich wichtigeren Ist-Werte mit eingebunden werden
      (z. B. Falls inputLimit === 100 && properties.gridInputPower === 100).
      Noch schöner ist es, wenn Du prüfst, ob das inputLimit bei 100 liegt und die gridInputPower innerhalb eines Toleranzbereichs von +/- X Watt oder X % des Limits liegt.

      Da sind zwar noch ein paar kleine Ungereimtheiten drin, habe es nur grob überflogen, aber fürs erste hoffe ich, hilft dir das weiter.

      Viel Erfolg!

      Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

      1 Antwort Letzte Antwort
      0
      • D Daniel 8

        @maxclaudi sagte:

        @Daniel-8 sagte:
        Es gibt ja in der App eine Funktion wo man zumindest die Kalibrierungszeit einstellen kann.

        Bei Dir ist Api Version:2; dann verwendest Du vermutlich eine neuere App-Version ohne Firmware-Update.

        Ja die App ist aktuell ohne Firmwareupdate. Aber ich meine das es in der vorherigen Version der App auch schon drin war. Kann mich aber auch täuschen

        @Rico-Sander sagte:
        das wird die Funktion sein, die Anfang Juni vom Support in einer Mail angekündigt wurde.

        An alle:
        Wenn Firmware aktualisiert wurde auf API 3 und man die App für die Kalibrierung nutzt, dann wäre es interessant was für Werte in der App eingestellt wurden und was die Datenpunkte für Werte liefern:

        • properties.batCalTime
        • properties.socCompSwitch
        • properties.socStatus

        evtl. noch
        properties.pass beobachten.

        Ich bin ja noch auf Api 2 und nutze eine Manuelle Kalibrierung über Iobroker. Da wird spätestens nach 27 Tage über PV Strom auf 100% geladen.

        maxclaudiM Offline
        maxclaudiM Offline
        maxclaudi
        schrieb am zuletzt editiert von maxclaudi
        #369

        @Daniel-8 sagte:
        Ich bin ja noch auf Api 2 und nutze eine Manuelle Kalibrierung über Iobroker.

        Das machst Du auch gut so ;-)

        Mein Post war an alle mit Firmware-Update API 3 gedacht, um evtl. das Script zu verbessern.

        Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

        1 Antwort Letzte Antwort
        0
        • J Jockel_Bln

          @maxclaudi Vielen Dank für die Mühe die du dir hier machst 👍
          Ich besitze seit dem Wochenende einen SF2400AC+ und versuche gerade das Teil halbwegs sinnvoll zu steuern. Nachdem ich dein super dokumentiertes Skript gefunden habe, ist der solarflow Adapter gleich wieder in Rente gegangen.
          Ich habe von Skripten leider nur sehr weinig bis gar keine Ahnung und bin deshalb immer noch auf Vorlagen angewiesen.
          Da dein "Hauptskript" leider nicht öffentlich ist, habe ich mich mal bei @lesiflo bedient und versucht sein Script zum Laden/Entladen von Zendure Solarflow für mich an dei Skript anzupassen um erst einmal die grundlegenden Funktionen zu haben.

          @All Eventuell kann da mal jemand drüber gucken, ob ich da sehr grobe Schnitzer drin habe und eventuell meinen Speicher gleich wieder schrotte.
          c3f6ed6b-2a06-4cd6-9961-d7a77b592e1e-image.jpeg
          aa557486-29ea-4134-851d-d1796aab3f24-image.jpeg
          Hier nochmal der Blockly Export:

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="O}e3|VjTzH+.dHc-BE_:">output_begin</variable>
             <variable id="Pmn^Rfs2`%vXob$!J=UX">input_begin</variable>
             <variable id="C3%p`nQ`AJ8yklMQKidv">input_max</variable>
             <variable id="8]~yHC.tW6]*GfkCbq)^">output_max</variable>
             <variable id="u8CL)Wex?DocZ58y(/n*">output</variable>
             <variable id="s3oTgk^d]QTYtWfpyOk6">input</variable>
           </variables>
           <block type="comment" id="aB?G:5$JZsZVN]k[FMf$" x="2623" y="-1423">
             <field name="COMMENT">Setzen der Variablen </field>
             <next>
               <block type="variables_set" id="%T^F?(~}g~8Mo.96hbPc">
                 <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_begin</field>
                 <value name="VALUE">
                   <block type="math_number" id="Cd-LtKS?ZQR;3fE)1OfR">
                     <field name="NUM">10</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="Kd6%X$(E%a#8:/4N[o[d">
                     <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_begin</field>
                     <value name="VALUE">
                       <block type="math_number" id="6chO$JcvEJqo#aCjc+es">
                         <field name="NUM">-50</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="uB]{;BN[bdupMg$7^N%|">
                         <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                         <value name="VALUE">
                           <block type="math_number" id="[h?+?1Bkt{sL]3tL~hWI">
                             <field name="NUM">-2400</field>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="C7WP.yVY.~yLboTO)--M">
                             <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                             <value name="VALUE">
                               <block type="math_number" id="!o~v`/:*+;(]p]{H?WTA">
                                 <field name="NUM">800</field>
                               </block>
                             </value>
                             <next>
                               <block type="on_ext" id="/S(;`QABriIC^M+!}7T:">
                                 <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="w^]7^w1{B-!$n`7Iy491">
                                     <field name="oid">smartmeter.0.1-0:16_7_0__255.value</field>
                                   </shadow>
                                 </value>
                                 <statement name="STATEMENT">
                                   <block type="comment" id="cN$0iHH^ClAq2iXC%h2f">
                                     <field name="COMMENT">Setzen der Ausgangsleistung gerundet auf 10W</field>
                                     <next>
                                       <block type="variables_set" id="S2o8L=RQS++7ipXOjjW5">
                                         <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                         <value name="VALUE">
                                           <block type="math_arithmetic" id="?3ziYdvoAKuW!gQYp^H.">
                                             <field name="OP">MULTIPLY</field>
                                             <value name="A">
                                               <shadow type="math_number" id="T~+opyPvwKX*Zt1YR;As">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="math_round" id=":`a3!T.9(}B/lJ^.KS(/">
                                                 <field name="OP">ROUND</field>
                                                 <value name="NUM">
                                                   <shadow type="math_number" id="g;oroW(D?cU31.`9~.1}">
                                                     <field name="NUM">3.1</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="Au]!Mvid69-ThMTm]V96">
                                                     <field name="OP">DIVIDE</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="W.WcvG;|rSc%%(.T_W^c">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="math_arithmetic" id="hYf4Qb{Ih$jw*N;WscVV">
                                                         <field name="OP">ADD</field>
                                                         <value name="A">
                                                           <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h">
                                                             <field name="NUM">50</field>
                                                           </shadow>
                                                           <block type="math_arithmetic" id="*1]Xu7P5!!NOH(N|hVz:">
                                                             <field name="OP">MINUS</field>
                                                             <value name="A">
                                                               <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$.">
                                                                 <field name="NUM">50</field>
                                                               </shadow>
                                                               <block type="on_source" id="fT5WF[G1:geas5bB(dK_">
                                                                 <field name="ATTR">state.val</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <shadow type="math_number" id="fm2M,2zo4VbkMa}j=/{E">
                                                                 <field name="NUM">40</field>
                                                               </shadow>
                                                               <block type="variables_get" id="P_*d{TGR}~6)FGp?beAd">
                                                                 <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_begin</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="get_value" id="Qo}VOqo;3/)bnhXo)WG?">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.properties.outputHomePower</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="GKj`)SUe,1zDzP~O_ZAs">
                                                         <field name="NUM">10</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number" id="o{icAU.bf$`.qo0uY?nQ">
                                                 <field name="NUM">10</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="comment" id="jfTMAZ*=]Yc9N:)Y_sD1">
                                             <field name="COMMENT">Setzen der Eingangsleistung gerundet auf 10W</field>
                                             <next>
                                               <block type="variables_set" id="=I!*y|ga6BOdj=O!X0BN">
                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                 <value name="VALUE">
                                                   <block type="math_arithmetic" id="|CDI19aH]0wqD@rhgZk%">
                                                     <field name="OP">MULTIPLY</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="T~+opyPvwKX*Zt1YR;As">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="math_round" id="Ds#SgQMlU@LRBB?1[uU:">
                                                         <field name="OP">ROUND</field>
                                                         <value name="NUM">
                                                           <shadow type="math_number" id="g;oroW(D?cU31.`9~.1}">
                                                             <field name="NUM">3.1</field>
                                                           </shadow>
                                                           <block type="math_arithmetic" id="Xg=2?pCZa`_D@Ag3f+c)">
                                                             <field name="OP">DIVIDE</field>
                                                             <value name="A">
                                                               <shadow type="math_number" id="W.WcvG;|rSc%%(.T_W^c">
                                                                 <field name="NUM">1</field>
                                                               </shadow>
                                                               <block type="math_arithmetic" id="~LBc9fG5Z6lJd12/)jT4">
                                                                 <field name="OP">MINUS</field>
                                                                 <value name="A">
                                                                   <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h">
                                                                     <field name="NUM">50</field>
                                                                   </shadow>
                                                                   <block type="math_arithmetic" id="7*xCVML~1.vqU9HsbESx">
                                                                     <field name="OP">MINUS</field>
                                                                     <value name="A">
                                                                       <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$.">
                                                                         <field name="NUM">50</field>
                                                                       </shadow>
                                                                       <block type="on_source" id="4-h:R`sm6~t8DD=?|~bF">
                                                                         <field name="ATTR">state.val</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <shadow type="math_number" id="$D6ZCKCT8FTu_$opwTau">
                                                                         <field name="NUM">80</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="l1AP,7Z]*amiz~W%-%1U">
                                                                         <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_begin</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr">
                                                                     <field name="NUM">1</field>
                                                                   </shadow>
                                                                   <block type="get_value" id="^#eZ+R?)2{J(aB:7ue?R">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">0_userdata.0.zendure.SF2400ACplus.properties.gridInputPower</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <shadow type="math_number" id="+|]eEGPOjRvjdi)O;j]y">
                                                                 <field name="NUM">10</field>
                                                               </shadow>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="2._8#L!KFobGGgkB!Y$A">
                                                         <field name="NUM">10</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="controls_if" id="9{oE^c13a:31;2ut.DI$">
                                                     <mutation elseif="1" else="1"></mutation>
                                                     <value name="IF0">
                                                       <block type="logic_multi_and" id="K5vL6-k@2[o9(|E4`OqX">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                         <value name="AND0">
                                                           <block type="logic_compare" id="8T*pvHzokS3$DFxF[cJw">
                                                             <field name="OP">GT</field>
                                                             <value name="A">
                                                               <block type="variables_get" id="~PO!:gZkJmZA*2|eHeLF">
                                                                 <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="math_number" id="[w:QpHOP~OO[[A!*WhCR">
                                                                 <field name="NUM">0</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="AND1">
                                                           <block type="logic_compare" id="sxUAjFcy(N6Q59Byrc{5">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id=")?$qjl;c)((g)x%;f*1[">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id="W=F.#*.dh40F`d:.:9vl">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO0">
                                                       <block type="comment" id="U9B/k%5s]K%^b3s)xv(L">
                                                         <field name="COMMENT">1. Entladen</field>
                                                         <next>
                                                           <block type="controls_if" id="B:~%LC[49c%qUwqiFyn3">
                                                             <value name="IF0">
                                                               <block type="logic_compare" id="kKJQjQ5XgbxE0lQ_s|)l">
                                                                 <field name="OP">GT</field>
                                                                 <value name="A">
                                                                   <block type="variables_get" id="G0e{06Hc]}TIX=S*];CK">
                                                                     <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="variables_get" id="xu)L*d2Wlj7Tdp_x(?cE">
                                                                     <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO0">
                                                               <block type="variables_set" id="[)g-c]$Cv{gB|ilO-vQ;">
                                                                 <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id=":wgQ{EmOcWnjF?+Li*l]">
                                                                     <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <next>
                                                               <block type="control" id=";Db^:4O1EN|E83*|k[36">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id="cj|vI+5rE;a$Z}XkQz`B">
                                                                     <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                     <value name="IF1">
                                                       <block type="logic_multi_and" id="RpscAq3vo.ceGvt}lzM;">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                                                         <value name="AND0">
                                                           <block type="time_compare_ex" id="4Mh;.M3%8}QAkhPEtcv$">
                                                             <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="2Km3*[bQnyaNB:XI6]9%">
                                                                 <field name="TEXT">08:00</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="END_TIME">
                                                               <shadow type="text" id="KO`i!C([`f|6juoQ~d-d">
                                                                 <field name="TEXT">21:00</field>
                                                               </shadow>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="AND1">
                                                           <block type="logic_compare" id="=;k+]!:`FgPIl(ffM)0z">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="o55n7*4D=LYnb:P_11Mb">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id="TR/7]h/Wr4=[w}2,:/d|">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="AND2">
                                                           <block type="logic_compare" id="BdTZijA^#anVn3j{PwI*">
                                                             <field name="OP">LT</field>
                                                             <value name="A">
                                                               <block type="variables_get" id="TtqY39_BvS=6H}t)mLEe">
                                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="math_number" id="wjR@%Hg`by9T-|5Qupoe">
                                                                 <field name="NUM">0</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO1">
                                                       <block type="comment" id="zC5_szd6=wy}Q*]%d_Rb">
                                                         <field name="COMMENT">Laden</field>
                                                         <next>
                                                           <block type="controls_if" id="pW$^ccLu1b}%C$y8h#iQ">
                                                             <value name="IF0">
                                                               <block type="logic_compare" id="?y|QF}?u)ssQqx^b-mF1">
                                                                 <field name="OP">LT</field>
                                                                 <value name="A">
                                                                   <block type="variables_get" id="I=IU!qT3iBK7EY~n[$Sj">
                                                                     <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="variables_get" id="G@NF62dM(QOk8r3y4(XE">
                                                                     <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO0">
                                                               <block type="variables_set" id="u@~xzq/wsLZ[`Ui~asm?">
                                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id="Q{5~Zs$rGZLl_M}vfjA0">
                                                                     <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <next>
                                                               <block type="control" id=";512Sny^l9[8H~)*$JIi">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id="_p]0p.2.)e;=_p)|+$|v">
                                                                     <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                     <statement name="ELSE">
                                                       <block type="comment" id="T1mOiNRi*1jPnM#~?:mM">
                                                         <field name="COMMENT">4.  Ein/Ausgangsleistung auf 0 setzen</field>
                                                         <next>
                                                           <block type="control" id="Qhy=K`*Kim%|cM0RX[fs">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="math_number" id="_E5[`;YcRI]zD#G$VW2C">
                                                                 <field name="NUM">0</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                     <next>
                                                       <block type="comment" id="*!ut{wn)jWUE5I$r}%,8">
                                                         <field name="COMMENT">Nachladen erst ab 95%</field>
                                                         <next>
                                                           <block type="controls_if" id="rgq4u/kHcr:PfHb_DBA:">
                                                             <mutation elseif="1"></mutation>
                                                             <value name="IF0">
                                                               <block type="logic_compare" id="ZB8B=/iNM1_y$zz;NUTs">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="5IP8.FO(t!H?3dC(}QV;">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="math_number" id="8RkLiOoN`{M92y!.dUGb">
                                                                     <field name="NUM">100</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO0">
                                                               <block type="update" id="mVuLG3Ds7%,MbrHy5UOb">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="logic_boolean" id="PoVJSVCu-x/P:.6osIO#">
                                                                     <field name="BOOL">FALSE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <value name="IF1">
                                                               <block type="logic_compare" id="8QX+DTlWn)^zgK_ZG,F!">
                                                                 <field name="OP">GT</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="?p9@Lnln2Hg)S39BcqM9">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="math_number" id="^wP6)i)NRE|eA0g0Y~ve">
                                                                     <field name="NUM">95</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO1">
                                                               <block type="update" id="2%~gHm:@+OHGiV8mf$CI">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="logic_boolean" id="t-?IPhL9,4cnWLje#`C5">
                                                                     <field name="BOOL">TRUE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <next>
                                                               <block type="comment" id="]oDC2Cd9J`v{Y[I+tG;o">
                                                                 <field name="COMMENT">Entladen erst wieder ab 20%</field>
                                                                 <next>
                                                                   <block type="controls_if" id="_Fd4hlB3UPh_oTC{]6dV">
                                                                     <mutation elseif="1"></mutation>
                                                                     <value name="IF0">
                                                                       <block type="logic_compare" id="sA~y{~84I)V|J|7xWe(%">
                                                                         <field name="OP">LTE</field>
                                                                         <value name="A">
                                                                           <block type="get_value" id="6[ucT_hz[NTZgoy-SIdR">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="math_number" id=")o5Y(o]iP%B!hOn;p`K6">
                                                                             <field name="NUM">10</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="update" id="0b?O!3MR{aU.JuE:?FpD">
                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                         <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                                         <field name="WITH_DELAY">FALSE</field>
                                                                         <value name="VALUE">
                                                                           <block type="logic_boolean" id="@}S3a?-mx{zdDBfYX#P*">
                                                                             <field name="BOOL">FALSE</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </statement>
                                                                     <value name="IF1">
                                                                       <block type="logic_compare" id="MTmDqOiFGjuGqhi]eH*}">
                                                                         <field name="OP">GTE</field>
                                                                         <value name="A">
                                                                           <block type="get_value" id="O%`;}8-bee3|f3(.g*FA">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="math_number" id="%Sa-Ne`]Q=59iD+^jjPj">
                                                                             <field name="NUM">20</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO1">
                                                                       <block type="update" id="PXUYyV6*ojZ$w{pi$m/k">
                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                         <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                                         <field name="WITH_DELAY">FALSE</field>
                                                                         <value name="VALUE">
                                                                           <block type="logic_boolean" id="Gf*.C1.8xOYjW:C4,1z3">
                                                                             <field name="BOOL">TRUE</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          


          Mein Hauszähler wird alle 10 Sekunden per IR-Lesekopf abgefragt, somit werden die Werte dann in diesem Rhythmus erneuert.
          Das Laden soll bei 100% beendet werden und frühstens wieder bei 95% starten. Ebenso das Entladen, Stopp bei 10% und frühster Start wieder bei 20%.

          Das Laden hat schonmal geklappt, ich werde das weiter beobachten.
          Falls ich da noch Denkfehler drin habe, würde ich mich über Aufklärung freuen.

          Nochmals danke für diesen tollen Adapter Ersatz!
          Leider gibt es noch nicht viele Vorlagen, die darauf aufbauen.

          EDIT: Beim Nachladen ab 95% muss es natürlch < 95 heißen.

          maxclaudiM Offline
          maxclaudiM Offline
          maxclaudi
          schrieb am zuletzt editiert von
          #370

          @Jockel_Bln
          hätte 2 Fragen, weil Du den 2400AC+ verwendest.

          1. Welche Version verwendest Du?
            siehe Bild, Beispiel für version: 2

          8accf38b-bb1a-453e-a067-7991f12332e1-image.jpeg

          1. in früheren Firmware-Versionen unterscheiden sich die Geräte 24XX zu den anderen Solarflow 8xx
            in den Datenpunkten für den Lüfter:
            AC24XX hatten (haben noch?):
            properties.fanSwitch: 1
            properties.fanSpeed": 0

          Bei den anderen Geräten SF8XX und 1600AC werden die Keys anders benannt:

          properties.Fanmode: 1
          properties.Fanspeed: 0

          siehe Bild:

          21f9e17b-66c0-483f-b7bf-82a53d1c1caf-image.jpeg


          @Jockel_Bln und Alle die ein Zendure 24XX oder höher verwenden:

          Sind die Unterschiede noch vorhanden, oder wurden die keys bei den Geräten 24XX AC oder >2XXX nun angepasst und liefern auch:
          properties.Fanmode: 1
          properties.Fanspeed: 0
          ?

          Danke für jede Rückmeldung.

          Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

          J 1 Antwort Letzte Antwort
          0
          • maxclaudiM maxclaudi

            @Jockel_Bln
            hätte 2 Fragen, weil Du den 2400AC+ verwendest.

            1. Welche Version verwendest Du?
              siehe Bild, Beispiel für version: 2

            8accf38b-bb1a-453e-a067-7991f12332e1-image.jpeg

            1. in früheren Firmware-Versionen unterscheiden sich die Geräte 24XX zu den anderen Solarflow 8xx
              in den Datenpunkten für den Lüfter:
              AC24XX hatten (haben noch?):
              properties.fanSwitch: 1
              properties.fanSpeed": 0

            Bei den anderen Geräten SF8XX und 1600AC werden die Keys anders benannt:

            properties.Fanmode: 1
            properties.Fanspeed: 0

            siehe Bild:

            21f9e17b-66c0-483f-b7bf-82a53d1c1caf-image.jpeg


            @Jockel_Bln und Alle die ein Zendure 24XX oder höher verwenden:

            Sind die Unterschiede noch vorhanden, oder wurden die keys bei den Geräten 24XX AC oder >2XXX nun angepasst und liefern auch:
            properties.Fanmode: 1
            properties.Fanspeed: 0
            ?

            Danke für jede Rückmeldung.

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

            Hallo @maxclaudi

            @Jockel_Bln
            hätte 2 Fragen, weil Du den 2400AC+ verwendest.

            1. Welche Version verwendest Du?

            Da mich die App gleich nach der Installation zum Update genötigt hat, habe ich die Version 3 drauf.

            Sind die Unterschiede noch vorhanden, oder wurden die keys bei den Geräten 24XX AC oder >2XXX nun angepasst und liefern auch:
            properties.Fanmode: 1
            properties.Fanspeed: 0

            Ich bekomme auch
            properties.Fanmode: 1
            properties.Fanspeed: 0

            46f6e112-0d4a-46aa-8f58-bf89910c0009-image.jpeg

            maxclaudiM 2 Antworten Letzte Antwort
            1
            • J Jockel_Bln

              Hallo @maxclaudi

              @Jockel_Bln
              hätte 2 Fragen, weil Du den 2400AC+ verwendest.

              1. Welche Version verwendest Du?

              Da mich die App gleich nach der Installation zum Update genötigt hat, habe ich die Version 3 drauf.

              Sind die Unterschiede noch vorhanden, oder wurden die keys bei den Geräten 24XX AC oder >2XXX nun angepasst und liefern auch:
              properties.Fanmode: 1
              properties.Fanspeed: 0

              Ich bekomme auch
              properties.Fanmode: 1
              properties.Fanspeed: 0

              46f6e112-0d4a-46aa-8f58-bf89910c0009-image.jpeg

              maxclaudiM Offline
              maxclaudiM Offline
              maxclaudi
              schrieb am zuletzt editiert von
              #372

              @Jockel_Bln
              Danke für die schnelle Rückmeldung.

              Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

              1 Antwort Letzte Antwort
              0
              • maxclaudiM maxclaudi

                @paul53 sagte:

                @maxclaudi
                Kannst du etwas zu dieser Beobachtung sagen, da du schon länger Erfahrung mit den Zendure Solarflow gemacht hast?

                Bis zum "socSet" (85 %) wird mit 800 W aus dem Netz geladen. Danach erhöht sich "electricLevel" alle 2 Stunden um 1 %, was zu der Angabe von "Battery pack power" = 9 W passt.
                Werte unter "properties" sind dann allerdings gelogen:

                • "gridInputPower" = "gridOffPower" um 17 W (Mini-PC: 6 W + Router)
                • "outputPackPower": 0 W

                Gibt es eine Minimalleistungsaufnahme am Notstrom-Ausgang, damit nicht über den "socSet" hinaus geladen wird?
                Als ich zu Beginn mal eine 75 W Glühlampe angeschlossen hatte, blieb der SOC auf 85 % konstant.

                gut beobachtet.
                Das lässt sich elektrotechnisch und physikalisch gut erklären.
                Die Werte sind nicht direkt „gelogen“, sondern unterliegen den typischen Grenzen der Sensoren bei Kleinstleistungen.

                Hier spielen mehrere Effekte zusammen, z. B.:
                Sensor-Toleranz im Mikrobereich:
                Die internen Stromsensoren (Shunts) des Geräts sind für hohe Ströme (z. B. beim Laden mit 800 W) optimiert.
                Wenn das Gerät bei Erreichen des socSet (85 %) das Hauptladen beendet, schaltet es in den Standby-/Erhaltungsmodus.
                Die dabei fließenden Ströme sind so minimal, dass die Software auf 0 W abgerundet wird, obwohl im Hintergrund minimale Erhaltungsimpulse fließen.

                Eigenverbrauch vs. Last am Notstrom-Ausgang:
                Dein Mini-PC und der Router ziehen zusammen ca. 17 W.
                Das ist extrem wenig.
                Wenn das Gerät im Standby läuft, reicht diese geringe Last am Notstrom Ausgang (gridOffPower) bestimmt nicht aus, um die minimale Erhaltungsenergie, die das System intern regelt, vollständig zu verbrauchen,
                Ein Teil sickert weiterhin in die Zellen, weshalb der SOC alle 2 Stunden um 1 % nach oben kriecht.

                Bei 75 W Last war der Verbrauch am Ausgang hoch genug, um die gesamte bereitgestellte Erhaltungsenergie sofort abzunehmen.
                Der Akku musste nichts mehr aufnehmen und blieb stabil auf den konfigurierten 85 % stehen.

                Das ist m. M. n. kein Zendure-eigenes Problem sondern allgemein elektrotechnisch kaum anders möglich.
                Abhängig von der Güte der Sensoren, BMS, den jeweiligen Messbereichen usw.
                Vermutlich gibt es keine feste „Mindestleistungsaufnahme“, sondern es ist ein reines Balance-Spiel zwischen der minimalen Erhaltungsleistung des BMS und der angeschlossenen Grundlast im Standby.
                Wie das genau von Zendure gelöst ist kann ich nicht beurteilen.
                Die beobachteten Werte und Wertfindung sind dabei elektrotechnisch jedoch völlig plausibel.

                EDIT: Übrigens habe ich noch folgende Werte unter "properties", die nicht der Beschreibung entsprechen:

                • "pass": 3
                • "socLimit": 17

                Das ist für mich neu.
                Bei mir stimmen die Werte und die Beschreibung (noch).

                Hast Du die Firmware aktualisiert?
                Wenn ja, hat Zendure im Hintergrund vermutlich etwas an den API-Objekten geändert oder es ist ein neuer Bug.
                Das ist für mich im Moment auch ein Novum, über das ich aktuell noch keine näheren Informationen habe.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #373

                @maxclaudi [sagte]: Die Werte sind nicht direkt „gelogen“

                Stimmt. Ich messe jetzt mittels einer FRITZ!DECT 200 die Netzleistung des SF. Sie stimmt nahezu mit der "gridOffPower" überein (ca. 17 W), wenn "acMode" = 1 (Netzladen) und der SoC >= "socSet" ist.
                Trotzdem steigt oberhalb von "socSet" der SoC um 1 % alle 2 Stunden, was einer Ladeleistung von 9 W entspricht, die auch im DP "Battery pack power" angezeigt wird. Woher kommt diese zusätzliche Leistung? Gibt es eine Zusatzbatterie?

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                maxclaudiM 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @maxclaudi [sagte]: Die Werte sind nicht direkt „gelogen“

                  Stimmt. Ich messe jetzt mittels einer FRITZ!DECT 200 die Netzleistung des SF. Sie stimmt nahezu mit der "gridOffPower" überein (ca. 17 W), wenn "acMode" = 1 (Netzladen) und der SoC >= "socSet" ist.
                  Trotzdem steigt oberhalb von "socSet" der SoC um 1 % alle 2 Stunden, was einer Ladeleistung von 9 W entspricht, die auch im DP "Battery pack power" angezeigt wird. Woher kommt diese zusätzliche Leistung? Gibt es eine Zusatzbatterie?

                  maxclaudiM Offline
                  maxclaudiM Offline
                  maxclaudi
                  schrieb am zuletzt editiert von
                  #374

                  @paul53

                  Sorry, dazu kann ich mich nur wiederholen

                  maxclaudi sagte:
                  Wie das genau von Zendure gelöst ist kann ich nicht beurteilen.

                  Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                  1 Antwort Letzte Antwort
                  0
                  • J Jockel_Bln

                    Hallo @maxclaudi

                    @Jockel_Bln
                    hätte 2 Fragen, weil Du den 2400AC+ verwendest.

                    1. Welche Version verwendest Du?

                    Da mich die App gleich nach der Installation zum Update genötigt hat, habe ich die Version 3 drauf.

                    Sind die Unterschiede noch vorhanden, oder wurden die keys bei den Geräten 24XX AC oder >2XXX nun angepasst und liefern auch:
                    properties.Fanmode: 1
                    properties.Fanspeed: 0

                    Ich bekomme auch
                    properties.Fanmode: 1
                    properties.Fanspeed: 0

                    46f6e112-0d4a-46aa-8f58-bf89910c0009-image.jpeg

                    maxclaudiM Offline
                    maxclaudiM Offline
                    maxclaudi
                    schrieb am zuletzt editiert von maxclaudi
                    #375

                    Lüfter-Steuerung integriert; zum Script:
                    update 25.06.26 10.30h control FAN

                    Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                    J 1 Antwort Letzte Antwort
                    1
                    • maxclaudiM maxclaudi

                      Lüfter-Steuerung integriert; zum Script:
                      update 25.06.26 10.30h control FAN

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

                      @maxclaudi sagte:

                      das mit „< 96“ hast Du ja selbst schon korrigiert.

                      Ja, hat ein bischen gedauert, bis mir das aufgefallen ist 😉

                      @maxclaudi sagte:

                      Ein paar Vorschläge:

                      Abfrage vor dem Senden:...

                      Gute Idee, das habe ich jetzt so gelöst:
                      8e27f500-e8cd-487d-b37a-63165e7ee2e2-image.jpeg

                      @maxclaudi sagte:

                      Mehrere Batterien einplanen:
                      Dafür ... properties.electricLevel nutzen.

                      Erledigt. Am Dienstag kam noch meine zusätzliche Batterie, da bin ich dann auch drauf gekommen, dass die erste Lösung nicht mehr greift.

                      @maxclaudi sagte:

                      Mindestdauer & Hysterese:
                      Man könnte eine Mindestdauer für geänderte Limits einsetzen, um schnelles Hin- und Herschalten zu vermeiden.
                      Dein Trigger ist zwar alle 10 sec, aber ein setzen von einem neuen Limit bis es ordentlich und ruhig anfängt zu wirken, benötigt allein schon diese Zeit.
                      Eine kleine Hysterese hilft ebenfalls:
                      outputLimit erst ändern, wenn der neue Wert um mindestens X Watt (z. B. deine 10W oder 20W) vom aktuellen Wert abweicht.

                      Das mit der Mindestdauer bekomme ich momentan noch nicht gebacken. Bin ja schon Rentner und muss mir alles langsam erarbeiten, da ich mich nie mit Skripten befasst habe.
                      Was eine Hysterese betrifft, muss ich mal sehen, ob mir da was schlaues einfällt, die Werte am Zähler springen ja reichlich hin und her.
                      Ich teste jetzt gerade etwas Anderes. Ich lasse den Zähler im Sekundentakt senden und bilde dann einen gleitenden Mittelwert über 20 Sekunden.
                      Mit diesem Mittelwert lasse ich dann das Skript arbeiten. Mal gucken, wie sich das verhält.
                      25a7c55f-417a-4bd7-9720-be351d481393-image.jpeg

                      Mehr habe ich bis jetzt noch nicht, aber es läuft schon ganz gut.

                      Vielen Dan für die Unterstützung!

                      PS: einen Lüfteranschluss hat der AC+ scheinbar nicht 😠

                      maxclaudiM 1 Antwort Letzte Antwort
                      0
                      • J Jockel_Bln

                        @maxclaudi sagte:

                        das mit „< 96“ hast Du ja selbst schon korrigiert.

                        Ja, hat ein bischen gedauert, bis mir das aufgefallen ist 😉

                        @maxclaudi sagte:

                        Ein paar Vorschläge:

                        Abfrage vor dem Senden:...

                        Gute Idee, das habe ich jetzt so gelöst:
                        8e27f500-e8cd-487d-b37a-63165e7ee2e2-image.jpeg

                        @maxclaudi sagte:

                        Mehrere Batterien einplanen:
                        Dafür ... properties.electricLevel nutzen.

                        Erledigt. Am Dienstag kam noch meine zusätzliche Batterie, da bin ich dann auch drauf gekommen, dass die erste Lösung nicht mehr greift.

                        @maxclaudi sagte:

                        Mindestdauer & Hysterese:
                        Man könnte eine Mindestdauer für geänderte Limits einsetzen, um schnelles Hin- und Herschalten zu vermeiden.
                        Dein Trigger ist zwar alle 10 sec, aber ein setzen von einem neuen Limit bis es ordentlich und ruhig anfängt zu wirken, benötigt allein schon diese Zeit.
                        Eine kleine Hysterese hilft ebenfalls:
                        outputLimit erst ändern, wenn der neue Wert um mindestens X Watt (z. B. deine 10W oder 20W) vom aktuellen Wert abweicht.

                        Das mit der Mindestdauer bekomme ich momentan noch nicht gebacken. Bin ja schon Rentner und muss mir alles langsam erarbeiten, da ich mich nie mit Skripten befasst habe.
                        Was eine Hysterese betrifft, muss ich mal sehen, ob mir da was schlaues einfällt, die Werte am Zähler springen ja reichlich hin und her.
                        Ich teste jetzt gerade etwas Anderes. Ich lasse den Zähler im Sekundentakt senden und bilde dann einen gleitenden Mittelwert über 20 Sekunden.
                        Mit diesem Mittelwert lasse ich dann das Skript arbeiten. Mal gucken, wie sich das verhält.
                        25a7c55f-417a-4bd7-9720-be351d481393-image.jpeg

                        Mehr habe ich bis jetzt noch nicht, aber es läuft schon ganz gut.

                        Vielen Dan für die Unterstützung!

                        PS: einen Lüfteranschluss hat der AC+ scheinbar nicht 😠

                        maxclaudiM Offline
                        maxclaudiM Offline
                        maxclaudi
                        schrieb am zuletzt editiert von
                        #377

                        @Jockel_Bln sagte:
                        Gute Idee, das habe ich jetzt so gelöst:
                        8e27f500-e8cd-487d-b37a-63165e7ee2e2-image.jpeg

                        Guten Morgen,

                        bitte keine Auswertungen/Vergleiche auf die set Datenpunkte von control:
                        0_userdata.0.zendure.xxxxxxxxxx.control

                        Die control Datenpunkte werden zwar synchronisiert, sind jedoch zum reinen setzen von soll-Werten und senden vorgesehen.

                        Zum Auswerten, Vergleichen bitte die read-only Datenpunkte verwenden:

                        0_userdata.0.zendure.xxxxxxxxxx.properties
                        0_userdata.0.zendure.xxxxxxxxxx.packData

                        In Deinem Beispiel:
                        falls output !== Wert von Objekt ID "properties.outputLimit"
                        mache steuere Set/in-Out_Limit-Automatic mit output

                        PS: einen Lüfteranschluss hat der AC+ scheinbar nicht 😠

                        Ja, nicht alle Geräte haben einen dedizierten Lüfter-Anschluss. Die SF800 pro 2 Serie, 2400AC und einige andere haben einen Anschluss. Das Script soll alle Geräte unterstützen.

                        Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                        T J 2 Antworten Letzte Antwort
                        0
                        • maxclaudiM maxclaudi

                          @Jockel_Bln sagte:
                          Gute Idee, das habe ich jetzt so gelöst:
                          8e27f500-e8cd-487d-b37a-63165e7ee2e2-image.jpeg

                          Guten Morgen,

                          bitte keine Auswertungen/Vergleiche auf die set Datenpunkte von control:
                          0_userdata.0.zendure.xxxxxxxxxx.control

                          Die control Datenpunkte werden zwar synchronisiert, sind jedoch zum reinen setzen von soll-Werten und senden vorgesehen.

                          Zum Auswerten, Vergleichen bitte die read-only Datenpunkte verwenden:

                          0_userdata.0.zendure.xxxxxxxxxx.properties
                          0_userdata.0.zendure.xxxxxxxxxx.packData

                          In Deinem Beispiel:
                          falls output !== Wert von Objekt ID "properties.outputLimit"
                          mache steuere Set/in-Out_Limit-Automatic mit output

                          PS: einen Lüfteranschluss hat der AC+ scheinbar nicht 😠

                          Ja, nicht alle Geräte haben einen dedizierten Lüfter-Anschluss. Die SF800 pro 2 Serie, 2400AC und einige andere haben einen Anschluss. Das Script soll alle Geräte unterstützen.

                          T Offline
                          T Offline
                          T-147
                          schrieb zuletzt editiert von
                          #378

                          @jockel_bln

                          Sorry, hab grad keine Möglichkeit, dass grafisch zu beschreiben:

                          Statt "Output =/= Wert"
                          könnte man doch sagen "Output < OutputLimit - 20 oder Output > OutputLimit + 20"
                          Dann hätte man doch eine Hysterese von 20W, oder nicht?

                          Und nach erfolgter Anpassung müsste doch ein eingeschobener Timeout reichen, der dann als Blockzeit für zu schnelle Änderungen fungiert.

                          Mein SF800Pro2 ist zwar lezte Woche gekommen, aber ich hab (leider leider) noch keine Zeit gehabt, den in Betrieb zu nehmen, damit ich in die Script-Bastelei einsteigen kann 😊

                          Gruß

                          1 Antwort Letzte Antwort
                          0
                          • maxclaudiM maxclaudi

                            @Jockel_Bln sagte:
                            Gute Idee, das habe ich jetzt so gelöst:
                            8e27f500-e8cd-487d-b37a-63165e7ee2e2-image.jpeg

                            Guten Morgen,

                            bitte keine Auswertungen/Vergleiche auf die set Datenpunkte von control:
                            0_userdata.0.zendure.xxxxxxxxxx.control

                            Die control Datenpunkte werden zwar synchronisiert, sind jedoch zum reinen setzen von soll-Werten und senden vorgesehen.

                            Zum Auswerten, Vergleichen bitte die read-only Datenpunkte verwenden:

                            0_userdata.0.zendure.xxxxxxxxxx.properties
                            0_userdata.0.zendure.xxxxxxxxxx.packData

                            In Deinem Beispiel:
                            falls output !== Wert von Objekt ID "properties.outputLimit"
                            mache steuere Set/in-Out_Limit-Automatic mit output

                            PS: einen Lüfteranschluss hat der AC+ scheinbar nicht 😠

                            Ja, nicht alle Geräte haben einen dedizierten Lüfter-Anschluss. Die SF800 pro 2 Serie, 2400AC und einige andere haben einen Anschluss. Das Script soll alle Geräte unterstützen.

                            J Offline
                            J Offline
                            Jockel_Bln
                            schrieb zuletzt editiert von
                            #379

                            @maxclaudi sagte:

                            Zum Auswerten, Vergleichen bitte die read-only Datenpunkte verwenden:

                            0_userdata.0.zendure.xxxxxxxxxx.properties
                            0_userdata.0.zendure.xxxxxxxxxx.packData

                            Danke! Ja du hast Recht, da wird dann verglichen, ob der Wert auch wirklich "angenommen" wurde. Hätte ich auch selbst drauf kommen können.

                            @maxclaudi sagte:

                            Ja, nicht alle Geräte haben einen dedizierten Lüfter-Anschluss.
                            ...
                            Das Script soll alle Geräte unterstützen.

                            Schon klar. Ich wollte auch nur zum Ausdruck bringen, dass ich das Nichtvorhandensein beim AC+ schade finde.

                            @T-147 sagte:

                            Statt "Output =/= Wert"
                            könnte man doch sagen "Output < OutputLimit - 20 oder Output > OutputLimit + 20"

                            Das müsste gehen. andersrum bin ich ganz froh, dass das System beim Zurückspeisen dann um den Nullpunkt herum recht genau regelt. Somit geht nachts fast nichts ins Netz.
                            Ich muss mir das nochmal durch den Kopf gehen lassen.

                            @T-147 sagte:

                            Und nach erfolgter Anpassung müsste doch ein eingeschobener Timeout reichen,...

                            Da sprichst du einen blinden Punkt bei mir an. Wie man mit diesen Timeouts genau umgeht, habe ich bis heute nicht richtig kapiert. Wie gesagt ich bin ein älterer technischer Laie und versuche das alles im Selbststudium zu lernen 😉
                            Mich würde mal interessieren in welchen Abständen das integrierte HEMS regeln würde und ob ich da mit meinen 20 Sekunden Intervall sehr weit entfernt bin. Ich kann das aber mangels passendem Smartmeter nicht selbst testen.

                            @maxclaudi Ist das für dich in Ordnung, wenn wir hier weiter über das Skript reden, oder doch lieber in einem separaten Thema.

                            maxclaudiM 1 Antwort Letzte Antwort
                            0
                            • J Jockel_Bln

                              @maxclaudi sagte:

                              Zum Auswerten, Vergleichen bitte die read-only Datenpunkte verwenden:

                              0_userdata.0.zendure.xxxxxxxxxx.properties
                              0_userdata.0.zendure.xxxxxxxxxx.packData

                              Danke! Ja du hast Recht, da wird dann verglichen, ob der Wert auch wirklich "angenommen" wurde. Hätte ich auch selbst drauf kommen können.

                              @maxclaudi sagte:

                              Ja, nicht alle Geräte haben einen dedizierten Lüfter-Anschluss.
                              ...
                              Das Script soll alle Geräte unterstützen.

                              Schon klar. Ich wollte auch nur zum Ausdruck bringen, dass ich das Nichtvorhandensein beim AC+ schade finde.

                              @T-147 sagte:

                              Statt "Output =/= Wert"
                              könnte man doch sagen "Output < OutputLimit - 20 oder Output > OutputLimit + 20"

                              Das müsste gehen. andersrum bin ich ganz froh, dass das System beim Zurückspeisen dann um den Nullpunkt herum recht genau regelt. Somit geht nachts fast nichts ins Netz.
                              Ich muss mir das nochmal durch den Kopf gehen lassen.

                              @T-147 sagte:

                              Und nach erfolgter Anpassung müsste doch ein eingeschobener Timeout reichen,...

                              Da sprichst du einen blinden Punkt bei mir an. Wie man mit diesen Timeouts genau umgeht, habe ich bis heute nicht richtig kapiert. Wie gesagt ich bin ein älterer technischer Laie und versuche das alles im Selbststudium zu lernen 😉
                              Mich würde mal interessieren in welchen Abständen das integrierte HEMS regeln würde und ob ich da mit meinen 20 Sekunden Intervall sehr weit entfernt bin. Ich kann das aber mangels passendem Smartmeter nicht selbst testen.

                              @maxclaudi Ist das für dich in Ordnung, wenn wir hier weiter über das Skript reden, oder doch lieber in einem separaten Thema.

                              maxclaudiM Offline
                              maxclaudiM Offline
                              maxclaudi
                              schrieb zuletzt editiert von maxclaudi
                              #380

                              @Jockel_Bln sagte:
                              @maxclaudi Ist das für dich in Ordnung, wenn wir hier weiter über das Skript reden...

                              ist doch gut. Bei einem Update werde ich im ersten Post (und im laufenden Thread) wieder auf das eigentliche Steuerungs-Script verlinken.

                              Edit: So bleibt alles beieinander und andere finden evtl. gleich was Nützliches für ihr eigenes Script.
                              Vielleicht wird dadurch ja auch eine allround Basis oder zumindest eine Hilfe für Einsteiger geschaffen.

                              @Jockel_Bln sagte:
                              Das mit der Mindestdauer bekomme ich momentan noch nicht gebacken....
                              Was eine Hysterese betrifft, muss ich mal sehen, ob mir da was schlaues einfällt, die Werte am Zähler springen ja reichlich hin und her.

                              lass sie springen ;-)

                              bin kein Freund von Timer und Timeouts, wenn sie nicht sein müssen.

                              Hier ein Beispiel, wie man das einfach über die Systemzeit realisieren kann:

                              a958eeef-cf4c-401f-8ee7-ee4beb17666c-image.jpeg


                              <xml xmlns="https://developers.google.com/blockly/xml">
                                <variables>
                                  <variable id="xY{w8?Sp~0Jea0SewLzs">batteryLock</variable>
                                  <variable id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</variable>
                                  <variable id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</variable>
                                  <variable id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</variable>
                                  <variable id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</variable>
                                  <variable id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</variable>
                                  <variable id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</variable>
                                  <variable id="6jV)pWhw1z4,L)/zXmp@">nowSec</variable>
                                  <variable id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</variable>
                                  <variable id="!f%Ln*^txgvN{P19_n`B">NewLimit</variable>
                                </variables>
                                <block type="comment" id="B`~2Lup]No@[ab~vG0Fv" x="88" y="10738">
                                  <field name="COMMENT">batteryLock nur als Beispiel</field>
                                  <next>
                                    <block type="variables_set" id="DK?3qF6XQUkI+RaYng!,">
                                      <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                      <value name="VALUE">
                                        <block type="logic_boolean" id="e/wU{-WQGok:mx9Vj:zT">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="comment" id="CjLEJvvem:j^rc|xQYIQ">
                                          <field name="COMMENT">max. Einspeisung: negativ W&amp;#10;max. Verbrauch/Bezug: positiv W</field>
                                          <next>
                                            <block type="variables_set" id="l1FQvOdlC:i?J$XdK:RZ">
                                              <field name="VAR" id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</field>
                                              <value name="VALUE">
                                                <block type="math_number" id="EB9;e!]z6P/nk;moQvA(">
                                                  <field name="NUM">-20</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="//Q0KB!yBPC2IfF`ky4K">
                                                  <field name="VAR" id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</field>
                                                  <value name="VALUE">
                                                    <block type="math_number" id="gtGa@*icFGlbmV]Any8f">
                                                      <field name="NUM">-5</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="comment" id="7$Bsvz@k(wNFYy~,{|9i">
                                                      <field name="COMMENT">Sekunden wie lange&amp;#10;outputLimit&amp;#10;gehalten werden soll</field>
                                                      <next>
                                                        <block type="variables_set" id=":Hxw7.yl%,)*0G@.SrK5">
                                                          <field name="VAR" id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</field>
                                                          <value name="VALUE">
                                                            <block type="math_number" id="UcYarz.]=Yc!)Zs+;nQf">
                                                              <field name="NUM">30</field>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="variables_set" id="k2oe8wsrfMf6oIFe^|-6">
                                                              <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                              <value name="VALUE">
                                                                <block type="math_number" id="2A@!w^;vKVrUAn1=A?Dy">
                                                                  <field name="NUM">0</field>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="comment" id="$a0*dJJf~721y76c*,#P">
                                                                  <field name="COMMENT">max. outputLimit</field>
                                                                  <next>
                                                                    <block type="variables_set" id=")na@nqSqVAzH1]6-QQ)]">
                                                                      <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                      <value name="VALUE">
                                                                        <block type="math_number" id="3BS=X#tit:R,9Gab^[Pb">
                                                                          <field name="NUM">800</field>
                                                                        </block>
                                                                      </value>
                                                                      <next>
                                                                        <block type="comment" id="NkKWo}e@M=jRzestwaNO">
                                                                          <field name="COMMENT">Trigger Stromzähler&amp;#10;alle 5 sek.</field>
                                                                          <next>
                                                                            <block type="on_ext" id="P$}#rr[k?RyM|3ryd$}Y">
                                                                              <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="[ODzzI~E=p^s1Q?JCZ)D">
                                                                                  <field name="oid">ID auswählen</field>
                                                                                </shadow>
                                                                              </value>
                                                                              <statement name="STATEMENT">
                                                                                <block type="comment" id="4Q:SmVKFDh?q)=:x`:aN">
                                                                                  <field name="COMMENT">gridMeterValue&amp;#10;Einspeisung: negativ W&amp;#10;Verbrauch/Bezug: positiv W</field>
                                                                                  <next>
                                                                                    <block type="variables_set" id="%UJw9T^`i(MP(n6294wT">
                                                                                      <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                      <value name="VALUE">
                                                                                        <block type="on_source" id="=Yu5Z-+Gy[Vp:)3#;fu+">
                                                                                          <field name="ATTR">state.val</field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <next>
                                                                                        <block type="comment" id="eb)%`~[NQkLRT,m`6dbu">
                                                                                          <field name="COMMENT">aktuelle Sekunden</field>
                                                                                          <next>
                                                                                            <block type="variables_set" id="IhJ54dcjRh,ck!GD=[ig">
                                                                                              <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                              <value name="VALUE">
                                                                                                <block type="procedures_callcustomreturn" id="AuU:+}b=_Hx4id)5dci]">
                                                                                                  <mutation name="getNowSec"></mutation>
                                                                                                </block>
                                                                                              </value>
                                                                                              <next>
                                                                                                <block type="comment" id="Re}zez)lzFB)hQ+fgHAU">
                                                                                                  <field name="COMMENT">Logik- DPL</field>
                                                                                                  <next>
                                                                                                    <block type="controls_if" id="[2y44(h8!PsDDB~wlN-.">
                                                                                                      <mutation else="1"></mutation>
                                                                                                      <value name="IF0">
                                                                                                        <block type="logic_multi_and" id="?N`S2u#=+btllD!K,AU(">
                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation>
                                                                                                          <value name="AND0">
                                                                                                            <block type="logic_compare" id="S6D(BrMSZT0ZrpgEbiNT">
                                                                                                              <field name="OP">EQ</field>
                                                                                                              <value name="A">
                                                                                                                <block type="variables_get" id="7j=nrChBIo]/Yz#^FVUy">
                                                                                                                  <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="B">
                                                                                                                <block type="logic_boolean" id="C|dIdqh7(Jz!@Oho}6}$">
                                                                                                                  <field name="BOOL">FALSE</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="AND1">
                                                                                                            <block type="logic_compare" id="|G*r@{Qv_|UC*N9iued)">
                                                                                                              <field name="OP">GT</field>
                                                                                                              <value name="A">
                                                                                                                <block type="get_value" id="Gpdu1~].Q0DOjwN];#w1">
                                                                                                                  <field name="ATTR">val</field>
                                                                                                                  <field name="OID">0_userdata.0.zendure.1600ACplus.properties.electricLevel</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="B">
                                                                                                                <block type="get_value" id="nSRZO:R~W/TtmwE^!og{">
                                                                                                                  <field name="ATTR">val</field>
                                                                                                                  <field name="OID">0_userdata.0.zendure.1600ACplus.properties.minSoc</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="AND2">
                                                                                                            <block type="logic_multi_or" id="*pR$P6VuS$ej|q($?Jzx">
                                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                              <value name="OR0">
                                                                                                                <block type="logic_compare" id="`Gc0xr[]d0!2_!:#WIBb">
                                                                                                                  <field name="OP">GT</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="7@4uHMmLjUdpHS{C22Zs">
                                                                                                                      <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="variables_get" id="yJIV6/[)R?n:kG*L7.9Q">
                                                                                                                      <field name="VAR" id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="OR1">
                                                                                                                <block type="logic_compare" id="ckZ*U:oi|arMmQ850.%a">
                                                                                                                  <field name="OP">LTE</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="HI9^GqB0[B.Zm/w27L!C">
                                                                                                                      <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="variables_get" id=".amyEk_$i)^(w7$gewot">
                                                                                                                      <field name="VAR" id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="AND3">
                                                                                                            <block type="logic_compare" id="$iNq5:qW.#}l2]mh4hF?">
                                                                                                              <field name="OP">GTE</field>
                                                                                                              <value name="A">
                                                                                                                <block type="math_arithmetic" id="^q7uJ0}p5C3-{1[yzQ5F">
                                                                                                                  <field name="OP">MINUS</field>
                                                                                                                  <value name="A">
                                                                                                                    <shadow type="math_number" id="HL4/1ObSbLA6gQ*^HLYH">
                                                                                                                      <field name="NUM">1</field>
                                                                                                                    </shadow>
                                                                                                                    <block type="variables_get" id=";`3)VMTB)}_KxO{NxJaT">
                                                                                                                      <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <shadow type="math_number" id="{Yl2NFYd7K:|7i0HLGH9">
                                                                                                                      <field name="NUM">1</field>
                                                                                                                    </shadow>
                                                                                                                    <block type="variables_get" id="7]2u.SWTW6?^:N/?/8nf">
                                                                                                                      <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="B">
                                                                                                                <block type="variables_get" id="KMFd8yAexy7%iYWk~L`A">
                                                                                                                  <field name="VAR" id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <statement name="DO0">
                                                                                                        <block type="controls_if" id="IZLF52G11ONkAv|Sga,f">
                                                                                                          <value name="IF0">
                                                                                                            <block type="logic_compare" id="?n(rW+Oa5*tJ]Jdamz*V">
                                                                                                              <field name="OP">LT</field>
                                                                                                              <value name="A">
                                                                                                                <block type="variables_get" id="QvK}D|H0S*iWK#Q[wvgg">
                                                                                                                  <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="B">
                                                                                                                <block type="math_number" id="w=$}9oCSuIs6*=uVv+03">
                                                                                                                  <field name="NUM">0</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <statement name="DO0">
                                                                                                            <block type="variables_set" id="u^o,~NZ#.CJg`9X?GOgc">
                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                              <value name="VALUE">
                                                                                                                <block type="math_round" id="Rd8:}^b90:)]LTi:]DB?">
                                                                                                                  <field name="OP">ROUNDDOWN</field>
                                                                                                                  <value name="NUM">
                                                                                                                    <shadow type="math_number" id=":`0Y]j3lps51~0`EvC{n">
                                                                                                                      <field name="NUM">3.1</field>
                                                                                                                    </shadow>
                                                                                                                    <block type="math_arithmetic" id="@m,$e$k{2~e1x?n=LlHv">
                                                                                                                      <field name="OP">MINUS</field>
                                                                                                                      <value name="A">
                                                                                                                        <shadow type="math_number" id="h85QZeI7p9D(:4)sfYF%">
                                                                                                                          <field name="NUM">1</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="get_value" id="W=~+~})L~~UIJ;p_Y-3)">
                                                                                                                          <field name="ATTR">val</field>
                                                                                                                          <field name="OID">0_userdata.0.Datenpunkte.zendureSolarFlow.HUB2000.properties.outputLimit</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <shadow type="math_number" id="l|2B%;vkM[`U4%;n3|`t">
                                                                                                                          <field name="NUM">1</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="math_arithmetic" id="3P/l}|YyfrYV-$Eq{OkL">
                                                                                                                          <field name="OP">MULTIPLY</field>
                                                                                                                          <value name="A">
                                                                                                                            <shadow type="math_number" id="kH$OVvVc;6#@E[n@6cPx">
                                                                                                                              <field name="NUM">1</field>
                                                                                                                            </shadow>
                                                                                                                            <block type="variables_get" id="8ma`kdUu~u0Vq.Gvy?+.">
                                                                                                                              <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <shadow type="math_number" id="-3_2YxLm_H#2y(+RY|sn">
                                                                                                                              <field name="NUM">1</field>
                                                                                                                            </shadow>
                                                                                                                            <block type="math_number" id="?z@zV#c1kJpQ8X||SP+K">
                                                                                                                              <field name="NUM">-1</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </statement>
                                                                                                          <next>
                                                                                                            <block type="controls_if" id="+L:7:q{.6A{o!^xc*uG#">
                                                                                                              <value name="IF0">
                                                                                                                <block type="logic_compare" id="%{$[A{#7Yqnmh0sD($;^">
                                                                                                                  <field name="OP">GTE</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="$0bZ]4Lo)Y97+gWR!{fP">
                                                                                                                      <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="math_number" id="AS([9Q4+Iwu(z_#MIVzn">
                                                                                                                      <field name="NUM">0</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <statement name="DO0">
                                                                                                                <block type="variables_set" id="kmtV~]xVU/U2~mO?a**3">
                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                  <value name="VALUE">
                                                                                                                    <block type="math_round" id="YwZ[g2yR,O101n3!!fN7">
                                                                                                                      <field name="OP">ROUNDUP</field>
                                                                                                                      <value name="NUM">
                                                                                                                        <shadow type="math_number" id="RTIrDtXuT+g9p)~aUdfP">
                                                                                                                          <field name="NUM">3.1</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="math_arithmetic" id="_2qIwS1+tX^xYaV`6S|,">
                                                                                                                          <field name="OP">ADD</field>
                                                                                                                          <value name="A">
                                                                                                                            <shadow type="math_number" id="t*o!./qY(-z]IyH3fDzi">
                                                                                                                              <field name="NUM">1</field>
                                                                                                                            </shadow>
                                                                                                                            <block type="get_value" id="ZsV.X[y0l|a/LE%[Lu/c">
                                                                                                                              <field name="ATTR">val</field>
                                                                                                                              <field name="OID">0_userdata.0.Datenpunkte.zendureSolarFlow.HUB2000.properties.outputLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <shadow type="math_number" id="JFF^]=-=xFh@.Bkyx_(/">
                                                                                                                              <field name="NUM">1</field>
                                                                                                                            </shadow>
                                                                                                                            <block type="variables_get" id="1R{0Aj@MY!g0Yze6CX_h">
                                                                                                                              <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </statement>
                                                                                                              <next>
                                                                                                                <block type="controls_if" id="g@(vG]*OUy2JLf^=m6l+">
                                                                                                                  <mutation elseif="5" else="1"></mutation>
                                                                                                                  <value name="IF0">
                                                                                                                    <block type="logic_compare" id=".na%l!e0oSW!iK=o2G4!">
                                                                                                                      <field name="OP">LTE</field>
                                                                                                                      <value name="A">
                                                                                                                        <block type="variables_get" id="a^:Ag8(3$$D34UA02Tf$">
                                                                                                                          <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <block type="math_number" id="jei?/sY|v-fpFNtU#[i`">
                                                                                                                          <field name="NUM">0</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO0">
                                                                                                                    <block type="variables_set" id="ue1q+ExXrlL~]n9#$be2">
                                                                                                                      <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_number" id="V{HbiRMuhL.cqpReJl_4">
                                                                                                                          <field name="NUM">0</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <value name="IF1">
                                                                                                                    <block type="logic_multi_and" id="M{Ii3sf2k1B4K%$4h]?q">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                      <value name="AND0">
                                                                                                                        <block type="logic_compare" id="Ml9{!P#F*ihd_f3lfhaO">
                                                                                                                          <field name="OP">GT</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="BqSelKS67-|JjO{2{67^">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="`L0^4z`.aBIT)Qx:./X4">
                                                                                                                              <field name="NUM">0</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="AND1">
                                                                                                                        <block type="logic_compare" id="Lg5w+8!XEN|N[RAaVM:W">
                                                                                                                          <field name="OP">LTE</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="C)ABAd]#v|iE26-O+Od~">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="+vER?,t9_GOUhX@))1Uj">
                                                                                                                              <field name="NUM">30</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO1">
                                                                                                                    <block type="variables_set" id="(,$CxCnJa.{dJ@EGA}*H">
                                                                                                                      <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_number" id="5]k`!yHNVUN05IQPoASi">
                                                                                                                          <field name="NUM">30</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <value name="IF2">
                                                                                                                    <block type="logic_multi_and" id="%|zlZsEgVwAFj(A[5N:_">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                      <value name="AND0">
                                                                                                                        <block type="logic_compare" id="ye2n/~_wxvV0WO:Kf8[4">
                                                                                                                          <field name="OP">GT</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="WS4FHhpB!/9!_NmTDYX*">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="TSpYTslU+[r{fuPk4b+p">
                                                                                                                              <field name="NUM">30</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="AND1">
                                                                                                                        <block type="logic_compare" id="_)ptql`crZGDydxtq;UI">
                                                                                                                          <field name="OP">LTE</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="VI.Zu*B*Rus[,xuF{:c:">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="jH}z]*8WV5dR{Gi9_b(7">
                                                                                                                              <field name="NUM">60</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO2">
                                                                                                                    <block type="variables_set" id="Vq:)#pNoH?sRu2EP41Vg">
                                                                                                                      <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_number" id=";cfhl|ObEP$*s8}a5`.7">
                                                                                                                          <field name="NUM">60</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <value name="IF3">
                                                                                                                    <block type="logic_multi_and" id="3,m|@{YUB,%:HgF(n`^-">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                      <value name="AND0">
                                                                                                                        <block type="logic_compare" id="(imyvzh%bl$g(?!9M-~7">
                                                                                                                          <field name="OP">GT</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="NH53D`G|wzRakp?4QaTC">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="*pg%r=mBnOLDKRRz#CD|">
                                                                                                                              <field name="NUM">60</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="AND1">
                                                                                                                        <block type="logic_compare" id="F6LGV[Bbts,F8HwB)?vj">
                                                                                                                          <field name="OP">LTE</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="#*MX3vPm4S5EkH=a2~Fi">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="V;b0Qla!ngk+UO03N.qb">
                                                                                                                              <field name="NUM">90</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO3">
                                                                                                                    <block type="variables_set" id=",##sr}kLyc___`8-D2qS">
                                                                                                                      <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_number" id="~N*4e!@@kmJ4oB8(A:Bf">
                                                                                                                          <field name="NUM">90</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <value name="IF4">
                                                                                                                    <block type="logic_multi_and" id="ck=PtrH@1n6xT_Uy534_">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                      <value name="AND0">
                                                                                                                        <block type="logic_compare" id="aQ)k!!mb30BmlEPT|!wn">
                                                                                                                          <field name="OP">GT</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="geE(HzW0#vsil%#Yi9@J">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="2DFZ,,SaN.=f.u!O+gM_">
                                                                                                                              <field name="NUM">90</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="AND1">
                                                                                                                        <block type="logic_compare" id="R-#e}^%,TZ=^(HHGg)3#">
                                                                                                                          <field name="OP">LTE</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="J!*3(X{=h%13jR7,{L7W">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="}ci)8/U@BS5ZG{`}:/Gd">
                                                                                                                              <field name="NUM">100</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO4">
                                                                                                                    <block type="variables_set" id="xMaB1zs]gPmR;-QhiqTm">
                                                                                                                      <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_number" id="/xtk;Wn4;VC/S[gm.*5i">
                                                                                                                          <field name="NUM">100</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <value name="IF5">
                                                                                                                    <block type="logic_multi_and" id="/H?Jk#INlFRS26^o8Qh*">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                      <value name="AND0">
                                                                                                                        <block type="logic_compare" id="EnPfaM|-b}%bx89sQq(D">
                                                                                                                          <field name="OP">GT</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="t]5w`blFMx~dRCXpS82Y">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="a4H:ynOe^z?HzI|*#6M%">
                                                                                                                              <field name="NUM">100</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="AND1">
                                                                                                                        <block type="logic_compare" id="w]5-ZMz=+sKj+[lyfEcV">
                                                                                                                          <field name="OP">LT</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id=":~!X@Da@mV3_%-nnt9|t">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="variables_get" id="]`k}*$U[x8T)D;SFt2*T">
                                                                                                                              <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO5">
                                                                                                                    <block type="variables_set" id="kE$KjD1sq`zo7N4XzO8W">
                                                                                                                      <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="variables_get" id="0N-L^1LGavYXMSGto#0i">
                                                                                                                          <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <statement name="ELSE">
                                                                                                                    <block type="controls_if" id="h/k3;T$Ds?%`Dc2a]A(Y">
                                                                                                                      <value name="IF0">
                                                                                                                        <block type="logic_compare" id="s$$6hA]|wS^%v$azgbc(">
                                                                                                                          <field name="OP">GTE</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="D`R(6C9Whcox}UCLtHyk">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="variables_get" id="LJ?k%c5.9@^Zb@GY59s.">
                                                                                                                              <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO0">
                                                                                                                        <block type="variables_set" id="%`Qf}#6ll+buxb1RrfO(">
                                                                                                                          <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_round" id="Aivr3_W]J?~H7PL-(Qn2">
                                                                                                                              <field name="OP">ROUNDDOWN</field>
                                                                                                                              <value name="NUM">
                                                                                                                                <shadow type="math_number" id="2q.OIETW9F$f8*^m.pR7">
                                                                                                                                  <field name="NUM">3.1</field>
                                                                                                                                </shadow>
                                                                                                                                <block type="variables_get" id="hkymtbi%V;Ewsb]HY@Tv">
                                                                                                                                  <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <next>
                                                                                                                    <block type="controls_if" id=":xA_/$utkabK$dY]WA;.">
                                                                                                                      <value name="IF0">
                                                                                                                        <block type="logic_compare" id="gDbKvBq/8jNWZ$!Wgw06">
                                                                                                                          <field name="OP">NEQ</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="$y7+$mq6[$4iP@HA;4(`">
                                                                                                                              <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="get_value" id="Kj[gA5EP!;[5lS238LJT">
                                                                                                                              <field name="ATTR">val</field>
                                                                                                                              <field name="OID">0_userdata.0.zendure.1600ACplus.properties.outputLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO0">
                                                                                                                        <block type="control" id="sY3aT9oP|V=)M,RY?8n3">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                                          <field name="OID">0_userdata.0.zendure.1600ACplus.control.auto_in_out_Limit</field>
                                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="variables_get" id="DVJGhR]|p#F92SS]O@}5">
                                                                                                                              <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <next>
                                                                                                                            <block type="variables_set" id="wu6sI?s@RYKT0EO)I?T,">
                                                                                                                              <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                              <value name="VALUE">
                                                                                                                                <block type="variables_get" id="opGu^p^dmwOUCp|HvY(Z">
                                                                                                                                  <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </next>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                    </block>
                                                                                                                  </next>
                                                                                                                </block>
                                                                                                              </next>
                                                                                                            </block>
                                                                                                          </next>
                                                                                                        </block>
                                                                                                      </statement>
                                                                                                      <statement name="ELSE">
                                                                                                        <block type="controls_if" id="M*u}`W8hfB51X2~XhP2=">
                                                                                                          <value name="IF0">
                                                                                                            <block type="logic_multi_or" id="[Byq|Pc)]dzKtE.,_]ua">
                                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                              <value name="OR0">
                                                                                                                <block type="logic_compare" id="g0fwE?h]64A[vz*{vDBf">
                                                                                                                  <field name="OP">EQ</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="LMQfo^aZZ1!:Qn$Zg)[Q">
                                                                                                                      <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="logic_boolean" id="hk4~(Oq,BcGk07:_TRQL">
                                                                                                                      <field name="BOOL">TRUE</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="OR1">
                                                                                                                <block type="logic_compare" id="gH{YL=RD):.Xc1p}SES2">
                                                                                                                  <field name="OP">LTE</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="get_value" id="Xp-(zS;c@5moDZX*oidb">
                                                                                                                      <field name="ATTR">val</field>
                                                                                                                      <field name="OID">0_userdata.0.zendure.1600ACplus.properties.electricLevel</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="get_value" id="N!c2`[Ha2.6/4$m#p7IL">
                                                                                                                      <field name="ATTR">val</field>
                                                                                                                      <field name="OID">0_userdata.0.zendure.1600ACplus.properties.minSoc</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <statement name="DO0">
                                                                                                            <block type="comment" id="jsF+AiW#j=IEKW))-/Z]">
                                                                                                              <field name="COMMENT">falls outputLimit nicht 0</field>
                                                                                                              <next>
                                                                                                                <block type="controls_if" id="zdAF~Zi(zQu!xfbcgiZx">
                                                                                                                  <value name="IF0">
                                                                                                                    <block type="logic_compare" id="d5juG(gsQkg5X5`Fm}3*">
                                                                                                                      <field name="OP">NEQ</field>
                                                                                                                      <value name="A">
                                                                                                                        <block type="get_value" id="yw9NQ?TgGLT~uXu{*IuT">
                                                                                                                          <field name="ATTR">val</field>
                                                                                                                          <field name="OID">0_userdata.0.zendure.1600ACplus.properties.outputLimit</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <block type="math_number" id="XBf`):7^MV]8u6jEcg3q">
                                                                                                                          <field name="NUM">0</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO0">
                                                                                                                    <block type="control" id="U[Hl|(_Y4FBQXR7CtRX_">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                                      <field name="OID">0_userdata.0.zendure.1600ACplus.control.outputLimit</field>
                                                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_number" id="gBw(glQzU|-9xx=%4~R5">
                                                                                                                          <field name="NUM">0</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <next>
                                                                                                                        <block type="variables_set" id="EM*kUUw)$;Nwk]969aRX">
                                                                                                                          <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="variables_get" id="e2gN_]V5p+W)G2ipaAhr">
                                                                                                                              <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </next>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                </block>
                                                                                                              </next>
                                                                                                            </block>
                                                                                                          </statement>
                                                                                                        </block>
                                                                                                      </statement>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </next>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </next>
                                                                                    </block>
                                                                                  </next>
                                                                                </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>
                                <block type="procedures_defcustomreturn" id="*[JBn(Fqq9m3!8LlvpAh" x="588" y="10913">
                                  <mutation statements="false"></mutation>
                                  <field name="NAME">getNowSec</field>
                                  <field name="SCRIPT">cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOw0K</field>
                                  <comment pinned="false" h="80" w="160">liefert aktuelle Sekunden</comment>
                                </block>
                              </xml>
                              

                              Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                              maxclaudiM J 2 Antworten Letzte Antwort
                              0
                              • maxclaudiM maxclaudi

                                @Jockel_Bln sagte:
                                @maxclaudi Ist das für dich in Ordnung, wenn wir hier weiter über das Skript reden...

                                ist doch gut. Bei einem Update werde ich im ersten Post (und im laufenden Thread) wieder auf das eigentliche Steuerungs-Script verlinken.

                                Edit: So bleibt alles beieinander und andere finden evtl. gleich was Nützliches für ihr eigenes Script.
                                Vielleicht wird dadurch ja auch eine allround Basis oder zumindest eine Hilfe für Einsteiger geschaffen.

                                @Jockel_Bln sagte:
                                Das mit der Mindestdauer bekomme ich momentan noch nicht gebacken....
                                Was eine Hysterese betrifft, muss ich mal sehen, ob mir da was schlaues einfällt, die Werte am Zähler springen ja reichlich hin und her.

                                lass sie springen ;-)

                                bin kein Freund von Timer und Timeouts, wenn sie nicht sein müssen.

                                Hier ein Beispiel, wie man das einfach über die Systemzeit realisieren kann:

                                a958eeef-cf4c-401f-8ee7-ee4beb17666c-image.jpeg


                                <xml xmlns="https://developers.google.com/blockly/xml">
                                  <variables>
                                    <variable id="xY{w8?Sp~0Jea0SewLzs">batteryLock</variable>
                                    <variable id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</variable>
                                    <variable id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</variable>
                                    <variable id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</variable>
                                    <variable id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</variable>
                                    <variable id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</variable>
                                    <variable id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</variable>
                                    <variable id="6jV)pWhw1z4,L)/zXmp@">nowSec</variable>
                                    <variable id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</variable>
                                    <variable id="!f%Ln*^txgvN{P19_n`B">NewLimit</variable>
                                  </variables>
                                  <block type="comment" id="B`~2Lup]No@[ab~vG0Fv" x="88" y="10738">
                                    <field name="COMMENT">batteryLock nur als Beispiel</field>
                                    <next>
                                      <block type="variables_set" id="DK?3qF6XQUkI+RaYng!,">
                                        <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="e/wU{-WQGok:mx9Vj:zT">
                                            <field name="BOOL">FALSE</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="comment" id="CjLEJvvem:j^rc|xQYIQ">
                                            <field name="COMMENT">max. Einspeisung: negativ W&amp;#10;max. Verbrauch/Bezug: positiv W</field>
                                            <next>
                                              <block type="variables_set" id="l1FQvOdlC:i?J$XdK:RZ">
                                                <field name="VAR" id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="EB9;e!]z6P/nk;moQvA(">
                                                    <field name="NUM">-20</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="variables_set" id="//Q0KB!yBPC2IfF`ky4K">
                                                    <field name="VAR" id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</field>
                                                    <value name="VALUE">
                                                      <block type="math_number" id="gtGa@*icFGlbmV]Any8f">
                                                        <field name="NUM">-5</field>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="comment" id="7$Bsvz@k(wNFYy~,{|9i">
                                                        <field name="COMMENT">Sekunden wie lange&amp;#10;outputLimit&amp;#10;gehalten werden soll</field>
                                                        <next>
                                                          <block type="variables_set" id=":Hxw7.yl%,)*0G@.SrK5">
                                                            <field name="VAR" id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</field>
                                                            <value name="VALUE">
                                                              <block type="math_number" id="UcYarz.]=Yc!)Zs+;nQf">
                                                                <field name="NUM">30</field>
                                                              </block>
                                                            </value>
                                                            <next>
                                                              <block type="variables_set" id="k2oe8wsrfMf6oIFe^|-6">
                                                                <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                <value name="VALUE">
                                                                  <block type="math_number" id="2A@!w^;vKVrUAn1=A?Dy">
                                                                    <field name="NUM">0</field>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="comment" id="$a0*dJJf~721y76c*,#P">
                                                                    <field name="COMMENT">max. outputLimit</field>
                                                                    <next>
                                                                      <block type="variables_set" id=")na@nqSqVAzH1]6-QQ)]">
                                                                        <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                        <value name="VALUE">
                                                                          <block type="math_number" id="3BS=X#tit:R,9Gab^[Pb">
                                                                            <field name="NUM">800</field>
                                                                          </block>
                                                                        </value>
                                                                        <next>
                                                                          <block type="comment" id="NkKWo}e@M=jRzestwaNO">
                                                                            <field name="COMMENT">Trigger Stromzähler&amp;#10;alle 5 sek.</field>
                                                                            <next>
                                                                              <block type="on_ext" id="P$}#rr[k?RyM|3ryd$}Y">
                                                                                <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="[ODzzI~E=p^s1Q?JCZ)D">
                                                                                    <field name="oid">ID auswählen</field>
                                                                                  </shadow>
                                                                                </value>
                                                                                <statement name="STATEMENT">
                                                                                  <block type="comment" id="4Q:SmVKFDh?q)=:x`:aN">
                                                                                    <field name="COMMENT">gridMeterValue&amp;#10;Einspeisung: negativ W&amp;#10;Verbrauch/Bezug: positiv W</field>
                                                                                    <next>
                                                                                      <block type="variables_set" id="%UJw9T^`i(MP(n6294wT">
                                                                                        <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                        <value name="VALUE">
                                                                                          <block type="on_source" id="=Yu5Z-+Gy[Vp:)3#;fu+">
                                                                                            <field name="ATTR">state.val</field>
                                                                                          </block>
                                                                                        </value>
                                                                                        <next>
                                                                                          <block type="comment" id="eb)%`~[NQkLRT,m`6dbu">
                                                                                            <field name="COMMENT">aktuelle Sekunden</field>
                                                                                            <next>
                                                                                              <block type="variables_set" id="IhJ54dcjRh,ck!GD=[ig">
                                                                                                <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                <value name="VALUE">
                                                                                                  <block type="procedures_callcustomreturn" id="AuU:+}b=_Hx4id)5dci]">
                                                                                                    <mutation name="getNowSec"></mutation>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <next>
                                                                                                  <block type="comment" id="Re}zez)lzFB)hQ+fgHAU">
                                                                                                    <field name="COMMENT">Logik- DPL</field>
                                                                                                    <next>
                                                                                                      <block type="controls_if" id="[2y44(h8!PsDDB~wlN-.">
                                                                                                        <mutation else="1"></mutation>
                                                                                                        <value name="IF0">
                                                                                                          <block type="logic_multi_and" id="?N`S2u#=+btllD!K,AU(">
                                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation>
                                                                                                            <value name="AND0">
                                                                                                              <block type="logic_compare" id="S6D(BrMSZT0ZrpgEbiNT">
                                                                                                                <field name="OP">EQ</field>
                                                                                                                <value name="A">
                                                                                                                  <block type="variables_get" id="7j=nrChBIo]/Yz#^FVUy">
                                                                                                                    <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="B">
                                                                                                                  <block type="logic_boolean" id="C|dIdqh7(Jz!@Oho}6}$">
                                                                                                                    <field name="BOOL">FALSE</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="AND1">
                                                                                                              <block type="logic_compare" id="|G*r@{Qv_|UC*N9iued)">
                                                                                                                <field name="OP">GT</field>
                                                                                                                <value name="A">
                                                                                                                  <block type="get_value" id="Gpdu1~].Q0DOjwN];#w1">
                                                                                                                    <field name="ATTR">val</field>
                                                                                                                    <field name="OID">0_userdata.0.zendure.1600ACplus.properties.electricLevel</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="B">
                                                                                                                  <block type="get_value" id="nSRZO:R~W/TtmwE^!og{">
                                                                                                                    <field name="ATTR">val</field>
                                                                                                                    <field name="OID">0_userdata.0.zendure.1600ACplus.properties.minSoc</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="AND2">
                                                                                                              <block type="logic_multi_or" id="*pR$P6VuS$ej|q($?Jzx">
                                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                <value name="OR0">
                                                                                                                  <block type="logic_compare" id="`Gc0xr[]d0!2_!:#WIBb">
                                                                                                                    <field name="OP">GT</field>
                                                                                                                    <value name="A">
                                                                                                                      <block type="variables_get" id="7@4uHMmLjUdpHS{C22Zs">
                                                                                                                        <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="B">
                                                                                                                      <block type="variables_get" id="yJIV6/[)R?n:kG*L7.9Q">
                                                                                                                        <field name="VAR" id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="OR1">
                                                                                                                  <block type="logic_compare" id="ckZ*U:oi|arMmQ850.%a">
                                                                                                                    <field name="OP">LTE</field>
                                                                                                                    <value name="A">
                                                                                                                      <block type="variables_get" id="HI9^GqB0[B.Zm/w27L!C">
                                                                                                                        <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="B">
                                                                                                                      <block type="variables_get" id=".amyEk_$i)^(w7$gewot">
                                                                                                                        <field name="VAR" id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="AND3">
                                                                                                              <block type="logic_compare" id="$iNq5:qW.#}l2]mh4hF?">
                                                                                                                <field name="OP">GTE</field>
                                                                                                                <value name="A">
                                                                                                                  <block type="math_arithmetic" id="^q7uJ0}p5C3-{1[yzQ5F">
                                                                                                                    <field name="OP">MINUS</field>
                                                                                                                    <value name="A">
                                                                                                                      <shadow type="math_number" id="HL4/1ObSbLA6gQ*^HLYH">
                                                                                                                        <field name="NUM">1</field>
                                                                                                                      </shadow>
                                                                                                                      <block type="variables_get" id=";`3)VMTB)}_KxO{NxJaT">
                                                                                                                        <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="B">
                                                                                                                      <shadow type="math_number" id="{Yl2NFYd7K:|7i0HLGH9">
                                                                                                                        <field name="NUM">1</field>
                                                                                                                      </shadow>
                                                                                                                      <block type="variables_get" id="7]2u.SWTW6?^:N/?/8nf">
                                                                                                                        <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="B">
                                                                                                                  <block type="variables_get" id="KMFd8yAexy7%iYWk~L`A">
                                                                                                                    <field name="VAR" id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <statement name="DO0">
                                                                                                          <block type="controls_if" id="IZLF52G11ONkAv|Sga,f">
                                                                                                            <value name="IF0">
                                                                                                              <block type="logic_compare" id="?n(rW+Oa5*tJ]Jdamz*V">
                                                                                                                <field name="OP">LT</field>
                                                                                                                <value name="A">
                                                                                                                  <block type="variables_get" id="QvK}D|H0S*iWK#Q[wvgg">
                                                                                                                    <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="B">
                                                                                                                  <block type="math_number" id="w=$}9oCSuIs6*=uVv+03">
                                                                                                                    <field name="NUM">0</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <statement name="DO0">
                                                                                                              <block type="variables_set" id="u^o,~NZ#.CJg`9X?GOgc">
                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                <value name="VALUE">
                                                                                                                  <block type="math_round" id="Rd8:}^b90:)]LTi:]DB?">
                                                                                                                    <field name="OP">ROUNDDOWN</field>
                                                                                                                    <value name="NUM">
                                                                                                                      <shadow type="math_number" id=":`0Y]j3lps51~0`EvC{n">
                                                                                                                        <field name="NUM">3.1</field>
                                                                                                                      </shadow>
                                                                                                                      <block type="math_arithmetic" id="@m,$e$k{2~e1x?n=LlHv">
                                                                                                                        <field name="OP">MINUS</field>
                                                                                                                        <value name="A">
                                                                                                                          <shadow type="math_number" id="h85QZeI7p9D(:4)sfYF%">
                                                                                                                            <field name="NUM">1</field>
                                                                                                                          </shadow>
                                                                                                                          <block type="get_value" id="W=~+~})L~~UIJ;p_Y-3)">
                                                                                                                            <field name="ATTR">val</field>
                                                                                                                            <field name="OID">0_userdata.0.Datenpunkte.zendureSolarFlow.HUB2000.properties.outputLimit</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="B">
                                                                                                                          <shadow type="math_number" id="l|2B%;vkM[`U4%;n3|`t">
                                                                                                                            <field name="NUM">1</field>
                                                                                                                          </shadow>
                                                                                                                          <block type="math_arithmetic" id="3P/l}|YyfrYV-$Eq{OkL">
                                                                                                                            <field name="OP">MULTIPLY</field>
                                                                                                                            <value name="A">
                                                                                                                              <shadow type="math_number" id="kH$OVvVc;6#@E[n@6cPx">
                                                                                                                                <field name="NUM">1</field>
                                                                                                                              </shadow>
                                                                                                                              <block type="variables_get" id="8ma`kdUu~u0Vq.Gvy?+.">
                                                                                                                                <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <shadow type="math_number" id="-3_2YxLm_H#2y(+RY|sn">
                                                                                                                                <field name="NUM">1</field>
                                                                                                                              </shadow>
                                                                                                                              <block type="math_number" id="?z@zV#c1kJpQ8X||SP+K">
                                                                                                                                <field name="NUM">-1</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </statement>
                                                                                                            <next>
                                                                                                              <block type="controls_if" id="+L:7:q{.6A{o!^xc*uG#">
                                                                                                                <value name="IF0">
                                                                                                                  <block type="logic_compare" id="%{$[A{#7Yqnmh0sD($;^">
                                                                                                                    <field name="OP">GTE</field>
                                                                                                                    <value name="A">
                                                                                                                      <block type="variables_get" id="$0bZ]4Lo)Y97+gWR!{fP">
                                                                                                                        <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="B">
                                                                                                                      <block type="math_number" id="AS([9Q4+Iwu(z_#MIVzn">
                                                                                                                        <field name="NUM">0</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <statement name="DO0">
                                                                                                                  <block type="variables_set" id="kmtV~]xVU/U2~mO?a**3">
                                                                                                                    <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                    <value name="VALUE">
                                                                                                                      <block type="math_round" id="YwZ[g2yR,O101n3!!fN7">
                                                                                                                        <field name="OP">ROUNDUP</field>
                                                                                                                        <value name="NUM">
                                                                                                                          <shadow type="math_number" id="RTIrDtXuT+g9p)~aUdfP">
                                                                                                                            <field name="NUM">3.1</field>
                                                                                                                          </shadow>
                                                                                                                          <block type="math_arithmetic" id="_2qIwS1+tX^xYaV`6S|,">
                                                                                                                            <field name="OP">ADD</field>
                                                                                                                            <value name="A">
                                                                                                                              <shadow type="math_number" id="t*o!./qY(-z]IyH3fDzi">
                                                                                                                                <field name="NUM">1</field>
                                                                                                                              </shadow>
                                                                                                                              <block type="get_value" id="ZsV.X[y0l|a/LE%[Lu/c">
                                                                                                                                <field name="ATTR">val</field>
                                                                                                                                <field name="OID">0_userdata.0.Datenpunkte.zendureSolarFlow.HUB2000.properties.outputLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <shadow type="math_number" id="JFF^]=-=xFh@.Bkyx_(/">
                                                                                                                                <field name="NUM">1</field>
                                                                                                                              </shadow>
                                                                                                                              <block type="variables_get" id="1R{0Aj@MY!g0Yze6CX_h">
                                                                                                                                <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </statement>
                                                                                                                <next>
                                                                                                                  <block type="controls_if" id="g@(vG]*OUy2JLf^=m6l+">
                                                                                                                    <mutation elseif="5" else="1"></mutation>
                                                                                                                    <value name="IF0">
                                                                                                                      <block type="logic_compare" id=".na%l!e0oSW!iK=o2G4!">
                                                                                                                        <field name="OP">LTE</field>
                                                                                                                        <value name="A">
                                                                                                                          <block type="variables_get" id="a^:Ag8(3$$D34UA02Tf$">
                                                                                                                            <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="B">
                                                                                                                          <block type="math_number" id="jei?/sY|v-fpFNtU#[i`">
                                                                                                                            <field name="NUM">0</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <statement name="DO0">
                                                                                                                      <block type="variables_set" id="ue1q+ExXrlL~]n9#$be2">
                                                                                                                        <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                        <value name="VALUE">
                                                                                                                          <block type="math_number" id="V{HbiRMuhL.cqpReJl_4">
                                                                                                                            <field name="NUM">0</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                    <value name="IF1">
                                                                                                                      <block type="logic_multi_and" id="M{Ii3sf2k1B4K%$4h]?q">
                                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                        <value name="AND0">
                                                                                                                          <block type="logic_compare" id="Ml9{!P#F*ihd_f3lfhaO">
                                                                                                                            <field name="OP">GT</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="BqSelKS67-|JjO{2{67^">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="`L0^4z`.aBIT)Qx:./X4">
                                                                                                                                <field name="NUM">0</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="AND1">
                                                                                                                          <block type="logic_compare" id="Lg5w+8!XEN|N[RAaVM:W">
                                                                                                                            <field name="OP">LTE</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="C)ABAd]#v|iE26-O+Od~">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="+vER?,t9_GOUhX@))1Uj">
                                                                                                                                <field name="NUM">30</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <statement name="DO1">
                                                                                                                      <block type="variables_set" id="(,$CxCnJa.{dJ@EGA}*H">
                                                                                                                        <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                        <value name="VALUE">
                                                                                                                          <block type="math_number" id="5]k`!yHNVUN05IQPoASi">
                                                                                                                            <field name="NUM">30</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                    <value name="IF2">
                                                                                                                      <block type="logic_multi_and" id="%|zlZsEgVwAFj(A[5N:_">
                                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                        <value name="AND0">
                                                                                                                          <block type="logic_compare" id="ye2n/~_wxvV0WO:Kf8[4">
                                                                                                                            <field name="OP">GT</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="WS4FHhpB!/9!_NmTDYX*">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="TSpYTslU+[r{fuPk4b+p">
                                                                                                                                <field name="NUM">30</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="AND1">
                                                                                                                          <block type="logic_compare" id="_)ptql`crZGDydxtq;UI">
                                                                                                                            <field name="OP">LTE</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="VI.Zu*B*Rus[,xuF{:c:">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="jH}z]*8WV5dR{Gi9_b(7">
                                                                                                                                <field name="NUM">60</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <statement name="DO2">
                                                                                                                      <block type="variables_set" id="Vq:)#pNoH?sRu2EP41Vg">
                                                                                                                        <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                        <value name="VALUE">
                                                                                                                          <block type="math_number" id=";cfhl|ObEP$*s8}a5`.7">
                                                                                                                            <field name="NUM">60</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                    <value name="IF3">
                                                                                                                      <block type="logic_multi_and" id="3,m|@{YUB,%:HgF(n`^-">
                                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                        <value name="AND0">
                                                                                                                          <block type="logic_compare" id="(imyvzh%bl$g(?!9M-~7">
                                                                                                                            <field name="OP">GT</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="NH53D`G|wzRakp?4QaTC">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="*pg%r=mBnOLDKRRz#CD|">
                                                                                                                                <field name="NUM">60</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="AND1">
                                                                                                                          <block type="logic_compare" id="F6LGV[Bbts,F8HwB)?vj">
                                                                                                                            <field name="OP">LTE</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="#*MX3vPm4S5EkH=a2~Fi">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="V;b0Qla!ngk+UO03N.qb">
                                                                                                                                <field name="NUM">90</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <statement name="DO3">
                                                                                                                      <block type="variables_set" id=",##sr}kLyc___`8-D2qS">
                                                                                                                        <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                        <value name="VALUE">
                                                                                                                          <block type="math_number" id="~N*4e!@@kmJ4oB8(A:Bf">
                                                                                                                            <field name="NUM">90</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                    <value name="IF4">
                                                                                                                      <block type="logic_multi_and" id="ck=PtrH@1n6xT_Uy534_">
                                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                        <value name="AND0">
                                                                                                                          <block type="logic_compare" id="aQ)k!!mb30BmlEPT|!wn">
                                                                                                                            <field name="OP">GT</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="geE(HzW0#vsil%#Yi9@J">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="2DFZ,,SaN.=f.u!O+gM_">
                                                                                                                                <field name="NUM">90</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="AND1">
                                                                                                                          <block type="logic_compare" id="R-#e}^%,TZ=^(HHGg)3#">
                                                                                                                            <field name="OP">LTE</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="J!*3(X{=h%13jR7,{L7W">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="}ci)8/U@BS5ZG{`}:/Gd">
                                                                                                                                <field name="NUM">100</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <statement name="DO4">
                                                                                                                      <block type="variables_set" id="xMaB1zs]gPmR;-QhiqTm">
                                                                                                                        <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                        <value name="VALUE">
                                                                                                                          <block type="math_number" id="/xtk;Wn4;VC/S[gm.*5i">
                                                                                                                            <field name="NUM">100</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                    <value name="IF5">
                                                                                                                      <block type="logic_multi_and" id="/H?Jk#INlFRS26^o8Qh*">
                                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                        <value name="AND0">
                                                                                                                          <block type="logic_compare" id="EnPfaM|-b}%bx89sQq(D">
                                                                                                                            <field name="OP">GT</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="t]5w`blFMx~dRCXpS82Y">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="math_number" id="a4H:ynOe^z?HzI|*#6M%">
                                                                                                                                <field name="NUM">100</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="AND1">
                                                                                                                          <block type="logic_compare" id="w]5-ZMz=+sKj+[lyfEcV">
                                                                                                                            <field name="OP">LT</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id=":~!X@Da@mV3_%-nnt9|t">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="variables_get" id="]`k}*$U[x8T)D;SFt2*T">
                                                                                                                                <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <statement name="DO5">
                                                                                                                      <block type="variables_set" id="kE$KjD1sq`zo7N4XzO8W">
                                                                                                                        <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                        <value name="VALUE">
                                                                                                                          <block type="variables_get" id="0N-L^1LGavYXMSGto#0i">
                                                                                                                            <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                    <statement name="ELSE">
                                                                                                                      <block type="controls_if" id="h/k3;T$Ds?%`Dc2a]A(Y">
                                                                                                                        <value name="IF0">
                                                                                                                          <block type="logic_compare" id="s$$6hA]|wS^%v$azgbc(">
                                                                                                                            <field name="OP">GTE</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="D`R(6C9Whcox}UCLtHyk">
                                                                                                                                <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="variables_get" id="LJ?k%c5.9@^Zb@GY59s.">
                                                                                                                                <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <statement name="DO0">
                                                                                                                          <block type="variables_set" id="%`Qf}#6ll+buxb1RrfO(">
                                                                                                                            <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                            <value name="VALUE">
                                                                                                                              <block type="math_round" id="Aivr3_W]J?~H7PL-(Qn2">
                                                                                                                                <field name="OP">ROUNDDOWN</field>
                                                                                                                                <value name="NUM">
                                                                                                                                  <shadow type="math_number" id="2q.OIETW9F$f8*^m.pR7">
                                                                                                                                    <field name="NUM">3.1</field>
                                                                                                                                  </shadow>
                                                                                                                                  <block type="variables_get" id="hkymtbi%V;Ewsb]HY@Tv">
                                                                                                                                    <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                                  </block>
                                                                                                                                </value>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </statement>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                    <next>
                                                                                                                      <block type="controls_if" id=":xA_/$utkabK$dY]WA;.">
                                                                                                                        <value name="IF0">
                                                                                                                          <block type="logic_compare" id="gDbKvBq/8jNWZ$!Wgw06">
                                                                                                                            <field name="OP">NEQ</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="variables_get" id="$y7+$mq6[$4iP@HA;4(`">
                                                                                                                                <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="get_value" id="Kj[gA5EP!;[5lS238LJT">
                                                                                                                                <field name="ATTR">val</field>
                                                                                                                                <field name="OID">0_userdata.0.zendure.1600ACplus.properties.outputLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <statement name="DO0">
                                                                                                                          <block type="control" id="sY3aT9oP|V=)M,RY?8n3">
                                                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                                            <field name="OID">0_userdata.0.zendure.1600ACplus.control.auto_in_out_Limit</field>
                                                                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                                                                            <value name="VALUE">
                                                                                                                              <block type="variables_get" id="DVJGhR]|p#F92SS]O@}5">
                                                                                                                                <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <next>
                                                                                                                              <block type="variables_set" id="wu6sI?s@RYKT0EO)I?T,">
                                                                                                                                <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                                <value name="VALUE">
                                                                                                                                  <block type="variables_get" id="opGu^p^dmwOUCp|HvY(Z">
                                                                                                                                    <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                                  </block>
                                                                                                                                </value>
                                                                                                                              </block>
                                                                                                                            </next>
                                                                                                                          </block>
                                                                                                                        </statement>
                                                                                                                      </block>
                                                                                                                    </next>
                                                                                                                  </block>
                                                                                                                </next>
                                                                                                              </block>
                                                                                                            </next>
                                                                                                          </block>
                                                                                                        </statement>
                                                                                                        <statement name="ELSE">
                                                                                                          <block type="controls_if" id="M*u}`W8hfB51X2~XhP2=">
                                                                                                            <value name="IF0">
                                                                                                              <block type="logic_multi_or" id="[Byq|Pc)]dzKtE.,_]ua">
                                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                <value name="OR0">
                                                                                                                  <block type="logic_compare" id="g0fwE?h]64A[vz*{vDBf">
                                                                                                                    <field name="OP">EQ</field>
                                                                                                                    <value name="A">
                                                                                                                      <block type="variables_get" id="LMQfo^aZZ1!:Qn$Zg)[Q">
                                                                                                                        <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="B">
                                                                                                                      <block type="logic_boolean" id="hk4~(Oq,BcGk07:_TRQL">
                                                                                                                        <field name="BOOL">TRUE</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="OR1">
                                                                                                                  <block type="logic_compare" id="gH{YL=RD):.Xc1p}SES2">
                                                                                                                    <field name="OP">LTE</field>
                                                                                                                    <value name="A">
                                                                                                                      <block type="get_value" id="Xp-(zS;c@5moDZX*oidb">
                                                                                                                        <field name="ATTR">val</field>
                                                                                                                        <field name="OID">0_userdata.0.zendure.1600ACplus.properties.electricLevel</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="B">
                                                                                                                      <block type="get_value" id="N!c2`[Ha2.6/4$m#p7IL">
                                                                                                                        <field name="ATTR">val</field>
                                                                                                                        <field name="OID">0_userdata.0.zendure.1600ACplus.properties.minSoc</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <statement name="DO0">
                                                                                                              <block type="comment" id="jsF+AiW#j=IEKW))-/Z]">
                                                                                                                <field name="COMMENT">falls outputLimit nicht 0</field>
                                                                                                                <next>
                                                                                                                  <block type="controls_if" id="zdAF~Zi(zQu!xfbcgiZx">
                                                                                                                    <value name="IF0">
                                                                                                                      <block type="logic_compare" id="d5juG(gsQkg5X5`Fm}3*">
                                                                                                                        <field name="OP">NEQ</field>
                                                                                                                        <value name="A">
                                                                                                                          <block type="get_value" id="yw9NQ?TgGLT~uXu{*IuT">
                                                                                                                            <field name="ATTR">val</field>
                                                                                                                            <field name="OID">0_userdata.0.zendure.1600ACplus.properties.outputLimit</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="B">
                                                                                                                          <block type="math_number" id="XBf`):7^MV]8u6jEcg3q">
                                                                                                                            <field name="NUM">0</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <statement name="DO0">
                                                                                                                      <block type="control" id="U[Hl|(_Y4FBQXR7CtRX_">
                                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                                        <field name="OID">0_userdata.0.zendure.1600ACplus.control.outputLimit</field>
                                                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                                                        <value name="VALUE">
                                                                                                                          <block type="math_number" id="gBw(glQzU|-9xx=%4~R5">
                                                                                                                            <field name="NUM">0</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <next>
                                                                                                                          <block type="variables_set" id="EM*kUUw)$;Nwk]969aRX">
                                                                                                                            <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                            <value name="VALUE">
                                                                                                                              <block type="variables_get" id="e2gN_]V5p+W)G2ipaAhr">
                                                                                                                                <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </next>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                  </block>
                                                                                                                </next>
                                                                                                              </block>
                                                                                                            </statement>
                                                                                                          </block>
                                                                                                        </statement>
                                                                                                      </block>
                                                                                                    </next>
                                                                                                  </block>
                                                                                                </next>
                                                                                              </block>
                                                                                            </next>
                                                                                          </block>
                                                                                        </next>
                                                                                      </block>
                                                                                    </next>
                                                                                  </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>
                                  <block type="procedures_defcustomreturn" id="*[JBn(Fqq9m3!8LlvpAh" x="588" y="10913">
                                    <mutation statements="false"></mutation>
                                    <field name="NAME">getNowSec</field>
                                    <field name="SCRIPT">cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOw0K</field>
                                    <comment pinned="false" h="80" w="160">liefert aktuelle Sekunden</comment>
                                  </block>
                                </xml>
                                
                                maxclaudiM Offline
                                maxclaudiM Offline
                                maxclaudi
                                schrieb zuletzt editiert von
                                #381

                                Falls auf einen Datenpunkt getriggert wird, der JSON liefert z. B. Shelly Pro 3EM, dann muss der Wert für gridMeterValue natürlich extrahiert werden.

                                Beispiel Shelly Pro 3EM:

                                64cc5ed7-eb41-409a-84c4-d16e302b032b-image.jpeg

                                Beispiel-Blockly:

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                  <variables>
                                    <variable id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</variable>
                                  </variables>
                                  <block type="comment" id="bia-OdV((e``^uH.Q1b}" x="-512" y="588">
                                    <field name="COMMENT">Beispiel&amp;#10;gridMeterValue von Datenpunkt&amp;#10;Shelly Pro 3EM verwenden</field>
                                    <next>
                                      <block type="on_ext" id="1KU][$ifvW@Ue#^`,47#">
                                        <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="546O][1$JvDaG{d2Chp+">
                                            <field name="oid">ID auswählen</field>
                                          </shadow>
                                        </value>
                                        <statement name="STATEMENT">
                                          <block type="controls_if" id=")|ZkbL/^zn+w%rs8o!#4">
                                            <value name="IF0">
                                              <block type="logic_compare" id=".CxtNU#9|?9:,.JL@|oB">
                                                <field name="OP">NEQ</field>
                                                <value name="A">
                                                  <block type="get_attr" id=")%0ynekYQHb;?RRkz+$Q">
                                                    <value name="PATH">
                                                      <shadow type="text" id="d[Jo*+EZL07LymUsB~A]">
                                                        <field name="TEXT">params.em:0.total_act_power</field>
                                                      </shadow>
                                                    </value>
                                                    <value name="OBJECT">
                                                      <shadow type="get_object" id="-0z4Kc,^bhWc_ULuy2R%">
                                                        <field name="OID">Object ID</field>
                                                      </shadow>
                                                      <block type="convert_json2object" id="uf+YXQ-Fr$/++hm2-Rih">
                                                        <value name="VALUE">
                                                          <block type="on_source" id="vc]v`TpUrA7q0`3_DBA6">
                                                            <field name="ATTR">state.val</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="logic_null" id="!%1$]%5nAZo|[pz255[$"></block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="variables_set" id="k3{0sEJOom4M7tPY48Bq">
                                                <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                <value name="VALUE">
                                                  <block type="get_attr" id="m;$C$O.VS#IGbQn8~aIM">
                                                    <value name="PATH">
                                                      <shadow type="text" id="p^p=!NuU^brh=(YWhL{E">
                                                        <field name="TEXT">params.em:0.total_act_power</field>
                                                      </shadow>
                                                    </value>
                                                    <value name="OBJECT">
                                                      <shadow type="get_object" id="-0z4Kc,^bhWc_ULuy2R%">
                                                        <field name="OID">Object ID</field>
                                                      </shadow>
                                                      <block type="convert_json2object" id="tlvVJ;+mfdP:zFGKhVBu">
                                                        <value name="VALUE">
                                                          <block type="on_source" id="I1jwI1_*f{Op@S16}6@!">
                                                            <field name="ATTR">state.val</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                      </block>
                                    </next>
                                  </block>
                                </xml>
                                

                                Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                                1 Antwort Letzte Antwort
                                0
                                • maxclaudiM maxclaudi

                                  @Jockel_Bln sagte:
                                  @maxclaudi Ist das für dich in Ordnung, wenn wir hier weiter über das Skript reden...

                                  ist doch gut. Bei einem Update werde ich im ersten Post (und im laufenden Thread) wieder auf das eigentliche Steuerungs-Script verlinken.

                                  Edit: So bleibt alles beieinander und andere finden evtl. gleich was Nützliches für ihr eigenes Script.
                                  Vielleicht wird dadurch ja auch eine allround Basis oder zumindest eine Hilfe für Einsteiger geschaffen.

                                  @Jockel_Bln sagte:
                                  Das mit der Mindestdauer bekomme ich momentan noch nicht gebacken....
                                  Was eine Hysterese betrifft, muss ich mal sehen, ob mir da was schlaues einfällt, die Werte am Zähler springen ja reichlich hin und her.

                                  lass sie springen ;-)

                                  bin kein Freund von Timer und Timeouts, wenn sie nicht sein müssen.

                                  Hier ein Beispiel, wie man das einfach über die Systemzeit realisieren kann:

                                  a958eeef-cf4c-401f-8ee7-ee4beb17666c-image.jpeg


                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                    <variables>
                                      <variable id="xY{w8?Sp~0Jea0SewLzs">batteryLock</variable>
                                      <variable id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</variable>
                                      <variable id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</variable>
                                      <variable id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</variable>
                                      <variable id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</variable>
                                      <variable id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</variable>
                                      <variable id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</variable>
                                      <variable id="6jV)pWhw1z4,L)/zXmp@">nowSec</variable>
                                      <variable id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</variable>
                                      <variable id="!f%Ln*^txgvN{P19_n`B">NewLimit</variable>
                                    </variables>
                                    <block type="comment" id="B`~2Lup]No@[ab~vG0Fv" x="88" y="10738">
                                      <field name="COMMENT">batteryLock nur als Beispiel</field>
                                      <next>
                                        <block type="variables_set" id="DK?3qF6XQUkI+RaYng!,">
                                          <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="e/wU{-WQGok:mx9Vj:zT">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="comment" id="CjLEJvvem:j^rc|xQYIQ">
                                              <field name="COMMENT">max. Einspeisung: negativ W&amp;#10;max. Verbrauch/Bezug: positiv W</field>
                                              <next>
                                                <block type="variables_set" id="l1FQvOdlC:i?J$XdK:RZ">
                                                  <field name="VAR" id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</field>
                                                  <value name="VALUE">
                                                    <block type="math_number" id="EB9;e!]z6P/nk;moQvA(">
                                                      <field name="NUM">-20</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="variables_set" id="//Q0KB!yBPC2IfF`ky4K">
                                                      <field name="VAR" id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</field>
                                                      <value name="VALUE">
                                                        <block type="math_number" id="gtGa@*icFGlbmV]Any8f">
                                                          <field name="NUM">-5</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="comment" id="7$Bsvz@k(wNFYy~,{|9i">
                                                          <field name="COMMENT">Sekunden wie lange&amp;#10;outputLimit&amp;#10;gehalten werden soll</field>
                                                          <next>
                                                            <block type="variables_set" id=":Hxw7.yl%,)*0G@.SrK5">
                                                              <field name="VAR" id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</field>
                                                              <value name="VALUE">
                                                                <block type="math_number" id="UcYarz.]=Yc!)Zs+;nQf">
                                                                  <field name="NUM">30</field>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="variables_set" id="k2oe8wsrfMf6oIFe^|-6">
                                                                  <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                  <value name="VALUE">
                                                                    <block type="math_number" id="2A@!w^;vKVrUAn1=A?Dy">
                                                                      <field name="NUM">0</field>
                                                                    </block>
                                                                  </value>
                                                                  <next>
                                                                    <block type="comment" id="$a0*dJJf~721y76c*,#P">
                                                                      <field name="COMMENT">max. outputLimit</field>
                                                                      <next>
                                                                        <block type="variables_set" id=")na@nqSqVAzH1]6-QQ)]">
                                                                          <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                          <value name="VALUE">
                                                                            <block type="math_number" id="3BS=X#tit:R,9Gab^[Pb">
                                                                              <field name="NUM">800</field>
                                                                            </block>
                                                                          </value>
                                                                          <next>
                                                                            <block type="comment" id="NkKWo}e@M=jRzestwaNO">
                                                                              <field name="COMMENT">Trigger Stromzähler&amp;#10;alle 5 sek.</field>
                                                                              <next>
                                                                                <block type="on_ext" id="P$}#rr[k?RyM|3ryd$}Y">
                                                                                  <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="[ODzzI~E=p^s1Q?JCZ)D">
                                                                                      <field name="oid">ID auswählen</field>
                                                                                    </shadow>
                                                                                  </value>
                                                                                  <statement name="STATEMENT">
                                                                                    <block type="comment" id="4Q:SmVKFDh?q)=:x`:aN">
                                                                                      <field name="COMMENT">gridMeterValue&amp;#10;Einspeisung: negativ W&amp;#10;Verbrauch/Bezug: positiv W</field>
                                                                                      <next>
                                                                                        <block type="variables_set" id="%UJw9T^`i(MP(n6294wT">
                                                                                          <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                          <value name="VALUE">
                                                                                            <block type="on_source" id="=Yu5Z-+Gy[Vp:)3#;fu+">
                                                                                              <field name="ATTR">state.val</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <next>
                                                                                            <block type="comment" id="eb)%`~[NQkLRT,m`6dbu">
                                                                                              <field name="COMMENT">aktuelle Sekunden</field>
                                                                                              <next>
                                                                                                <block type="variables_set" id="IhJ54dcjRh,ck!GD=[ig">
                                                                                                  <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                  <value name="VALUE">
                                                                                                    <block type="procedures_callcustomreturn" id="AuU:+}b=_Hx4id)5dci]">
                                                                                                      <mutation name="getNowSec"></mutation>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <next>
                                                                                                    <block type="comment" id="Re}zez)lzFB)hQ+fgHAU">
                                                                                                      <field name="COMMENT">Logik- DPL</field>
                                                                                                      <next>
                                                                                                        <block type="controls_if" id="[2y44(h8!PsDDB~wlN-.">
                                                                                                          <mutation else="1"></mutation>
                                                                                                          <value name="IF0">
                                                                                                            <block type="logic_multi_and" id="?N`S2u#=+btllD!K,AU(">
                                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation>
                                                                                                              <value name="AND0">
                                                                                                                <block type="logic_compare" id="S6D(BrMSZT0ZrpgEbiNT">
                                                                                                                  <field name="OP">EQ</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="7j=nrChBIo]/Yz#^FVUy">
                                                                                                                      <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="logic_boolean" id="C|dIdqh7(Jz!@Oho}6}$">
                                                                                                                      <field name="BOOL">FALSE</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="AND1">
                                                                                                                <block type="logic_compare" id="|G*r@{Qv_|UC*N9iued)">
                                                                                                                  <field name="OP">GT</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="get_value" id="Gpdu1~].Q0DOjwN];#w1">
                                                                                                                      <field name="ATTR">val</field>
                                                                                                                      <field name="OID">0_userdata.0.zendure.1600ACplus.properties.electricLevel</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="get_value" id="nSRZO:R~W/TtmwE^!og{">
                                                                                                                      <field name="ATTR">val</field>
                                                                                                                      <field name="OID">0_userdata.0.zendure.1600ACplus.properties.minSoc</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="AND2">
                                                                                                                <block type="logic_multi_or" id="*pR$P6VuS$ej|q($?Jzx">
                                                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                  <value name="OR0">
                                                                                                                    <block type="logic_compare" id="`Gc0xr[]d0!2_!:#WIBb">
                                                                                                                      <field name="OP">GT</field>
                                                                                                                      <value name="A">
                                                                                                                        <block type="variables_get" id="7@4uHMmLjUdpHS{C22Zs">
                                                                                                                          <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <block type="variables_get" id="yJIV6/[)R?n:kG*L7.9Q">
                                                                                                                          <field name="VAR" id="L4Kl4HR.8?-e%/|X+3#^">maximalerVerbrauch</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="OR1">
                                                                                                                    <block type="logic_compare" id="ckZ*U:oi|arMmQ850.%a">
                                                                                                                      <field name="OP">LTE</field>
                                                                                                                      <value name="A">
                                                                                                                        <block type="variables_get" id="HI9^GqB0[B.Zm/w27L!C">
                                                                                                                          <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <block type="variables_get" id=".amyEk_$i)^(w7$gewot">
                                                                                                                          <field name="VAR" id="g$a:H%7_Jpio;o5{xv^?">maximaleEinspeisung</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="AND3">
                                                                                                                <block type="logic_compare" id="$iNq5:qW.#}l2]mh4hF?">
                                                                                                                  <field name="OP">GTE</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="math_arithmetic" id="^q7uJ0}p5C3-{1[yzQ5F">
                                                                                                                      <field name="OP">MINUS</field>
                                                                                                                      <value name="A">
                                                                                                                        <shadow type="math_number" id="HL4/1ObSbLA6gQ*^HLYH">
                                                                                                                          <field name="NUM">1</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="variables_get" id=";`3)VMTB)}_KxO{NxJaT">
                                                                                                                          <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <shadow type="math_number" id="{Yl2NFYd7K:|7i0HLGH9">
                                                                                                                          <field name="NUM">1</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="variables_get" id="7]2u.SWTW6?^:N/?/8nf">
                                                                                                                          <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="variables_get" id="KMFd8yAexy7%iYWk~L`A">
                                                                                                                      <field name="VAR" id="{!,E;kT^]ZSj55z[QQL4">intervalSec_OutputLimit</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <statement name="DO0">
                                                                                                            <block type="controls_if" id="IZLF52G11ONkAv|Sga,f">
                                                                                                              <value name="IF0">
                                                                                                                <block type="logic_compare" id="?n(rW+Oa5*tJ]Jdamz*V">
                                                                                                                  <field name="OP">LT</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="QvK}D|H0S*iWK#Q[wvgg">
                                                                                                                      <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="math_number" id="w=$}9oCSuIs6*=uVv+03">
                                                                                                                      <field name="NUM">0</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <statement name="DO0">
                                                                                                                <block type="variables_set" id="u^o,~NZ#.CJg`9X?GOgc">
                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                  <value name="VALUE">
                                                                                                                    <block type="math_round" id="Rd8:}^b90:)]LTi:]DB?">
                                                                                                                      <field name="OP">ROUNDDOWN</field>
                                                                                                                      <value name="NUM">
                                                                                                                        <shadow type="math_number" id=":`0Y]j3lps51~0`EvC{n">
                                                                                                                          <field name="NUM">3.1</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="math_arithmetic" id="@m,$e$k{2~e1x?n=LlHv">
                                                                                                                          <field name="OP">MINUS</field>
                                                                                                                          <value name="A">
                                                                                                                            <shadow type="math_number" id="h85QZeI7p9D(:4)sfYF%">
                                                                                                                              <field name="NUM">1</field>
                                                                                                                            </shadow>
                                                                                                                            <block type="get_value" id="W=~+~})L~~UIJ;p_Y-3)">
                                                                                                                              <field name="ATTR">val</field>
                                                                                                                              <field name="OID">0_userdata.0.Datenpunkte.zendureSolarFlow.HUB2000.properties.outputLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <shadow type="math_number" id="l|2B%;vkM[`U4%;n3|`t">
                                                                                                                              <field name="NUM">1</field>
                                                                                                                            </shadow>
                                                                                                                            <block type="math_arithmetic" id="3P/l}|YyfrYV-$Eq{OkL">
                                                                                                                              <field name="OP">MULTIPLY</field>
                                                                                                                              <value name="A">
                                                                                                                                <shadow type="math_number" id="kH$OVvVc;6#@E[n@6cPx">
                                                                                                                                  <field name="NUM">1</field>
                                                                                                                                </shadow>
                                                                                                                                <block type="variables_get" id="8ma`kdUu~u0Vq.Gvy?+.">
                                                                                                                                  <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <shadow type="math_number" id="-3_2YxLm_H#2y(+RY|sn">
                                                                                                                                  <field name="NUM">1</field>
                                                                                                                                </shadow>
                                                                                                                                <block type="math_number" id="?z@zV#c1kJpQ8X||SP+K">
                                                                                                                                  <field name="NUM">-1</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </statement>
                                                                                                              <next>
                                                                                                                <block type="controls_if" id="+L:7:q{.6A{o!^xc*uG#">
                                                                                                                  <value name="IF0">
                                                                                                                    <block type="logic_compare" id="%{$[A{#7Yqnmh0sD($;^">
                                                                                                                      <field name="OP">GTE</field>
                                                                                                                      <value name="A">
                                                                                                                        <block type="variables_get" id="$0bZ]4Lo)Y97+gWR!{fP">
                                                                                                                          <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <block type="math_number" id="AS([9Q4+Iwu(z_#MIVzn">
                                                                                                                          <field name="NUM">0</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <statement name="DO0">
                                                                                                                    <block type="variables_set" id="kmtV~]xVU/U2~mO?a**3">
                                                                                                                      <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_round" id="YwZ[g2yR,O101n3!!fN7">
                                                                                                                          <field name="OP">ROUNDUP</field>
                                                                                                                          <value name="NUM">
                                                                                                                            <shadow type="math_number" id="RTIrDtXuT+g9p)~aUdfP">
                                                                                                                              <field name="NUM">3.1</field>
                                                                                                                            </shadow>
                                                                                                                            <block type="math_arithmetic" id="_2qIwS1+tX^xYaV`6S|,">
                                                                                                                              <field name="OP">ADD</field>
                                                                                                                              <value name="A">
                                                                                                                                <shadow type="math_number" id="t*o!./qY(-z]IyH3fDzi">
                                                                                                                                  <field name="NUM">1</field>
                                                                                                                                </shadow>
                                                                                                                                <block type="get_value" id="ZsV.X[y0l|a/LE%[Lu/c">
                                                                                                                                  <field name="ATTR">val</field>
                                                                                                                                  <field name="OID">0_userdata.0.Datenpunkte.zendureSolarFlow.HUB2000.properties.outputLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <shadow type="math_number" id="JFF^]=-=xFh@.Bkyx_(/">
                                                                                                                                  <field name="NUM">1</field>
                                                                                                                                </shadow>
                                                                                                                                <block type="variables_get" id="1R{0Aj@MY!g0Yze6CX_h">
                                                                                                                                  <field name="VAR" id="|j(8@5}5qB63}(}(g4IM">gridMeterValue</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </statement>
                                                                                                                  <next>
                                                                                                                    <block type="controls_if" id="g@(vG]*OUy2JLf^=m6l+">
                                                                                                                      <mutation elseif="5" else="1"></mutation>
                                                                                                                      <value name="IF0">
                                                                                                                        <block type="logic_compare" id=".na%l!e0oSW!iK=o2G4!">
                                                                                                                          <field name="OP">LTE</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="variables_get" id="a^:Ag8(3$$D34UA02Tf$">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="jei?/sY|v-fpFNtU#[i`">
                                                                                                                              <field name="NUM">0</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO0">
                                                                                                                        <block type="variables_set" id="ue1q+ExXrlL~]n9#$be2">
                                                                                                                          <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_number" id="V{HbiRMuhL.cqpReJl_4">
                                                                                                                              <field name="NUM">0</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                      <value name="IF1">
                                                                                                                        <block type="logic_multi_and" id="M{Ii3sf2k1B4K%$4h]?q">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                          <value name="AND0">
                                                                                                                            <block type="logic_compare" id="Ml9{!P#F*ihd_f3lfhaO">
                                                                                                                              <field name="OP">GT</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="BqSelKS67-|JjO{2{67^">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="`L0^4z`.aBIT)Qx:./X4">
                                                                                                                                  <field name="NUM">0</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="AND1">
                                                                                                                            <block type="logic_compare" id="Lg5w+8!XEN|N[RAaVM:W">
                                                                                                                              <field name="OP">LTE</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="C)ABAd]#v|iE26-O+Od~">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="+vER?,t9_GOUhX@))1Uj">
                                                                                                                                  <field name="NUM">30</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO1">
                                                                                                                        <block type="variables_set" id="(,$CxCnJa.{dJ@EGA}*H">
                                                                                                                          <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_number" id="5]k`!yHNVUN05IQPoASi">
                                                                                                                              <field name="NUM">30</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                      <value name="IF2">
                                                                                                                        <block type="logic_multi_and" id="%|zlZsEgVwAFj(A[5N:_">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                          <value name="AND0">
                                                                                                                            <block type="logic_compare" id="ye2n/~_wxvV0WO:Kf8[4">
                                                                                                                              <field name="OP">GT</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="WS4FHhpB!/9!_NmTDYX*">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="TSpYTslU+[r{fuPk4b+p">
                                                                                                                                  <field name="NUM">30</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="AND1">
                                                                                                                            <block type="logic_compare" id="_)ptql`crZGDydxtq;UI">
                                                                                                                              <field name="OP">LTE</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="VI.Zu*B*Rus[,xuF{:c:">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="jH}z]*8WV5dR{Gi9_b(7">
                                                                                                                                  <field name="NUM">60</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO2">
                                                                                                                        <block type="variables_set" id="Vq:)#pNoH?sRu2EP41Vg">
                                                                                                                          <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_number" id=";cfhl|ObEP$*s8}a5`.7">
                                                                                                                              <field name="NUM">60</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                      <value name="IF3">
                                                                                                                        <block type="logic_multi_and" id="3,m|@{YUB,%:HgF(n`^-">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                          <value name="AND0">
                                                                                                                            <block type="logic_compare" id="(imyvzh%bl$g(?!9M-~7">
                                                                                                                              <field name="OP">GT</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="NH53D`G|wzRakp?4QaTC">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="*pg%r=mBnOLDKRRz#CD|">
                                                                                                                                  <field name="NUM">60</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="AND1">
                                                                                                                            <block type="logic_compare" id="F6LGV[Bbts,F8HwB)?vj">
                                                                                                                              <field name="OP">LTE</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="#*MX3vPm4S5EkH=a2~Fi">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="V;b0Qla!ngk+UO03N.qb">
                                                                                                                                  <field name="NUM">90</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO3">
                                                                                                                        <block type="variables_set" id=",##sr}kLyc___`8-D2qS">
                                                                                                                          <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_number" id="~N*4e!@@kmJ4oB8(A:Bf">
                                                                                                                              <field name="NUM">90</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                      <value name="IF4">
                                                                                                                        <block type="logic_multi_and" id="ck=PtrH@1n6xT_Uy534_">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                          <value name="AND0">
                                                                                                                            <block type="logic_compare" id="aQ)k!!mb30BmlEPT|!wn">
                                                                                                                              <field name="OP">GT</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="geE(HzW0#vsil%#Yi9@J">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="2DFZ,,SaN.=f.u!O+gM_">
                                                                                                                                  <field name="NUM">90</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="AND1">
                                                                                                                            <block type="logic_compare" id="R-#e}^%,TZ=^(HHGg)3#">
                                                                                                                              <field name="OP">LTE</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="J!*3(X{=h%13jR7,{L7W">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="}ci)8/U@BS5ZG{`}:/Gd">
                                                                                                                                  <field name="NUM">100</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO4">
                                                                                                                        <block type="variables_set" id="xMaB1zs]gPmR;-QhiqTm">
                                                                                                                          <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_number" id="/xtk;Wn4;VC/S[gm.*5i">
                                                                                                                              <field name="NUM">100</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                      <value name="IF5">
                                                                                                                        <block type="logic_multi_and" id="/H?Jk#INlFRS26^o8Qh*">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                          <value name="AND0">
                                                                                                                            <block type="logic_compare" id="EnPfaM|-b}%bx89sQq(D">
                                                                                                                              <field name="OP">GT</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="t]5w`blFMx~dRCXpS82Y">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="math_number" id="a4H:ynOe^z?HzI|*#6M%">
                                                                                                                                  <field name="NUM">100</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="AND1">
                                                                                                                            <block type="logic_compare" id="w]5-ZMz=+sKj+[lyfEcV">
                                                                                                                              <field name="OP">LT</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id=":~!X@Da@mV3_%-nnt9|t">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="variables_get" id="]`k}*$U[x8T)D;SFt2*T">
                                                                                                                                  <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO5">
                                                                                                                        <block type="variables_set" id="kE$KjD1sq`zo7N4XzO8W">
                                                                                                                          <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="variables_get" id="0N-L^1LGavYXMSGto#0i">
                                                                                                                              <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                      <statement name="ELSE">
                                                                                                                        <block type="controls_if" id="h/k3;T$Ds?%`Dc2a]A(Y">
                                                                                                                          <value name="IF0">
                                                                                                                            <block type="logic_compare" id="s$$6hA]|wS^%v$azgbc(">
                                                                                                                              <field name="OP">GTE</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="D`R(6C9Whcox}UCLtHyk">
                                                                                                                                  <field name="VAR" id="Ow]uuXe;Gu%,E$/#xi|l">todoLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="variables_get" id="LJ?k%c5.9@^Zb@GY59s.">
                                                                                                                                  <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <statement name="DO0">
                                                                                                                            <block type="variables_set" id="%`Qf}#6ll+buxb1RrfO(">
                                                                                                                              <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                              <value name="VALUE">
                                                                                                                                <block type="math_round" id="Aivr3_W]J?~H7PL-(Qn2">
                                                                                                                                  <field name="OP">ROUNDDOWN</field>
                                                                                                                                  <value name="NUM">
                                                                                                                                    <shadow type="math_number" id="2q.OIETW9F$f8*^m.pR7">
                                                                                                                                      <field name="NUM">3.1</field>
                                                                                                                                    </shadow>
                                                                                                                                    <block type="variables_get" id="hkymtbi%V;Ewsb]HY@Tv">
                                                                                                                                      <field name="VAR" id="5`a%+HAVV:gN)b}Sv`H,">maxOutputValue</field>
                                                                                                                                    </block>
                                                                                                                                  </value>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </statement>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                      <next>
                                                                                                                        <block type="controls_if" id=":xA_/$utkabK$dY]WA;.">
                                                                                                                          <value name="IF0">
                                                                                                                            <block type="logic_compare" id="gDbKvBq/8jNWZ$!Wgw06">
                                                                                                                              <field name="OP">NEQ</field>
                                                                                                                              <value name="A">
                                                                                                                                <block type="variables_get" id="$y7+$mq6[$4iP@HA;4(`">
                                                                                                                                  <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <value name="B">
                                                                                                                                <block type="get_value" id="Kj[gA5EP!;[5lS238LJT">
                                                                                                                                  <field name="ATTR">val</field>
                                                                                                                                  <field name="OID">0_userdata.0.zendure.1600ACplus.properties.outputLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <statement name="DO0">
                                                                                                                            <block type="control" id="sY3aT9oP|V=)M,RY?8n3">
                                                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                                              <field name="OID">0_userdata.0.zendure.1600ACplus.control.auto_in_out_Limit</field>
                                                                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                                                                              <value name="VALUE">
                                                                                                                                <block type="variables_get" id="DVJGhR]|p#F92SS]O@}5">
                                                                                                                                  <field name="VAR" id="!f%Ln*^txgvN{P19_n`B">NewLimit</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                              <next>
                                                                                                                                <block type="variables_set" id="wu6sI?s@RYKT0EO)I?T,">
                                                                                                                                  <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                                  <value name="VALUE">
                                                                                                                                    <block type="variables_get" id="opGu^p^dmwOUCp|HvY(Z">
                                                                                                                                      <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                                    </block>
                                                                                                                                  </value>
                                                                                                                                </block>
                                                                                                                              </next>
                                                                                                                            </block>
                                                                                                                          </statement>
                                                                                                                        </block>
                                                                                                                      </next>
                                                                                                                    </block>
                                                                                                                  </next>
                                                                                                                </block>
                                                                                                              </next>
                                                                                                            </block>
                                                                                                          </statement>
                                                                                                          <statement name="ELSE">
                                                                                                            <block type="controls_if" id="M*u}`W8hfB51X2~XhP2=">
                                                                                                              <value name="IF0">
                                                                                                                <block type="logic_multi_or" id="[Byq|Pc)]dzKtE.,_]ua">
                                                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                                                  <value name="OR0">
                                                                                                                    <block type="logic_compare" id="g0fwE?h]64A[vz*{vDBf">
                                                                                                                      <field name="OP">EQ</field>
                                                                                                                      <value name="A">
                                                                                                                        <block type="variables_get" id="LMQfo^aZZ1!:Qn$Zg)[Q">
                                                                                                                          <field name="VAR" id="xY{w8?Sp~0Jea0SewLzs">batteryLock</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <block type="logic_boolean" id="hk4~(Oq,BcGk07:_TRQL">
                                                                                                                          <field name="BOOL">TRUE</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="OR1">
                                                                                                                    <block type="logic_compare" id="gH{YL=RD):.Xc1p}SES2">
                                                                                                                      <field name="OP">LTE</field>
                                                                                                                      <value name="A">
                                                                                                                        <block type="get_value" id="Xp-(zS;c@5moDZX*oidb">
                                                                                                                          <field name="ATTR">val</field>
                                                                                                                          <field name="OID">0_userdata.0.zendure.1600ACplus.properties.electricLevel</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="B">
                                                                                                                        <block type="get_value" id="N!c2`[Ha2.6/4$m#p7IL">
                                                                                                                          <field name="ATTR">val</field>
                                                                                                                          <field name="OID">0_userdata.0.zendure.1600ACplus.properties.minSoc</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <statement name="DO0">
                                                                                                                <block type="comment" id="jsF+AiW#j=IEKW))-/Z]">
                                                                                                                  <field name="COMMENT">falls outputLimit nicht 0</field>
                                                                                                                  <next>
                                                                                                                    <block type="controls_if" id="zdAF~Zi(zQu!xfbcgiZx">
                                                                                                                      <value name="IF0">
                                                                                                                        <block type="logic_compare" id="d5juG(gsQkg5X5`Fm}3*">
                                                                                                                          <field name="OP">NEQ</field>
                                                                                                                          <value name="A">
                                                                                                                            <block type="get_value" id="yw9NQ?TgGLT~uXu{*IuT">
                                                                                                                              <field name="ATTR">val</field>
                                                                                                                              <field name="OID">0_userdata.0.zendure.1600ACplus.properties.outputLimit</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="B">
                                                                                                                            <block type="math_number" id="XBf`):7^MV]8u6jEcg3q">
                                                                                                                              <field name="NUM">0</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <statement name="DO0">
                                                                                                                        <block type="control" id="U[Hl|(_Y4FBQXR7CtRX_">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                                          <field name="OID">0_userdata.0.zendure.1600ACplus.control.outputLimit</field>
                                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_number" id="gBw(glQzU|-9xx=%4~R5">
                                                                                                                              <field name="NUM">0</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <next>
                                                                                                                            <block type="variables_set" id="EM*kUUw)$;Nwk]969aRX">
                                                                                                                              <field name="VAR" id="M-7vYXCKRFdMvUW8k03v">lastSec_outputLimit</field>
                                                                                                                              <value name="VALUE">
                                                                                                                                <block type="variables_get" id="e2gN_]V5p+W)G2ipaAhr">
                                                                                                                                  <field name="VAR" id="6jV)pWhw1z4,L)/zXmp@">nowSec</field>
                                                                                                                                </block>
                                                                                                                              </value>
                                                                                                                            </block>
                                                                                                                          </next>
                                                                                                                        </block>
                                                                                                                      </statement>
                                                                                                                    </block>
                                                                                                                  </next>
                                                                                                                </block>
                                                                                                              </statement>
                                                                                                            </block>
                                                                                                          </statement>
                                                                                                        </block>
                                                                                                      </next>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </next>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </next>
                                                                                    </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>
                                    <block type="procedures_defcustomreturn" id="*[JBn(Fqq9m3!8LlvpAh" x="588" y="10913">
                                      <mutation statements="false"></mutation>
                                      <field name="NAME">getNowSec</field>
                                      <field name="SCRIPT">cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOw0K</field>
                                      <comment pinned="false" h="80" w="160">liefert aktuelle Sekunden</comment>
                                    </block>
                                  </xml>
                                  
                                  J Offline
                                  J Offline
                                  Jockel_Bln
                                  schrieb zuletzt editiert von
                                  #382

                                  @maxclaudi sagte:

                                  Hier ein Beispiel, wie man das einfach über die Systemzeit realisieren kann:

                                  Danke, das muss ich mir erstmal langsam auf der Zunge zergehen lassen und versuchen zu verstehen.
                                  Da werde ich wohl erst richtig zu kommen, wenn meine Regierung nächste Woche wieder auf Arbeit ist. Wenn ich das am Wochenende mache, gibt es sicher Mecker.

                                  @maxclaudi sagte:

                                  Falls auf einen Datenpunkt getriggert wird, der JSON liefert ...

                                  Ich habe zwar einen IR Lesekopf, dessen Daten alle einzeln im iobroker landen, aber ich werde mir das mal speichern für eventuell zukünftige Fälle.

                                  LG und schönes WE
                                  Jörg

                                  maxclaudiM 1 Antwort Letzte Antwort
                                  0
                                  • J Jockel_Bln

                                    @maxclaudi sagte:

                                    Hier ein Beispiel, wie man das einfach über die Systemzeit realisieren kann:

                                    Danke, das muss ich mir erstmal langsam auf der Zunge zergehen lassen und versuchen zu verstehen.
                                    Da werde ich wohl erst richtig zu kommen, wenn meine Regierung nächste Woche wieder auf Arbeit ist. Wenn ich das am Wochenende mache, gibt es sicher Mecker.

                                    @maxclaudi sagte:

                                    Falls auf einen Datenpunkt getriggert wird, der JSON liefert ...

                                    Ich habe zwar einen IR Lesekopf, dessen Daten alle einzeln im iobroker landen, aber ich werde mir das mal speichern für eventuell zukünftige Fälle.

                                    LG und schönes WE
                                    Jörg

                                    maxclaudiM Offline
                                    maxclaudiM Offline
                                    maxclaudi
                                    schrieb zuletzt editiert von maxclaudi
                                    #383

                                    @Jockel_Bln sagte:
                                    versuchen zu verstehen.

                                    Verstehst Du schon, da bin ich mir sicher :-)

                                    In Variable nowSec wird die aktuelle Systemzeit in Sekunden gesetzt.

                                    intervalSec_OutputLimit = 30; sind die Sekunden, die mindestens vergehen müssen.

                                    lastSec_outputLimit wird nur bei Skriptstart (außerhalb des Triggers) einmalig mit 0 initialisiert.

                                    Der Vergleich:
                                    Falls nowSec (aktuelle Zeit in Sek.) minus lastSec_outputLimit (bei Start: 0) >= intervalSec_OutputLimit (30 Sek.) ist, dann mach weiter.

                                    Zum Startzeitpunkt ist das sofort der Fall, da der hohe Wert der aktuellen Systemzeit minus 0 natürlich immer größer als 30 ist.

                                    Wenn die Bedingung erfüllt ist und die Regelung durchläuft, wird am Schluss:
                                    lastSec_outputLimit auf die aktuelle Zeit (nowSec) gesetzt.

                                    Bei weiteren Triggern und Zähler-Abfragen passiert also so lange überhaupt nichts, bis die Bedingung wieder erfüllt ist:

                                    aktuelle Zeit (nowSec) minus alte Zeit (lastSec_outputLimit) > 30 Sek. (intervalSec_OutputLimit)

                                    Erst dann geht es weiter, das Limit wird angepasst, lastSec_outputLimit wird wieder auf die aktuelle Systemzeit gesetzt und das Spiel beginnt von vorne.

                                    Ich habe zwar einen IR Lesekopf, dessen Daten alle einzeln im iobroker landen...

                                    ja, ich auch. UART-Lesekopf Tasmota (wt32-eth01 LAN)

                                    LG und schönes WE

                                    wünsche ich Dir auch.

                                    Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                                    1 Antwort Letzte Antwort
                                    0
                                    • Murphy 0M Online
                                      Murphy 0M Online
                                      Murphy 0
                                      schrieb zuletzt editiert von
                                      #384

                                      @jockel_bln
                                      nach ausgiebigen Tests steuere ich meinen Hyper2000 per Blockly im 20 Sekunden Abstand
                                      und einer Hysterese mit 30 Watt. Also Änderungen nur wenn mehr oder weniger 30 Watt anstehen.

                                      Den Versuch mit einer Liste und Mittelwert habe ich auch gemacht. Hat für mich keinen Vorteil gebracht. Die Regelung war dann zu träge.

                                      Tagsüber ist mein Zielwert -30 Watt, also einspeisen und Nachts 0 Watt.

                                      Die Lade- und Entladegrenze bestimme ich nach Zellspannung, nicht nach SOC.

                                      So sieht meine Regelung mit diesen Werten aus. War ein Tag mit viel Sonne, wenig Wolken.

                                      IMG_4059.png

                                      1 Antwort Letzte Antwort
                                      0

                                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                      Registrieren Anmelden
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      197

                                      Online

                                      33.0k

                                      Benutzer

                                      83.3k

                                      Themen

                                      1.3m

                                      Beiträge
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2026
                                      logo
                                      • Anmelden

                                      • Du hast noch kein Konto? Registrieren

                                      • Anmelden oder registrieren, um zu suchen
                                      • Erster Beitrag
                                        Letzter Beitrag
                                      0
                                      • Home
                                      • Aktuell
                                      • Tags
                                      • Ungelesen 0
                                      • Kategorien
                                      • Unreplied
                                      • Beliebt
                                      • GitHub
                                      • Docu
                                      • Hilfe