Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] Problem mit Blockly

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Problem mit Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • wendy2702
      wendy2702 last edited by wendy2702

      Hi,

      habe vor einiger Zeit mit Hilfe des Forums dieses Blockly hier zusammengebaut.

      Funktion: Bei Einspeisung >4200 wird ein DP auf True gesetzt. Bitte nicht daran stören das der 3800 im Namen stehen hat. Ich muss den genauen Wert noch ermitteln.
      Bei Bezug > 250 soll nach Zeit X der DP wieder auf False gesetzt werden.

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="xC#}zF{DGcD~0.rz7r^]">Timer1_run</variable>
         <variable type="timeout" id="Timer1">Timer1</variable>
       </variables>
       <block type="control" id="4P7IuvJx_AE![7.*gF3O" x="-537" y="-237">
         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
         <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
         <field name="WITH_DELAY">FALSE</field>
         <value name="VALUE">
           <block type="logic_boolean" id="RCK/E@,1N/|NY+h?xe`u">
             <field name="BOOL">FALSE</field>
           </block>
         </value>
       </block>
       <block type="comment" id="Pdn|@PrS^+9*o=ZdQj{*" x="-537" y="-162">
         <field name="COMMENT">Wirkenergie Einspeisung</field>
         <next>
           <block type="on_ext" id="+CU7DBqPN-:BXdUoO+nm">
             <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="-dyEvB_T{Oif?o=FpqC8">
                 <field name="oid">javascript.0.PV_Anlage.Wirkenergie_Einspeisung</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="SX;8~,KESeTeG1|YOp2Y">
                 <value name="IF0">
                   <block type="logic_compare" id="X1GBVZJUSiQ1+kwYIL7|">
                     <field name="OP">GT</field>
                     <value name="A">
                       <block type="get_value" id="jo;xV~{.#wuFyQ@a;]K}">
                         <field name="ATTR">val</field>
                         <field name="OID">javascript.0.PV_Anlage.Wirkenergie_Einspeisung</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="]zzMuR/u,LkTKt33op,6">
                         <field name="NUM">4200</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="comment" id="W:jzdqtDNE9|(18JHD.o">
                     <field name="COMMENT">Falls der Timer läuft, beenden</field>
                     <next>
                       <block type="controls_if" id="6~lRA:,gcbS[x941x3Yx">
                         <value name="IF0">
                           <block type="logic_compare" id="(tkuXUrSAQocOrWxk,`6">
                             <field name="OP">EQ</field>
                             <value name="A">
                               <block type="variables_get" id="Xc[^=pwxK9x;7bV2)]cP">
                                 <field name="VAR" id="xC#}zF{DGcD~0.rz7r^]">Timer1_run</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="logic_boolean" id="~P++Mho6|S91VmcjLGX?">
                                 <field name="BOOL">TRUE</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="procedures_callnoreturn" id="#i3GRw:LIS!cZ,8W|3E/">
                             <mutation name="Timer1_aus"></mutation>
                           </block>
                         </statement>
                         <next>
                           <block type="control" id="Y(U!+BPt*#)`3#%QjKJq">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="u@Go9Jx~f.Tv6wP`8VNT">
                                 <field name="BOOL">TRUE</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
         </next>
       </block>
       <block type="procedures_defnoreturn" id="jM#/}NWC)/Xl!5!X:-i5" x="88" y="-162">
         <field name="NAME">Timer1_an</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         <statement name="STACK">
           <block type="comment" id="+O_0?%g{8|^~)DD{[!5c">
             <field name="COMMENT">Nicht unbedingt notwendig</field>
             <next>
               <block type="comment" id="f@yv;WtL5K.AdV#;rCH)">
                 <field name="COMMENT">aber zur Sicherheit vorher stoppen</field>
                 <next>
                   <block type="procedures_callnoreturn" id="7@bc2(n^yEH^FaKijNjZ">
                     <mutation name="Timer1_aus"></mutation>
                     <next>
                       <block type="comment" id="9aA!UODt,[nEuh60`Kor">
                         <field name="COMMENT">Hier Timer starten</field>
                         <next>
                           <block type="variables_set" id="YgRB/FGWzTidj;*^QGOb">
                             <field name="VAR" id="xC#}zF{DGcD~0.rz7r^]">Timer1_run</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="L~z?1V_DJ1^/05/P5IW=">
                                 <field name="BOOL">TRUE</field>
                               </block>
                             </value>
                             <next>
                               <block type="timeouts_settimeout" id="Gp_t77*ux[z/#+!vD?+u">
                                 <field name="NAME">Timer1</field>
                                 <field name="DELAY">30</field>
                                 <field name="UNIT">sec</field>
                                 <statement name="STATEMENT">
                                   <block type="comment" id="|5cMw5L|?95D70oi:]89">
                                     <field name="COMMENT">Einspeisung_3800 auf unwahr</field>
                                     <next>
                                       <block type="control" id="4lj1g[SY!tVopRv2O+.,">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="`t8x%f~MbIUv1EQuLWhB">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="comment" id="Wcl^:X,f]0.!*[eT1qgK">
                                             <field name="COMMENT">Danach die Timer Hilfsvariable auf unwahr</field>
                                             <next>
                                               <block type="variables_set" id="|3us*?1/=6GW#mQX/siq">
                                                 <field name="VAR" id="xC#}zF{DGcD~0.rz7r^]">Timer1_run</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="kf;{|};@DlC@||uq%)U;">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
       </block>
       <block type="comment" id="#IB)qsCs,BCFcQ@uKK=-" x="-537" y="188">
         <field name="COMMENT">Wirkenergie Bezug</field>
         <next>
           <block type="on_ext" id="l/sO`Mmg#3?E_,:aD_#5">
             <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="e5eyn}olm?FlJe@hIU~V">
                 <field name="oid">javascript.0.PV_Anlage.Wirkenergie_Bezug</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="si_XTC747[al^gX0YC!R">
                 <value name="IF0">
                   <block type="logic_compare" id="n2q67+OVsF.C14ve9go)">
                     <field name="OP">GT</field>
                     <value name="A">
                       <block type="get_value" id="KYLeNK4mE?-Kf6;#WE#H">
                         <field name="ATTR">val</field>
                         <field name="OID">javascript.0.PV_Anlage.Wirkenergie_Bezug</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="F~ubKW`y}A(i*h}er@QP">
                         <field name="NUM">250</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="comment" id="6XC*zM5Ac:`^qiW4ZwS~">
                     <field name="COMMENT">Falls der Timer noch nicht läuft, starten</field>
                     <next>
                       <block type="controls_if" id="5%8tacM~+p*3=OA7#j3H">
                         <value name="IF0">
                           <block type="logic_compare" id="gPz6^gx%X).)%aX81a_e">
                             <field name="OP">EQ</field>
                             <value name="A">
                               <block type="variables_get" id="*ifrs}!/R{0@53+QeeR2">
                                 <field name="VAR" id="xC#}zF{DGcD~0.rz7r^]">Timer1_run</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="logic_boolean" id="mrTu1{yxGoPg*Sc5[^F@">
                                 <field name="BOOL">FALSE</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="procedures_callnoreturn" id="Q%avyvthEdBZpDsd7XG_">
                             <mutation name="Timer1_an"></mutation>
                           </block>
                         </statement>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
         </next>
       </block>
       <block type="procedures_defnoreturn" id="0Kpq*zy!`NY/YE.H+UO." x="88" y="188">
         <field name="NAME">Timer1_aus</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         <statement name="STACK">
           <block type="comment" id="|;p(wQ.+oZ{)jssGysoy">
             <field name="COMMENT">Timer stoppen und Hilfsvariable auf false</field>
             <next>
               <block type="timeouts_cleartimeout" id="gzZU{b{~*j9fuOb@czE/">
                 <field name="NAME">Timer1</field>
                 <next>
                   <block type="variables_set" id="+CdF]gb~_j|LDsW*Nq@%">
                     <field name="VAR" id="xC#}zF{DGcD~0.rz7r^]">Timer1_run</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="ILr~vWH4d|kMdp1Y=3,9">
                         <field name="BOOL">FALSE</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
       </block>
       <block type="on_ext" id="d.4,kx3}`L{8JNy(MH9c" x="-487" y="663">
         <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="2O;[T1]BJ^FXsj88)kOv">
             <field name="oid">javascript.0.PV_Anlage.Einspeisung_3800</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="controls_if" id="{.H1t[zt]t59m6vT6d54">
             <mutation elseif="1"></mutation>
             <value name="IF0">
               <block type="logic_compare" id="1|YD|)bKye{fs9],68G^">
                 <field name="OP">EQ</field>
                 <value name="A">
                   <block type="get_value" id="gRy`s5RhN`sG+CaIX2r}">
                     <field name="ATTR">val</field>
                     <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                   </block>
                 </value>
                 <value name="B">
                   <block type="logic_boolean" id="?+9yB4oQ^H9(SnAO!U7w">
                     <field name="BOOL">TRUE</field>
                   </block>
                 </value>
               </block>
             </value>
             <statement name="DO0">
               <block type="comment" id="zbuJcCc]u5IX;1}bVySt">
                 <field name="COMMENT">Einspeisung &gt; 4200 </field>
                 <next>
                   <block type="telegram" id="[(Z{7U7aAl-A8]DdE%1~">
                     <field name="INSTANCE">.0</field>
                     <field name="LOG"></field>
                     <field name="SILENT">FALSE</field>
                     <field name="PARSEMODE">default</field>
                     <value name="MESSAGE">
                       <shadow type="text" id="Q)Y+17|cJkl3emDYA2S,">
                         <field name="TEXT">Einspeisung &gt;4200</field>
                       </shadow>
                     </value>
                     <value name="USERNAME">
                       <block type="text" id="!3|x+%Jgl:MT@8l+F[C?">
                         <field name="TEXT">Mirko</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </statement>
             <value name="IF1">
               <block type="logic_compare" id="0ul`FaCy}%2M3[uOs3w(">
                 <field name="OP">EQ</field>
                 <value name="A">
                   <block type="get_value" id="P6oW]2OJtPU]7({:v[6w">
                     <field name="ATTR">val</field>
                     <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                   </block>
                 </value>
                 <value name="B">
                   <block type="logic_boolean" id="4/,9,yW,62jK*35Q5TIS">
                     <field name="BOOL">FALSE</field>
                   </block>
                 </value>
               </block>
             </value>
             <statement name="DO1">
               <block type="comment" id="wL)Z-dtUl0m.P+ttXxQ-">
                 <field name="COMMENT">Bezug &gt; 250</field>
                 <next>
                   <block type="telegram" id="dt|;aGfI)Ya95sQiKJC6">
                     <field name="INSTANCE">.0</field>
                     <field name="LOG"></field>
                     <field name="SILENT">FALSE</field>
                     <field name="PARSEMODE">default</field>
                     <value name="MESSAGE">
                       <shadow type="text" id="2%_30*ghb[,E{Xd7+qwp">
                         <field name="TEXT">Bezug &gt; 250</field>
                       </shadow>
                     </value>
                     <value name="USERNAME">
                       <block type="text" id="mC])_-A4T[vgy-QhshIA">
                         <field name="TEXT">Mirko</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </statement>
           </block>
         </statement>
       </block>
      </xml>
      

      Die Nutzung lag bis heute allerdings auf Eis.

      Jetzt habe ich das Blockly heute gestartet und scheinbar funktioniert die Umschaltung wenn der Wert der Einspeisung >4200 ist aber nicht mehr das zurück schalten wenn der Bezug >250 wird.

      Kann mir jemand vielleicht auf die Sprünge helfen wo der Fehler liegt.

      Danke und Gruß

      E paul53 2 Replies Last reply Reply Quote 0
      • E
        ente34 @wendy2702 last edited by

        @wendy2702
        Was soll passieren, wenn während des Bezugs > 250 in der Zeit x die Wirkenergie > 4200 erneut triggert?
        Im Script stoppst Du die Zeit x und setzt Einspeisung_3800 auf true

        wendy2702 1 Reply Last reply Reply Quote 0
        • wendy2702
          wendy2702 @ente34 last edited by

          @ente34 OK.

          Ideal wäre es wenn Einspeisung_3800 auf true gesetzt wenn Wirkenergie >4200 länger als Zeit X

          Und

          Einspeisung_3800 auf false wenn Bezug >250 für Zeit Y

          Also eigentlich ne Hysterese drin um einen Ping Pong true/false zu verhindern und den kurzen durchzug von Wolken zu kompensieren.

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @wendy2702 last edited by

            @wendy2702 sagte: wo der Fehler liegt.

            Kann keinen Fehler finden, würde es aber vereinfachen.

            Blockly_temp.JPG

            wendy2702 1 Reply Last reply Reply Quote 0
            • wendy2702
              wendy2702 @paul53 last edited by wendy2702

              @paul53 Hallo Paul,

              Danke für den Input. Sieht in der Tat wesentlich einfacher aus.

              Wie kann/muss ich das noch erweitern um diese Bedingung zu erfüllen:

              @wendy2702 sagte in Problem mit Blockly:

              Ideal wäre es wenn Einspeisung_3800 auf true gesetzt wenn Wirkenergie >4200 länger als Zeit X

              Und über welchen Baustein komme ich denn daran:

              9bb95d17-9d01-4e82-b9b2-2f2043010c68-grafik.png

              Ist das der Baustein eine Variable erstellen?

              Danke!

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @wendy2702 last edited by

                @wendy2702 sagte: erweitern um diese Bedingung zu erfüllen:

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable type="timeout" id="Timer2">Timer2</variable>
                   <variable type="timeout" id="Timer1">Timer1</variable>
                 </variables>
                 <block type="control" id="4P7IuvJx_AE![7.*gF3O" x="-537" y="-237">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="logic_boolean" id="RCK/E@,1N/|NY+h?xe`u">
                       <field name="BOOL">FALSE</field>
                     </block>
                   </value>
                 </block>
                 <block type="comment" id="Pdn|@PrS^+9*o=ZdQj{*" x="-487" y="-137">
                   <field name="COMMENT">Wirkenergie Einspeisung</field>
                   <next>
                     <block type="on_ext" id="+CU7DBqPN-:BXdUoO+nm">
                       <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="-dyEvB_T{Oif?o=FpqC8">
                           <field name="oid">javascript.0.PV_Anlage.Wirkenergie_Einspeisung</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="SX;8~,KESeTeG1|YOp2Y">
                           <value name="IF0">
                             <block type="logic_compare" id="X1GBVZJUSiQ1+kwYIL7|">
                               <field name="OP">GT</field>
                               <value name="A">
                                 <block type="on_source" id="If!1e6E=ch1+C#8^O`!L">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="]zzMuR/u,LkTKt33op,6">
                                   <field name="NUM">4200</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="timeouts_cleartimeout" id="gzZU{b{~*j9fuOb@czE/">
                               <field name="NAME">Timer1</field>
                               <next>
                                 <block type="controls_if" id="-.DP*p_~I}(9f`~j!^OP">
                                   <value name="IF0">
                                     <block type="logic_negate" id="TvIsPZ721.R|KxN)WU(e">
                                       <value name="BOOL">
                                         <block type="variables_get" id="{RiZEnA7rethGzo*JxqV">
                                           <field name="VAR" id="Timer2" variabletype="timeout">Timer2</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="timeouts_settimeout" id="3GSE4.-/R6aMZ$GT(q.?">
                                       <field name="NAME">Timer2</field>
                                       <field name="DELAY">20</field>
                                       <field name="UNIT">sec</field>
                                       <statement name="STATEMENT">
                                         <block type="control" id="Y(U!+BPt*#)`3#%QjKJq">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="logic_boolean" id="u@Go9Jx~f.Tv6wP`8VNT">
                                               <field name="BOOL">TRUE</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </statement>
                       <next>
                         <block type="comment" id="#IB)qsCs,BCFcQ@uKK=-">
                           <field name="COMMENT">Wirkenergie Bezug</field>
                           <next>
                             <block type="on_ext" id="l/sO`Mmg#3?E_,:aD_#5">
                               <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="e5eyn}olm?FlJe@hIU~V">
                                   <field name="oid">javascript.0.PV_Anlage.Wirkenergie_Bezug</field>
                                 </shadow>
                               </value>
                               <statement name="STATEMENT">
                                 <block type="controls_if" id="si_XTC747[al^gX0YC!R">
                                   <value name="IF0">
                                     <block type="logic_compare" id="n2q67+OVsF.C14ve9go)">
                                       <field name="OP">GT</field>
                                       <value name="A">
                                         <block type="on_source" id="`g)(!XgM[q~,|B1Uu_4B">
                                           <field name="ATTR">state.val</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="F~ubKW`y}A(i*h}er@QP">
                                           <field name="NUM">250</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="timeouts_cleartimeout" id="y.90,#D.q6?hY(f,gJXB">
                                       <field name="NAME">Timer2</field>
                                       <next>
                                         <block type="controls_if" id="(z8VQS_}{Tm%%X!22-qS">
                                           <value name="IF0">
                                             <block type="logic_negate" id="~ZLGk^t5WDK0G}CAJEum">
                                               <value name="BOOL">
                                                 <block type="variables_get" id="wqxHR,j7Iz}Cg?z7oHmq">
                                                   <field name="VAR" id="Timer1" variabletype="timeout">Timer1</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="timeouts_settimeout" id="Gp_t77*ux[z/#+!vD?+u">
                                               <field name="NAME">Timer1</field>
                                               <field name="DELAY">30</field>
                                               <field name="UNIT">sec</field>
                                               <statement name="STATEMENT">
                                                 <block type="control" id="4lj1g[SY!tVopRv2O+.,">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="logic_boolean" id="`t8x%f~MbIUv1EQuLWhB">
                                                       <field name="BOOL">FALSE</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                 <block type="on_ext" id="d.4,kx3}`L{8JNy(MH9c" x="-487" y="663">
                   <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="2O;[T1]BJ^FXsj88)kOv">
                       <field name="oid">javascript.0.PV_Anlage.Einspeisung_3800</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="{.H1t[zt]t59m6vT6d54">
                       <mutation elseif="1"></mutation>
                       <value name="IF0">
                         <block type="logic_compare" id="1|YD|)bKye{fs9],68G^">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="gRy`s5RhN`sG+CaIX2r}">
                               <field name="ATTR">val</field>
                               <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_boolean" id="?+9yB4oQ^H9(SnAO!U7w">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="comment" id="zbuJcCc]u5IX;1}bVySt">
                           <field name="COMMENT">Einspeisung &gt; 4200 </field>
                           <next>
                             <block type="telegram" id="[(Z{7U7aAl-A8]DdE%1~">
                               <field name="INSTANCE">.0</field>
                               <field name="LOG"></field>
                               <field name="SILENT">FALSE</field>
                               <field name="PARSEMODE">default</field>
                               <value name="MESSAGE">
                                 <shadow type="text" id="Q)Y+17|cJkl3emDYA2S,">
                                   <field name="TEXT">Einspeisung &gt;4200</field>
                                 </shadow>
                               </value>
                               <value name="USERNAME">
                                 <block type="text" id="!3|x+%Jgl:MT@8l+F[C?">
                                   <field name="TEXT">Mirko</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <value name="IF1">
                         <block type="logic_compare" id="0ul`FaCy}%2M3[uOs3w(">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="P6oW]2OJtPU]7({:v[6w">
                               <field name="ATTR">val</field>
                               <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_boolean" id="4/,9,yW,62jK*35Q5TIS">
                               <field name="BOOL">FALSE</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO1">
                         <block type="comment" id="wL)Z-dtUl0m.P+ttXxQ-">
                           <field name="COMMENT">Bezug &gt; 250</field>
                           <next>
                             <block type="telegram" id="dt|;aGfI)Ya95sQiKJC6">
                               <field name="INSTANCE">.0</field>
                               <field name="LOG"></field>
                               <field name="SILENT">FALSE</field>
                               <field name="PARSEMODE">default</field>
                               <value name="MESSAGE">
                                 <shadow type="text" id="2%_30*ghb[,E{Xd7+qwp">
                                   <field name="TEXT">Bezug &gt; 250</field>
                                 </shadow>
                               </value>
                               <value name="USERNAME">
                                 <block type="text" id="mC])_-A4T[vgy-QhshIA">
                                   <field name="TEXT">Mirko</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                wendy2702 1 Reply Last reply Reply Quote 1
                • wendy2702
                  wendy2702 @paul53 last edited by

                  @paul53

                  Hallo Paul,

                  Danke für deine Hilfe.

                  Ich werde morgen bei Sonnenschein testen ob es funktioniert, wovon ich aber eh ausgehe.

                  Schönen Abend

                  Mirko

                  1 Reply Last reply Reply Quote 0
                  • wendy2702
                    wendy2702 last edited by

                    Hi,

                    hat ein wenig gedauert mit meiner Antwort aber ich war auf Dienstreise und konnte nicht immer auf das System achten.

                    @paul53 : kann es sein das mit dem aktuellen Script Grundsätzlich nach der eingestellten Zeit gesteuert wird wenn der Trigger einmal erfüllt wurde auch wenn die Bedingung sich innerhalb der Zeit wieder zurück ändert?

                    Also Beispiel:

                    Einspeisung erreicht 4200 aber nach zum Beispiel 30 sekunden fällt der Wert wieder unter 4200 dann soll nicht nach der eingestellten Zeit geschaltet werden.

                    Irgendwie habe ich aber den Eindruck das aktuell immer nach Ablauf der Eingestellten Zeit geschaltet wird, unabhängig davon ob die Bedingung innerhalb der Zeit nicht mehr erfüllt ist.

                    Hoffe du/ihr könnt mir folgen.

                    paul53 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @wendy2702 last edited by paul53

                      @wendy2702 sagte: Einspeisung erreicht 4200 aber nach zum Beispiel 30 sekunden fällt der Wert wieder unter 4200 dann soll nicht nach der eingestellten Zeit geschaltet werden.

                      Die Verzögerung wirkt nur bei "Bezug > 250". Bei "Einspeisung > 4200" hattest Du keine Verzögerung vorgesehen.

                      wendy2702 1 Reply Last reply Reply Quote 0
                      • wendy2702
                        wendy2702 @paul53 last edited by

                        @wendy2702 sagte in Problem mit Blockly:

                        Ideal wäre es wenn Einspeisung_3800 auf true gesetzt wenn Wirkenergie >4200 länger als Zeit X

                        @paul53 : Oh, sorry. Dachte das mit dem Satz oben zum Ausdruck gebracht zu haben.

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @wendy2702 last edited by

                          @wendy2702 sagte: Dachte das mit dem Satz oben zum Ausdruck gebracht zu haben.

                          Ja, das sollte auch in dem Export enthalten sein. Wie sieht das Blockly jetzt aus (Bild).

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @wendy2702 last edited by paul53

                            @wendy2702 sagte: Einspeisung erreicht 4200 aber nach zum Beispiel 30 sekunden fällt der Wert wieder unter 4200 dann soll nicht nach der eingestellten Zeit geschaltet werden.

                            Wird auch nicht, denn die Variable Timer2 sperrt solange sie nicht bei "Bezug > 250" gestoppt wird.

                            Bild_2021-02-26_180006.png

                            Wenn der Wert einmalig 4200 überschreitet, wird nach Verzögerung geschaltet.
                            Soll das nicht passieren, wenn innerhalb der Verzögerungszeit der Wert wieder unterschritten wird? Dann muss das "stop Timer" in den sonst-Zweig:

                            Bild_2021-02-26_180656.png

                            wendy2702 3 Replies Last reply Reply Quote 0
                            • wendy2702
                              wendy2702 @paul53 last edited by

                              @paul53 Hallo,

                              aktuell sieht es so aus wie das was du mir oben gebaut hast:

                              bb30447b-8b93-4300-8c78-d71180404978-grafik.png

                              Idee war, damit meine WP keinen PING PONG macht, ja folgende:

                              4200 wird überschritten und bleibt für mindestens Zeit x über diesem Wert. Dann setze "Einspeisung_3800" auf true. Fällt er innerhalb der Zeit X wieder unter 4200 bleibt "Einspeisung_3800" auf false und der Prozess startet von vorne. Quasi solange bis eine Stabile Einspeisung von >4200 erreicht ist.

                              Gleiches für den Bezug.

                              500 wird überschritten und bleibt für Zeit y über diesem Wert. Dann setze "Einspeisung_3800" auf false. Fällt der Bezug innerhalb der Zeit Y wieder unter 500 bleibt "Einspeisung_3800" auf true. Also erst schalten wenn der Bezug über einen Zeitraum y über 500 liegt.

                              Hoffe ich habe das jetzt verständlich erklärt 😊

                              Also nur wenn die Bedingungen jeweils über einen Zeitraum X und Y erfüllt werden wirklich den Datenpunkt ändern.

                              1 Reply Last reply Reply Quote 0
                              • wendy2702
                                wendy2702 @paul53 last edited by

                                @paul53 OK. Du warst schneller.

                                Werde ich so ändern und testen.

                                Danke!

                                1 Reply Last reply Reply Quote 0
                                • wendy2702
                                  wendy2702 @paul53 last edited by

                                  @paul53 sagte in Problem mit Blockly:

                                  Wenn der Wert einmalig 4200 überschreitet, wird nach Verzögerung geschaltet.
                                  Soll das nicht passieren, wenn innerhalb der Verzögerungszeit der Wert wieder unterschritten wird? Dann muss das "stop Timer" in den sonst-Zweig:

                                  Hallo Paul,

                                  habe das nachgebaut aber scheinbar schaltet es jetzt überhaupt nicht mehr.

                                  d75abfbb-6d20-47be-a503-04891555281a-grafik.png

                                  Wir haben aktuell schin seit ca. 15 Minuten eine Einspeisung von knapp 10000 aber es passiert nichts.

                                  Habe ich noch irgendwo einen Fehler eingebaut?

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • wendy2702
                                    wendy2702 last edited by

                                    Habe die beiden Timer mal umgestellt. Jetzt wurde geschaltet.

                                    3e771155-295a-411c-93f8-b86cc3055d29-grafik.png

                                    Ist das so richtig ?

                                    1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @wendy2702 last edited by

                                      @wendy2702 sagte: Habe ich noch irgendwo einen Fehler eingebaut?

                                      Du musst jeweils einen sonst-Zweig hinzufügen, in dem der Timer gestoppt wird (siehe Bild).

                                      wendy2702 1 Reply Last reply Reply Quote 0
                                      • wendy2702
                                        wendy2702 @paul53 last edited by

                                        @paul53 OK.

                                        Wenn man scheinbar blind ist.

                                        Danke

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        668
                                        Online

                                        32.0k
                                        Users

                                        80.5k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        18
                                        462
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo