Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Hilfe gesucht: Zyklische Ausführung wird nicht gestoppt

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    221

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Hilfe gesucht: Zyklische Ausführung wird nicht gestoppt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
5 Beiträge 2 Kommentatoren 301 Aufrufe 1 Watching
  • Ä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.
  • padrinoP Offline
    padrinoP Offline
    padrino
    Most Active
    schrieb am zuletzt editiert von padrino
    #1

    Hi,

    ich verzweifel etwas mit meiner Steuerung des Heizgebläses... :(
    Eigentlich läuft das Skript gut, doch manchmal läuft es einfach amok. :face_with_rolling_eyes:
    Kann mir einfach nicht erklären wieso. :thinking_face:
    Und zwar endet es in einer Endlosschleife, dabei springt es im Normalfall (sprich meistens) raus, aber manchmal...

    blockly_UI.png
    Von den Debugausgaben her, sollte es eigentlich nicht passieren, zumindest denke ich das, sehe nicht, wieso er in der Schleife bleibt.
    Sieht evtl. jemand etwas, das ich nicht sehe, oder kann mir sagen, wo technisch evtl. etwas schief gehen könnte
    Es folgen Debugs und Blocklycode (im Spoiler)

    javascript.0	2021-02-06 22:15:22.647	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
    javascript.0	2021-02-06 22:15:22.646	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
    javascript.0	2021-02-06 22:15:22.297	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
    javascript.0	2021-02-06 22:15:22.296	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
    javascript.0	2021-02-06 22:15:21.946	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
    javascript.0	2021-02-06 22:15:21.945	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
    javascript.0	2021-02-06 22:15:21.596	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
    javascript.0	2021-02-06 22:15:21.595	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
    

    <block xmlns="https://developers.google.com/blockly/xml" type="timeouts_setinterval" id="{F~lc_KU5[3*v@zNAgio" x="-129" y="1408">
     <field name="NAME">SendeHeizungAus</field>
     <field name="INTERVAL">350</field>
     <field name="UNIT">ms</field>
     <statement name="STATEMENT">
       <block type="controls_if" id="ylhL~C|Mqz.#pungG`WP">
         <mutation else="1"></mutation>
         <value name="IF0">
           <block type="logic_compare" id="8vVexu:2!$!qf5V*i`KI">
             <field name="OP">LTE</field>
             <value name="A">
               <block type="variables_get" id="PF/pkhv0{]I+5-[XiUON">
                 <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
               </block>
             </value>
             <value name="B">
               <block type="math_number" id="K2%B%np4#`q.qx?dt4R{">
                 <field name="NUM">2</field>
               </block>
             </value>
           </block>
         </value>
         <statement name="DO0">
           <block type="control" id="@lP~x/(P.Wc]|2}jv2mI">
             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
             <field name="OID">broadlink2.0.RMPROPLUS-42-fb-44.L.HeizungAusRF</field>
             <field name="WITH_DELAY">FALSE</field>
             <value name="VALUE">
               <block type="logic_boolean" id=",:9VW`G|x3xp)J;|Ea)A">
                 <field name="BOOL">TRUE</field>
               </block>
             </value>
             <next>
               <block type="debug" id="iVYA9`l^+KEMn6V}8Y.)">
                 <field name="Severity">warn</field>
                 <value name="TEXT">
                   <shadow type="text" id="81H+$3NDM@sfV7vY_q*p">
                     <field name="TEXT">Sende "stopp"</field>
                   </shadow>
                 </value>
                 <next>
                   <block type="variables_set" id="6+[VI*`7I%Z9pZJCin_f">
                     <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
                     <value name="VALUE">
                       <block type="math_arithmetic" id="2V)7aC_UUo5u7b/,vP6c">
                         <field name="OP">ADD</field>
                         <value name="A">
                           <shadow xmlns="http://www.w3.org/1999/xhtml" id="}4k#4a5ReRCw.L-#;{MI" type="math_number">
                             <field name="NUM">1</field>
                           </shadow>
                           <block type="variables_get" id="k0*oT6Rc/u~N*zl}OPWI">
                             <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
                           </block>
                         </value>
                         <value name="B">
                           <shadow type="math_number" id="{v5EBajL~P-k}rm@ho/F">
                             <field name="NUM">1</field>
                           </shadow>
                         </value>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
         <statement name="ELSE">
           <block type="update" id="eH.|OBdW|.pI$j)}EM;e">
             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
             <field name="OID">0_userdata.0.Nachtspeicher_WZ.N8S_Gebläse</field>
             <field name="WITH_DELAY">FALSE</field>
             <value name="VALUE">
               <block type="logic_boolean" id="r!oa5z8xW5KAdiu/Hal:">
                 <field name="BOOL">FALSE</field>
               </block>
             </value>
             <next>
               <block type="debug" id="C@]SULoZSp6uyUCj4$,D">
                 <field name="Severity">warn</field>
                 <value name="TEXT">
                   <shadow type="text" id="+))hOIFdqYPXrNxp#.:Y">
                     <field name="TEXT">Blasen: stopp</field>
                   </shadow>
                 </value>
                 <next>
                   <block type="debug" id="0t6V=)P=URY.cSe-]54I">
                     <field name="Severity">warn</field>
                     <value name="TEXT">
                       <shadow type="text" id="Ssin.FzA]0[v/0-fhRf$">
                         <field name="TEXT"></field>
                       </shadow>
                       <block type="text_join" id="Xp!g}UaNp5^kW7m_}W!a">
                         <mutation items="2"></mutation>
                         <value name="ADD0">
                           <block type="text" id="F$Pj{[(W+XZHcq`R_uh|">
                             <field name="TEXT">Stopp Durchlauf: </field>
                           </block>
                         </value>
                         <value name="ADD1">
                           <block type="variables_get" id="}?1eqRU2/13,~4.s=*Dp">
                             <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="timeouts_clearinterval" id="w$NmGQI16lK3vZZ]o*gt">
                         <field name="NAME">SendeHeizungAus</field>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
       </block>
     </statement>
    </block>
    

    Nachtrag: Ich habe jetzt mal folgene Ergänzung eingefügt, in der Hoffnung, dass so die Endlosschleife erkannt wird.
    Sollte das so gehen?

    blockly_backup.png

    paul53P 1 Antwort Letzte Antwort
    0
    • padrinoP padrino

      Hi,

      ich verzweifel etwas mit meiner Steuerung des Heizgebläses... :(
      Eigentlich läuft das Skript gut, doch manchmal läuft es einfach amok. :face_with_rolling_eyes:
      Kann mir einfach nicht erklären wieso. :thinking_face:
      Und zwar endet es in einer Endlosschleife, dabei springt es im Normalfall (sprich meistens) raus, aber manchmal...

      blockly_UI.png
      Von den Debugausgaben her, sollte es eigentlich nicht passieren, zumindest denke ich das, sehe nicht, wieso er in der Schleife bleibt.
      Sieht evtl. jemand etwas, das ich nicht sehe, oder kann mir sagen, wo technisch evtl. etwas schief gehen könnte
      Es folgen Debugs und Blocklycode (im Spoiler)

      javascript.0	2021-02-06 22:15:22.647	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
      javascript.0	2021-02-06 22:15:22.646	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
      javascript.0	2021-02-06 22:15:22.297	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
      javascript.0	2021-02-06 22:15:22.296	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
      javascript.0	2021-02-06 22:15:21.946	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
      javascript.0	2021-02-06 22:15:21.945	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
      javascript.0	2021-02-06 22:15:21.596	warn	(2823) script.js.common.Heizung_NG: Stopp Durchlauf: 3
      javascript.0	2021-02-06 22:15:21.595	warn	(2823) script.js.common.Heizung_NG: Blasen: stopp
      

      <block xmlns="https://developers.google.com/blockly/xml" type="timeouts_setinterval" id="{F~lc_KU5[3*v@zNAgio" x="-129" y="1408">
       <field name="NAME">SendeHeizungAus</field>
       <field name="INTERVAL">350</field>
       <field name="UNIT">ms</field>
       <statement name="STATEMENT">
         <block type="controls_if" id="ylhL~C|Mqz.#pungG`WP">
           <mutation else="1"></mutation>
           <value name="IF0">
             <block type="logic_compare" id="8vVexu:2!$!qf5V*i`KI">
               <field name="OP">LTE</field>
               <value name="A">
                 <block type="variables_get" id="PF/pkhv0{]I+5-[XiUON">
                   <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
                 </block>
               </value>
               <value name="B">
                 <block type="math_number" id="K2%B%np4#`q.qx?dt4R{">
                   <field name="NUM">2</field>
                 </block>
               </value>
             </block>
           </value>
           <statement name="DO0">
             <block type="control" id="@lP~x/(P.Wc]|2}jv2mI">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">broadlink2.0.RMPROPLUS-42-fb-44.L.HeizungAusRF</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="logic_boolean" id=",:9VW`G|x3xp)J;|Ea)A">
                   <field name="BOOL">TRUE</field>
                 </block>
               </value>
               <next>
                 <block type="debug" id="iVYA9`l^+KEMn6V}8Y.)">
                   <field name="Severity">warn</field>
                   <value name="TEXT">
                     <shadow type="text" id="81H+$3NDM@sfV7vY_q*p">
                       <field name="TEXT">Sende "stopp"</field>
                     </shadow>
                   </value>
                   <next>
                     <block type="variables_set" id="6+[VI*`7I%Z9pZJCin_f">
                       <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
                       <value name="VALUE">
                         <block type="math_arithmetic" id="2V)7aC_UUo5u7b/,vP6c">
                           <field name="OP">ADD</field>
                           <value name="A">
                             <shadow xmlns="http://www.w3.org/1999/xhtml" id="}4k#4a5ReRCw.L-#;{MI" type="math_number">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="variables_get" id="k0*oT6Rc/u~N*zl}OPWI">
                               <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="{v5EBajL~P-k}rm@ho/F">
                               <field name="NUM">1</field>
                             </shadow>
                           </value>
                         </block>
                       </value>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
           <statement name="ELSE">
             <block type="update" id="eH.|OBdW|.pI$j)}EM;e">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">0_userdata.0.Nachtspeicher_WZ.N8S_Gebläse</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="logic_boolean" id="r!oa5z8xW5KAdiu/Hal:">
                   <field name="BOOL">FALSE</field>
                 </block>
               </value>
               <next>
                 <block type="debug" id="C@]SULoZSp6uyUCj4$,D">
                   <field name="Severity">warn</field>
                   <value name="TEXT">
                     <shadow type="text" id="+))hOIFdqYPXrNxp#.:Y">
                       <field name="TEXT">Blasen: stopp</field>
                     </shadow>
                   </value>
                   <next>
                     <block type="debug" id="0t6V=)P=URY.cSe-]54I">
                       <field name="Severity">warn</field>
                       <value name="TEXT">
                         <shadow type="text" id="Ssin.FzA]0[v/0-fhRf$">
                           <field name="TEXT"></field>
                         </shadow>
                         <block type="text_join" id="Xp!g}UaNp5^kW7m_}W!a">
                           <mutation items="2"></mutation>
                           <value name="ADD0">
                             <block type="text" id="F$Pj{[(W+XZHcq`R_uh|">
                               <field name="TEXT">Stopp Durchlauf: </field>
                             </block>
                           </value>
                           <value name="ADD1">
                             <block type="variables_get" id="}?1eqRU2/13,~4.s=*Dp">
                               <field name="VAR" id="QqcV%p0(#2Rh:vc%kEr5">Durchlauf</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="timeouts_clearinterval" id="w$NmGQI16lK3vZZ]o*gt">
                           <field name="NAME">SendeHeizungAus</field>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
         </block>
       </statement>
      </block>
      

      Nachtrag: Ich habe jetzt mal folgene Ergänzung eingefügt, in der Hoffnung, dass so die Endlosschleife erkannt wird.
      Sollte das so gehen?

      blockly_backup.png

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

      @padrino
      Man sieht den entscheidenden Teil nicht.
      Wenn das Intervall SendeHeizungAus mehr als einmal gestartet wurde, lässt es sich nicht mehr stoppen.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      padrinoP 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @padrino
        Man sieht den entscheidenden Teil nicht.
        Wenn das Intervall SendeHeizungAus mehr als einmal gestartet wurde, lässt es sich nicht mehr stoppen.

        padrinoP Offline
        padrinoP Offline
        padrino
        Most Active
        schrieb am zuletzt editiert von
        #3

        @paul53
        Hm, also der sollte eigentlich nur einmal laufen, der Aufruf befindet sich einmal im "Hauptbaum".

        hauptcode.png

        paul53P 1 Antwort Letzte Antwort
        0
        • padrinoP padrino

          @paul53
          Hm, also der sollte eigentlich nur einmal laufen, der Aufruf befindet sich einmal im "Hauptbaum".

          hauptcode.png

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

          @padrino sagte:

          der sollte eigentlich nur einmal laufen

          Eigentlich... Der Trigger kann nicht ein zweites Mal auslösen, bevor das Intervall gestoppt wurde?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          padrinoP 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @padrino sagte:

            der sollte eigentlich nur einmal laufen

            Eigentlich... Der Trigger kann nicht ein zweites Mal auslösen, bevor das Intervall gestoppt wurde?

            padrinoP Offline
            padrinoP Offline
            padrino
            Most Active
            schrieb am zuletzt editiert von
            #5

            @paul53

            Ja, kann er.
            Aber ich hatte das extra mal mit einem extrem langen Intervall getestet und in meinem Test hat jeder Trigger zwar ein neues Intervall gestartet, das konnte dann aber auch von seinem korrekten "Stopp" beendet werden, sprich bei einem neuen Intervalldurchlauf war eine "Kopie des Stopps" zuständig und funktionsfähig. :thinking_face:

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            600

            Online

            32.7k

            Benutzer

            82.5k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            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