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
    8
    1
    560

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    15
    1
    2.8k

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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
374 Beiträge 20 Kommentatoren 32.3k Aufrufe 18 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.
  • D Daniel 8

    @maxclaudi

    Vielen Dank für die Erklärung.

    Es gibt ja in der App eine Funktion wo man zumindest die Kalibrierungszeit einstellen kann. Habe es noch nie getestet. Somit ist mir auch nicht klar, ob dann mit dc (Pv Leistung) oder mit netzstrom kalibriert wird.

    Screenshot_20260623_083218_Zendure.jpg

    R Offline
    R Offline
    Rico Sander
    schrieb am zuletzt editiert von
    #365

    @Daniel-8 sagte:

    @maxclaudi

    Vielen Dank für die Erklärung.

    Es gibt ja in der App eine Funktion wo man zumindest die Kalibrierungszeit einstellen kann. Habe es noch nie getestet. Somit ist mir auch nicht klar, ob dann mit dc (Pv Leistung) oder mit netzstrom kalibriert wird.

    Screenshot_20260623_083218_Zendure.jpg

    Moin,

    das wird die Funktion sein, die Anfang Juni vom Support in einer Mail angekündigt wurde.
    Zitat Support:

    Gute Neuigkeiten: Unsere automatische Kalibrierungsfunktion steht kurz vor der Veröffentlichung. Sie können dann für Ihre Batterie Start- und Endzeit sowie die Lade-/Entladeleistung festlegen, und das System führt die Kalibrierung innerhalb des gewählten Zeitraums automatisch durch. Das wird den bisherigen Aufwand erheblich reduzieren.
    

    @maxclaudi

    Danke für Rückmeldung, dann werde auch ich vorerst auf das Update verzichten.
    Einen schönen Tag Euch da draußen...

    Wenns nicht geht, wie man will
    - muss mans tun, wie man kann.
    maxclaudiM 1 Antwort Letzte Antwort
    1
    • R Rico Sander

      @Daniel-8 sagte:

      @maxclaudi

      Vielen Dank für die Erklärung.

      Es gibt ja in der App eine Funktion wo man zumindest die Kalibrierungszeit einstellen kann. Habe es noch nie getestet. Somit ist mir auch nicht klar, ob dann mit dc (Pv Leistung) oder mit netzstrom kalibriert wird.

      Screenshot_20260623_083218_Zendure.jpg

      Moin,

      das wird die Funktion sein, die Anfang Juni vom Support in einer Mail angekündigt wurde.
      Zitat Support:

      Gute Neuigkeiten: Unsere automatische Kalibrierungsfunktion steht kurz vor der Veröffentlichung. Sie können dann für Ihre Batterie Start- und Endzeit sowie die Lade-/Entladeleistung festlegen, und das System führt die Kalibrierung innerhalb des gewählten Zeitraums automatisch durch. Das wird den bisherigen Aufwand erheblich reduzieren.
      

      @maxclaudi

      Danke für Rückmeldung, dann werde auch ich vorerst auf das Update verzichten.
      Einen schönen Tag Euch da draußen...

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

      @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.

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

      D 1 Antwort Letzte Antwort
      0
      • 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 Online
        D Online
        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 Online
                J Online
                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 1 Antwort 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 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 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

                      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

                      403

                      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