Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly- Funktion parallel nutzen?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly- Funktion parallel nutzen?

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

      @paul53 said in Blockly- Funktion parallel nutzen?:

      Poste bitte den kompletten Export (XML) in Code tags.
      Ich hoffe, dass es so richtig gepostet ist:
      var ArrayTimers, IndexTimeout, IndexIntervall, AnzahlFenster, IndexTimers, _C3_96ffnungsdauer, Intervall1, timeout, _C3_96ffnungsdauer, Intervall2, _C3_96ffnungsZeitPunkt, MeldeText;

      // Beschreibe diese Funktion …
      async function StopTimeout(ArrayTimers, IndexTimeout) {
      clearTimeout(ArrayTimers[IndexTimeout - 1]);
      ArrayTimers[IndexTimeout - 1] = null;

      }

      // Beschreibe diese Funktion …
      async function StopIntervall(ArrayTimers, IndexIntervall) {
      clearInterval(ArrayTimers[IndexIntervall - 1]);
      ArrayTimers[IndexIntervall - 1] = null;

      }

      function listsRepeat(value, n) {
      var array = [];
      for (var i = 0; i < n; i++) {
      array[i] = value;
      }
      return array;
      }

      // Beschreibe diese Funktion …
      async function FensterOffen(ArrayTimers, IndexTimers, _C3_96ffnungsdauer) {
      Intervall1 = setInterval(async () => {
      // Prüfung Temperatur- Abfall
      console.info('Intervall Temp');
      }, 60000);
      ArrayTimers[(IndexTimeout - 1)] = Intervall1;
      _C3_96ffnungsDauer = setTimeout(async () => {
      _C3_96ffnungsDauer = null;
      Intervall2 = setInterval(async () => {
      // WarteSchleife
      console.info('Intervall Erinnerung');
      }, 10000);
      ArrayTimers[((IndexTimeout + 1) - 1)] = Intervall2;
      console.info('TimeOut Öffnungsdauer');
      }, parseInt(_C3_96ffnungsdauer));
      ArrayTimers[((IndexTimeout + 2) - 1)] = _C3_96ffnungsDauer;
      }

      // Beschreibe diese Funktion …
      async function FensterGeschlossen(ArrayTimers, IndexTimeout) {
      await StopIntervall(ArrayTimers, IndexTimers);
      console.info((['STOPIntervall0: ',ArrayTimers,IndexTimers].join('')));
      await StopIntervall(ArrayTimers, IndexTimers + 1);
      console.info((['STOPIntervall1: ',ArrayTimers,IndexTimers].join('')));
      await StopTimeout(ArrayTimers, IndexTimers + 2);
      console.info((['STOPTimeout: ',ArrayTimers,IndexTimers].join('')));
      }

      // Arbeitszimmerfenster groß
      await FensterOffen(1, 1, 30000);
      timeout = setTimeout(async () => {
      timeout = null;
      console.info('Start FensterGeschlossen');
      await FensterGeschlossen(1, 1);
      }, parseInt(120500));

      AnzahlFenster = 5;
      ArrayTimers = listsRepeat(null, 3 * AnzahlFenster);
      console.info(('Liste ArrayTimers: ' + String(ArrayTimers)));

      // Wohnzimmerfenster groß

      // Schlafzimmerfenster

      // Wohnzimmerfenster klein

      // Arbeitszimmerfensterr klein

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

        @umuellex sagte: Ich hoffe, dass es so richtig gepostet ist:

        Nein, das ist unbrauchbar.

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

          @paul53 So jetzt die richtige Art und Weise:

          <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
              <variable id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</variable>
              <variable id="p(W[d0N[f2HnVK,+ILAG">IndexTimeout</variable>
              <variable id="%_qg}v}.9@@x`l~Mv^%;">IndexIntervall</variable>
              <variable id="g/ygbE%OPN13N]s~uZ$5">AnzahlFenster</variable>
              <variable id="/E-BZ/K@f;6(OVZk^~-%">IndexTimers</variable>
              <variable id="0*n-Iisj6AVII3fuc[v|">Öffnungsdauer</variable>
              <variable type="interval" id="Intervall1">Intervall1</variable>
              <variable type="timeout" id="timeout">timeout</variable>
              <variable type="timeout" id="ÖffnungsDauer">ÖffnungsDauer</variable>
              <variable type="interval" id="Intervall2">Intervall2</variable>
              <variable id="yMoUzx;1^9IrjPE~A@*g">ÖffnungsZeitPunkt</variable>
              <variable id="s5T6d/O7[v6{N(jrO,!o">MeldeText</variable>
            </variables>
            <block type="procedures_defcustomnoreturn" id="S=f#9VBY1~cs$q1L6(jx" x="-2088" y="-2887">
              <mutation statements="false">
                <arg name="ArrayTimers" varid="g+6nrV3tQ{,IF[m~IK^("></arg>
                <arg name="IndexTimeout" varid="p(W[d0N[f2HnVK,+ILAG"></arg>
              </mutation>
              <field name="NAME">StopTimeout</field>
              <field name="SCRIPT">Y2xlYXJUaW1lb3V0KEFycmF5VGltZXJzW0luZGV4VGltZW91dCAtIDFdKTsNCkFycmF5VGltZXJzW0luZGV4VGltZW91dCAtIDFdID0gbnVsbDsNCg==</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            </block>
            <block type="comment" id="GzMVcH-3CYbc=i_b~e;B" x="-1212" y="-2888">
              <field name="COMMENT">Arbeitszimmerfenster groß</field>
              <next>
                <block type="procedures_callnoreturn" id="|9ueLg|m=g6;48ItnFsP">
                  <mutation name="FensterOffen">
                    <arg name="ArrayTimers"></arg>
                    <arg name="IndexTimers"></arg>
                    <arg name="Öffnungsdauer"></arg>
                  </mutation>
                  <value name="ARG0">
                    <block type="math_number" id="*m!iSuBuhscD=JZeWy|!">
                      <field name="NUM">1</field>
                    </block>
                  </value>
                  <value name="ARG1">
                    <block type="math_number" id="btJ}~3![4a+YxQ.L`n4)">
                      <field name="NUM">1</field>
                    </block>
                  </value>
                  <value name="ARG2">
                    <block type="math_number" id="tAc[wt%;2.x,2L@q{%fk">
                      <field name="NUM">30000</field>
                    </block>
                  </value>
                  <next>
                    <block type="timeouts_settimeout_variable" id="]$N9CYLQVS3sQ:-*h@}7">
                      <field name="NAME">timeout</field>
                      <value name="DELAY_MS">
                        <shadow type="math_number" id="CKhF*38oSlH8($1|2aH`">
                          <field name="NUM">120500</field>
                        </shadow>
                      </value>
                      <statement name="STATEMENT">
                        <block type="debug" id="uthdqp%mA?9Lp`~)6$4K">
                          <field name="Severity">info</field>
                          <value name="TEXT">
                            <shadow type="text" id="H1:f)d/3jX6R3WZv!x$e">
                              <field name="TEXT">Start FensterGeschlossen</field>
                            </shadow>
                          </value>
                          <next>
                            <block type="procedures_callnoreturn" id="{z~1sA~+csUD/$:hct:l">
                              <mutation name="FensterGeschlossen">
                                <arg name="ArrayTimers"></arg>
                                <arg name="IndexTimeout"></arg>
                              </mutation>
                              <value name="ARG0">
                                <block type="math_number" id="445?m5v-$o#=Tep7X{U=">
                                  <field name="NUM">1</field>
                                </block>
                              </value>
                              <value name="ARG1">
                                <block type="math_number" id="1$WiM)k43X77jh?beHQG">
                                  <field name="NUM">1</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </next>
            </block>
            <block type="procedures_defcustomnoreturn" id="$2lBpa`%y;B6kT5%{XL8" x="-2087" y="-2837">
              <mutation statements="false">
                <arg name="ArrayTimers" varid="g+6nrV3tQ{,IF[m~IK^("></arg>
                <arg name="IndexIntervall" varid="%_qg}v}.9@@x`l~Mv^%;"></arg>
              </mutation>
              <field name="NAME">StopIntervall</field>
              <field name="SCRIPT">Y2xlYXJJbnRlcnZhbChBcnJheVRpbWVyc1tJbmRleEludGVydmFsbCAtIDFdKTsNCkFycmF5VGltZXJzW0luZGV4SW50ZXJ2YWxsIC0gMV0gPSBudWxsOw0K</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            </block>
            <block type="variables_set" id="bx7(/tEKxr_Bl]Xx,)B@" x="-2088" y="-2788">
              <field name="VAR" id="g/ygbE%OPN13N]s~uZ$5">AnzahlFenster</field>
              <value name="VALUE">
                <block type="math_number" id=")w}rxa.pOVfe$uv6!sp.">
                  <field name="NUM">5</field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="_niy6d)4cvExrsM$L/YS">
                  <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                  <value name="VALUE">
                    <block type="lists_repeat" id="1bnihm,HZv.@!r%e,n3q">
                      <value name="NUM">
                        <shadow type="math_number" id="x8h[nQ5=DyK:|y8YI]{L">
                          <field name="NUM">5</field>
                        </shadow>
                        <block type="math_arithmetic" id="B_uTA3a_sh|C(oZ(KRvV">
                          <field name="OP">MULTIPLY</field>
                          <value name="A">
                            <shadow type="math_number" id="$4F~_Y|_c|(_VHa5D0hX">
                              <field name="NUM">3</field>
                            </shadow>
                          </value>
                          <value name="B">
                            <shadow type="math_number" id="bMTAlX]Y+bjUFZz11Tg%">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="variables_get" id="Phu~zO[:eM)#G~Azq3y:">
                              <field name="VAR" id="g/ygbE%OPN13N]s~uZ$5">AnzahlFenster</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="ITEM">
                        <block type="logic_null" id="I^cnLUTq+ZRxQlC*VS*0"></block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="debug" id="Qnr.yV@?,hrg!Qn,mJIp">
                      <field name="Severity">info</field>
                      <value name="TEXT">
                        <shadow type="text" id="j7z(zxS#a7]6+Odd{XF|">
                          <field name="TEXT">test</field>
                        </shadow>
                        <block type="text_join" id="86:`bar$6$(~#a*ge%#4">
                          <mutation items="2"></mutation>
                          <value name="ADD0">
                            <block type="text" id="Ib+$Id~N#VG/H1u_e*k]">
                              <field name="TEXT">Liste ArrayTimers: </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="variables_get" id="IZgv]TH!|NcY@]Y2d*^Z">
                              <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
            <block type="procedures_defnoreturn" id="5^HjYAt*+K95^eH{VCT(" x="-2087" y="-2563">
              <mutation>
                <arg name="ArrayTimers" varid="g+6nrV3tQ{,IF[m~IK^("></arg>
                <arg name="IndexTimers" varid="/E-BZ/K@f;6(OVZk^~-%"></arg>
                <arg name="Öffnungsdauer" varid="0*n-Iisj6AVII3fuc[v|"></arg>
              </mutation>
              <field name="NAME">FensterOffen</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              <statement name="STACK">
                <block type="timeouts_setinterval" id="1QhJE}k)trKWh`89rarP">
                  <field name="NAME">Intervall1</field>
                  <field name="INTERVAL">1</field>
                  <field name="UNIT">min</field>
                  <statement name="STATEMENT">
                    <block type="comment" id="v?oX~}M?^henzDlV1jb}">
                      <field name="COMMENT">Prüfung Temperatur- Abfall</field>
                      <next>
                        <block type="debug" id="(q~u;{y11i0/1/sV2f5?">
                          <field name="Severity">info</field>
                          <value name="TEXT">
                            <shadow type="text" id="o16:WvT@x:fkmExF[T`[">
                              <field name="TEXT">Intervall Temp</field>
                            </shadow>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <next>
                    <block type="lists_setIndex" id="mE{SWFhfuS0[L,iUQbNM">
                      <mutation at="true"></mutation>
                      <field name="MODE">SET</field>
                      <field name="WHERE">FROM_START</field>
                      <value name="LIST">
                        <block type="variables_get" id="Ul$ZCjlT^Y_,A$xCO;Ls">
                          <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                        </block>
                      </value>
                      <value name="AT">
                        <block type="variables_get" id="4}m$bqS!.YFN=W)0#rt3">
                          <field name="VAR" id="p(W[d0N[f2HnVK,+ILAG">IndexTimeout</field>
                        </block>
                      </value>
                      <value name="TO">
                        <block type="timeouts_getinterval" id="R~k|l]p@:Avi+gRl=q#B">
                          <field name="NAME">Intervall1</field>
                        </block>
                      </value>
                      <next>
                        <block type="timeouts_settimeout_variable" id="}7~B}r0[z$rXKNR,6W0,">
                          <field name="NAME">ÖffnungsDauer</field>
                          <value name="DELAY_MS">
                            <shadow type="math_number" id="q@=Ix=*vO+/=.24d6bNL">
                              <field name="NUM">1000</field>
                            </shadow>
                            <block type="variables_get" id="6xLrUl?[pMnvAUDI7PNu">
                              <field name="VAR" id="0*n-Iisj6AVII3fuc[v|">Öffnungsdauer</field>
                            </block>
                          </value>
                          <statement name="STATEMENT">
                            <block type="timeouts_setinterval" id="v6@6ewa+AzG~782Lp-g4">
                              <field name="NAME">Intervall2</field>
                              <field name="INTERVAL">10</field>
                              <field name="UNIT">sec</field>
                              <statement name="STATEMENT">
                                <block type="comment" id="qBHJ8:~,EsO7NS`}ITd=">
                                  <field name="COMMENT">WarteSchleife</field>
                                  <next>
                                    <block type="debug" id="w+nW3xZhrx%__Rp#2G!_">
                                      <field name="Severity">info</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="?0IDvpCDtkHR{54A-$)T">
                                          <field name="TEXT">Intervall Erinnerung</field>
                                        </shadow>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="VL[)~y$^]UMpdd~NgN-]" disabled="true">
                                          <field name="VAR" id="0*n-Iisj6AVII3fuc[v|">Öffnungsdauer</field>
                                          <value name="VALUE">
                                            <block type="math_arithmetic" id="`)-Biv].KYFy]sG_i16J">
                                              <field name="OP">MINUS</field>
                                              <value name="A">
                                                <shadow type="math_number" id=":tS,eZ.--]~.Sm)e?S[A">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="time_get" id="_:ER!6r02vd@Ix+8y7J_">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                  <field name="OPTION">object</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="!zH[$Mx_PChS=,{](mlG">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="variables_get" id="JeM;yfz?5PkLLZ4pxNqP">
                                                  <field name="VAR" id="yMoUzx;1^9IrjPE~A@*g">ÖffnungsZeitPunkt</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="control" id="xvFv{n+1}8^.s##z1PrY" disabled="true">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">alexa2.0.Echo-Devices.1455c671b2be4dd1951d8e4db04259d2.Commands.speak</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="variables_get" id="7Ys+NSRCu#T7zBt1f`+Q">
                                                  <field name="VAR" id="s5T6d/O7[v6{N(jrO,!o">MeldeText</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                              <next>
                                <block type="lists_setIndex" id="blB~5;Eae=)h{h2IM,!I">
                                  <mutation at="true"></mutation>
                                  <field name="MODE">SET</field>
                                  <field name="WHERE">FROM_START</field>
                                  <value name="LIST">
                                    <block type="variables_get" id="tz9c.oA8usNH)]MxO#vM">
                                      <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                                    </block>
                                  </value>
                                  <value name="AT">
                                    <block type="math_arithmetic" id="~!yOMq;]|@)oi?~#dFU9">
                                      <field name="OP">ADD</field>
                                      <value name="A">
                                        <shadow type="math_number" id="K$H/gfz_vee9wMxLVN}G">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="variables_get" id="kB95O:*fnlvsm6iy,#sl">
                                          <field name="VAR" id="p(W[d0N[f2HnVK,+ILAG">IndexTimeout</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="r7Cls,G(iQ^wZy%#%/gC">
                                          <field name="NUM">1</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="TO">
                                    <block type="timeouts_getinterval" id="?-Ap#_*g8f]oUsKQN8*P">
                                      <field name="NAME">Intervall2</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="debug" id="S3Z]o}ZH5#1HddLr*6Yb">
                                      <field name="Severity">info</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="Xlw{Fjz@%J]fs5d.P|`B">
                                          <field name="TEXT">TimeOut Öffnungsdauer</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <next>
                            <block type="lists_setIndex" id=",XUD}nx#!z*U4~bui9d}">
                              <mutation at="true"></mutation>
                              <field name="MODE">SET</field>
                              <field name="WHERE">FROM_START</field>
                              <value name="LIST">
                                <block type="variables_get" id="E=b;+aT%jQ$6z%wS%~B*">
                                  <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                                </block>
                              </value>
                              <value name="AT">
                                <block type="math_arithmetic" id="`CiaM+aY500.x_]N(Fc:">
                                  <field name="OP">ADD</field>
                                  <value name="A">
                                    <shadow type="math_number" id="K$H/gfz_vee9wMxLVN}G">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="variables_get" id="FE+|,T{}OQIRjmhqDvqX">
                                      <field name="VAR" id="p(W[d0N[f2HnVK,+ILAG">IndexTimeout</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="+vZO}%w/7t?v=wc9E}SC">
                                      <field name="NUM">2</field>
                                    </shadow>
                                  </value>
                                </block>
                              </value>
                              <value name="TO">
                                <block type="timeouts_gettimeout" id=".cjuFlM~jcB9(yw;Tog|">
                                  <field name="NAME">ÖffnungsDauer</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
            <block type="comment" id="@*A%%xEWJGMKw_QiXqX~" x="-287" y="-2588">
              <field name="COMMENT">Wohnzimmerfenster groß</field>
            </block>
            <block type="comment" id="nA9fJJMq;BYnlkU`X(gG" x="237" y="-2587">
              <field name="COMMENT">Schlafzimmerfenster</field>
            </block>
            <block type="comment" id="C)ymt@4Jy,slQux8ZG^j" x="-313" y="-2288">
              <field name="COMMENT">Wohnzimmerfenster klein</field>
            </block>
            <block type="comment" id="il9Gb%i@YqBme2|9Z7ga" x="-837" y="-2187">
              <field name="COMMENT">Arbeitszimmerfensterr klein</field>
            </block>
            <block type="procedures_defnoreturn" id="zAi0;S.6~*7-V,@?(@6," x="-2088" y="-1863">
              <mutation>
                <arg name="ArrayTimers" varid="g+6nrV3tQ{,IF[m~IK^("></arg>
                <arg name="IndexTimeout" varid="p(W[d0N[f2HnVK,+ILAG"></arg>
              </mutation>
              <field name="NAME">FensterGeschlossen</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              <statement name="STACK">
                <block type="procedures_callcustomnoreturn" id="qC@2BRvq`%`j-fhz/`BU">
                  <mutation name="StopIntervall">
                    <arg name="ArrayTimers"></arg>
                    <arg name="IndexIntervall"></arg>
                  </mutation>
                  <value name="ARG0">
                    <block type="variables_get" id="7e-UtwLa4;S6l|[nSAa_">
                      <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                    </block>
                  </value>
                  <value name="ARG1">
                    <block type="variables_get" id="i-@Lg|%8}PIsV+]@-P8l">
                      <field name="VAR" id="/E-BZ/K@f;6(OVZk^~-%">IndexTimers</field>
                    </block>
                  </value>
                  <next>
                    <block type="debug" id="TAa]N;KrBTkQYK*BL%:H">
                      <field name="Severity">info</field>
                      <value name="TEXT">
                        <shadow type="text" id="T98*at1O[p/5:$OB$Ci@">
                          <field name="TEXT">test</field>
                        </shadow>
                        <block type="text_join" id="m*AF.A!1@M{]iJ_:HF[m">
                          <mutation items="3"></mutation>
                          <value name="ADD0">
                            <block type="text_multiline" id="VEZEu:}uJ=Dgn?Rkf-KI">
                              <field name="TEXT">STOPIntervall0: </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="variables_get" id="d`zSlLYuoSA;#qE0X`yK">
                              <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                            </block>
                          </value>
                          <value name="ADD2">
                            <block type="variables_get" id="nOEFZ0cgXOuY);`2,V7!">
                              <field name="VAR" id="/E-BZ/K@f;6(OVZk^~-%">IndexTimers</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="procedures_callcustomnoreturn" id="!:,Nr@f|,-46Afp]fJ}7">
                          <mutation name="StopIntervall">
                            <arg name="ArrayTimers"></arg>
                            <arg name="IndexIntervall"></arg>
                          </mutation>
                          <value name="ARG0">
                            <block type="variables_get" id="v-w^hbXU)^qfHQ{9YNlc">
                              <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                            </block>
                          </value>
                          <value name="ARG1">
                            <block type="math_arithmetic" id="A?k)bX6+`k4.-QEQbJ31">
                              <field name="OP">ADD</field>
                              <value name="A">
                                <shadow type="math_number" id="3XI5idkEpUpVU1.+:r%J">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="variables_get" id="|L0^ti[yNoGz]fZGBu+R">
                                  <field name="VAR" id="/E-BZ/K@f;6(OVZk^~-%">IndexTimers</field>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="5nUVeN-5-(n0Fw])*8wj">
                                  <field name="NUM">1</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id=",`MtO/1LU.{hl3p,L78D">
                              <field name="Severity">info</field>
                              <value name="TEXT">
                                <shadow type="text" id="T98*at1O[p/5:$OB$Ci@">
                                  <field name="TEXT">test</field>
                                </shadow>
                                <block type="text_join" id="~Tn(DAM#?M3dI)7-GvG-">
                                  <mutation items="3"></mutation>
                                  <value name="ADD0">
                                    <block type="text_multiline" id="N*9pA,tszS8=(u5*tqHv">
                                      <field name="TEXT">STOPIntervall1: </field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="variables_get" id="4_SKW(@S#wJ*[NMIUTh6">
                                      <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="variables_get" id="/+d^+5z=Ns/fSY@bzEaN">
                                      <field name="VAR" id="/E-BZ/K@f;6(OVZk^~-%">IndexTimers</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="procedures_callcustomnoreturn" id="FduII27%5dbe/BsgbClx">
                                  <mutation name="StopTimeout">
                                    <arg name="ArrayTimers"></arg>
                                    <arg name="IndexTimeout"></arg>
                                  </mutation>
                                  <value name="ARG0">
                                    <block type="variables_get" id="8%Ec6h{O-,,h17P~F(@=">
                                      <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                                    </block>
                                  </value>
                                  <value name="ARG1">
                                    <block type="math_arithmetic" id="2Jgg3IiMR6pm@!kcX{io">
                                      <field name="OP">ADD</field>
                                      <value name="A">
                                        <shadow type="math_number" id="3XI5idkEpUpVU1.+:r%J">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="variables_get" id=":2!eIfq2rvf`vn3DE(8k">
                                          <field name="VAR" id="/E-BZ/K@f;6(OVZk^~-%">IndexTimers</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="L~Oj6i*]0QycQvq]o?1l">
                                          <field name="NUM">2</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="debug" id="YlpX|u)3/9ck^Pyy]j4,">
                                      <field name="Severity">info</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="T98*at1O[p/5:$OB$Ci@">
                                          <field name="TEXT">test</field>
                                        </shadow>
                                        <block type="text_join" id="0oE%qLR?#1pvf8R{,kP;">
                                          <mutation items="3"></mutation>
                                          <value name="ADD0">
                                            <block type="text_multiline" id="ROI3:/`5-CPd]%qMrqwT">
                                              <field name="TEXT">STOPTimeout: </field>
                                            </block>
                                          </value>
                                          <value name="ADD1">
                                            <block type="variables_get" id="x%dBU`zok_m,A(byQ3Qg">
                                              <field name="VAR" id="g+6nrV3tQ{,IF[m~IK^(">ArrayTimers</field>
                                            </block>
                                          </value>
                                          <value name="ADD2">
                                            <block type="variables_get" id="a}rI_:m#E:}rIb30z_9U">
                                              <field name="VAR" id="/E-BZ/K@f;6(OVZk^~-%">IndexTimers</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </xml>
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @UMuellex last edited by paul53

            @umuellex sagte: richtige Art und Weise:

            Ja, aber es fehlt einiges und sieht sehr wirr aus:

            Blockly_temp.JPG

            Die beiden Funktionen bei mir oben rechts waren sehr weit unten versteckt.

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

              @paul53
              Die Javafunktionen sind bei Dir doppelt; bei mir nicht.😳

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

                @umuellex sagte: Die Javafunktionen sind bei Dir doppelt; bei mir nicht.

                Es kann sein, dass ich sie bei mir vorher nicht gelöscht habe.

                Außerdem fehlen Trigger! Unter den Kommentaren rechts gibt es keinen Code.

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

                  @paul53 said in Blockly- Funktion parallel nutzen?:

                  Außerdem fehlen Trigger! Unter den Kommentaren rechts gibt es keinen Code.

                  Da ist offensichtlich einiges durch den Export schiefgelaufen. Tut mir leid, dass wir uns erst darum kümmern müssen. Die Kommentare sind die Vorbereitungen für die weiteren Fenster, sind also nicht von Belang. Ich denke, dass auch die drei leeren Javascript- Funktionen zu löschen sind. Ich hatte das so gemacht:
                  5816fbe5-033b-4813-a3ed-d70775e1bde6-image.png

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

                    @umuellex sagte: Ich hatte das so gemacht:

                    Es sieht schon besser aus, aber es fehlen immer noch Trigger.
                    Innerhalb der Funktion "FensterOffen" sind falsche Index-Variablen verwendet worden. Die Funktion "FensterGeschlossen" hat einen falschen Index-Parameter. Richtig:

                    Blockly_temp.JPG

                    EDIT: An den Array-Parameter muss die bei Skriptstart erzeugte Timerliste übergeben werden. Wenn zum Test keine Trigger verwendet werden, muss auch die Reihenfolge eingehalten werden:

                    Blockly_temp.JPG

                    Anmerkung: Man kann kein Array mit zusätzlichem Text loggen.

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

                      @paul53 said in Blockly- Funktion parallel nutzen?:

                      Die Funktion "FensterGeschlossen" hat einen falschen Index-Parameter. Richtig:

                      Ich habe die Variable der Index- Parameter eingesetzt. Leider werden die Intervalle nicht beendet. Hier das Protokoll. Wie kann ich denn den Inhalt der Variable ArrayTimers abfragen?

                      95f1f314-efe5-44cc-b6b1-707c2077599a-image.png

                      fb279114-4bd4-4d05-93e4-31c6c3429bf4-image.png

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

                        @umuellex
                        Der Index-Parameter ist falsch bezeichnet:

                        Blockly_temp.JPG

                        Richtig:

                        Blockly_temp.JPG

                        @umuellex sagte in Blockly- Funktion parallel nutzen?:

                        Wie kann ich denn den Inhalt der Variable ArrayTimers abfragen?

                        Ohne Zusatztext:

                        Blockly_temp.JPG

                        oder mit Wandlung nach JSON.

                        Blockly_temp.JPG

                        Allerdings: Timer-Objekte lassen sich nicht in JSON wandeln, also das Array mit Timern kann man nicht loggen!

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

                          @paul53
                          ALLES SUPER!!! Ich habe es auch mit 3 "virtuellen" Fenstern probiert- Alle Intervalle und Verzögerungen werden beendet!

                          Ich spende dafür an die Community.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          873
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          3
                          23
                          597
                          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