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. Einsteigerfragen
  4. 3-Wegeventil 3x hintereinander auf und zu machen mit Blockly

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

3-Wegeventil 3x hintereinander auf und zu machen mit Blockly

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
9 Beiträge 3 Kommentatoren 494 Aufrufe 2 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.
  • A Offline
    A Offline
    Andreas 9
    schrieb am zuletzt editiert von Andreas 9
    #1

    Hallo, ich komm mal wieder mit blockly nicht klar:
    Ich will ein 3-Wegeventil am Warmwasserspeicher 1x pro Woche bewegen, damit es nicht (wie schon vorgekommen) einrostet. Es soll 3x hintereinander für 3 Min auf und für 3 Min zu gemacht werden. Dazu müssen WWSpeicher und WWPumpe und WWThermostat geschaltet werden.
    Dazu habe ich folgendes Blockly erstellt.
    Leider werden alle Kommandos innerhalb der Wiederholen-Schleife direkt hintereinander ausgeführt. Das timeout funktioniert nicht.
    Was hab ich falsch gemacht? Hat jemand eine Idee?
    Hier das Blockly:
    blockly.jpg
    Hier der Code:

    <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
        <variable type="timeout" id="timeout">timeout</variable>
        <variable type="timeout" id="timeout2">timeout2</variable>
      </variables>
      <block type="schedule" id="cXZ2I8FRwIsL1Uuo9qL:" x="88" y="-512">
        <field name="SCHEDULE">{"time":{"exactTime":true,"start":"11:12"},"period":{"weeks":1,"dows":"[0]"}}</field>
        <statement name="STATEMENT">
          <block type="controls_repeat_ext" id=".AGm^+cS|tM)^an_ckg8">
            <value name="TIMES">
              <shadow type="math_number" id="yEotLT10W)y514oe22@z">
                <field name="NUM">3</field>
              </shadow>
            </value>
            <statement name="DO">
              <block type="timeouts_cleartimeout" id="_v-Vwch5wth_LWUU:ko/">
                <field name="NAME">timeout</field>
                <next>
                  <block type="timeouts_settimeout" id="7gkzxX:8tw-4ps],SfBT">
                    <field name="NAME">timeout</field>
                    <field name="DELAY">3</field>
                    <field name="UNIT">min</field>
                    <statement name="STATEMENT">
                      <block type="control" id="n+WrE78HA@4Xg=embMLc">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">sonoff.0.WWSpeicher.POWER</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="logic_boolean" id="K2HYSR/Y2WZK}TQ(U.rR">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                        <next>
                          <block type="control" id="@P`Mk6%eb_xhaC0HrYxN">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">sonoff.0.WWPumpe.POWER</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="ADi9{y|pw==]];efnKL9">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                            <next>
                              <block type="control" id="7s=VH*ia3:QJNNRBFE0Y" disabled="true">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">sonoff.0.WWThermostat.POWER</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id=".H[G4a/Gt/RG_-avP_ut">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="debug" id="gV0Fl[BoG5OXVrWH#B-I">
                                    <field name="Severity">info</field>
                                    <value name="TEXT">
                                      <shadow type="text" id="Nf!`R3;ka^S2~e-mU9G)">
                                        <field name="TEXT">Dreiwegeventil = EIN</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </statement>
                    <next>
                      <block type="timeouts_cleartimeout" id="_XPp}Ow}jRhmyrNcIyB?">
                        <field name="NAME">timeout2</field>
                        <next>
                          <block type="timeouts_settimeout" id="od~K/bvg:;:]~?LDL-7N">
                            <field name="NAME">timeout2</field>
                            <field name="DELAY">3</field>
                            <field name="UNIT">min</field>
                            <statement name="STATEMENT">
                              <block type="control" id="$4$p]?#3?/KaYsh,Xu4{">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">sonoff.0.WWSpeicher.POWER</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="SMfo*vQ4EkBhOmro*E-+">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="control" id="}wGq{HYso//Qw~(*WNCn">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">sonoff.0.WWPumpe.POWER</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="Me;T`EW77OGL{l{I19x(">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="control" id="ra|].]jT@H[yvlKoV8Sl">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">sonoff.0.WWThermostat.POWER</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="%Qa|C@=^wD,@?/=Cv[^V">
                                            <field name="BOOL">FALSE</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="debug" id="Z-xDa5T`U@+aK~51MN_L">
                                            <field name="Severity">info</field>
                                            <value name="TEXT">
                                              <shadow type="text" id="rySh#%]s]luxZ.8]kVbQ">
                                                <field name="TEXT">Dreiwegeventil = AUS</field>
                                              </shadow>
                                            </value>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </statement>
      </block>
    </xml>
    

    Vielen Dank schon mal!

    Homematic-Raspi auf Raspi 3+
    IOBroker auf Raspi 4
    Kostal PLENTICORE plus 4.2 mit Batterie;

    paul53P A 2 Antworten Letzte Antwort
    0
    • A Andreas 9

      Hallo, ich komm mal wieder mit blockly nicht klar:
      Ich will ein 3-Wegeventil am Warmwasserspeicher 1x pro Woche bewegen, damit es nicht (wie schon vorgekommen) einrostet. Es soll 3x hintereinander für 3 Min auf und für 3 Min zu gemacht werden. Dazu müssen WWSpeicher und WWPumpe und WWThermostat geschaltet werden.
      Dazu habe ich folgendes Blockly erstellt.
      Leider werden alle Kommandos innerhalb der Wiederholen-Schleife direkt hintereinander ausgeführt. Das timeout funktioniert nicht.
      Was hab ich falsch gemacht? Hat jemand eine Idee?
      Hier das Blockly:
      blockly.jpg
      Hier der Code:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable type="timeout" id="timeout">timeout</variable>
          <variable type="timeout" id="timeout2">timeout2</variable>
        </variables>
        <block type="schedule" id="cXZ2I8FRwIsL1Uuo9qL:" x="88" y="-512">
          <field name="SCHEDULE">{"time":{"exactTime":true,"start":"11:12"},"period":{"weeks":1,"dows":"[0]"}}</field>
          <statement name="STATEMENT">
            <block type="controls_repeat_ext" id=".AGm^+cS|tM)^an_ckg8">
              <value name="TIMES">
                <shadow type="math_number" id="yEotLT10W)y514oe22@z">
                  <field name="NUM">3</field>
                </shadow>
              </value>
              <statement name="DO">
                <block type="timeouts_cleartimeout" id="_v-Vwch5wth_LWUU:ko/">
                  <field name="NAME">timeout</field>
                  <next>
                    <block type="timeouts_settimeout" id="7gkzxX:8tw-4ps],SfBT">
                      <field name="NAME">timeout</field>
                      <field name="DELAY">3</field>
                      <field name="UNIT">min</field>
                      <statement name="STATEMENT">
                        <block type="control" id="n+WrE78HA@4Xg=embMLc">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">sonoff.0.WWSpeicher.POWER</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="K2HYSR/Y2WZK}TQ(U.rR">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                          <next>
                            <block type="control" id="@P`Mk6%eb_xhaC0HrYxN">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">sonoff.0.WWPumpe.POWER</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="ADi9{y|pw==]];efnKL9">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="7s=VH*ia3:QJNNRBFE0Y" disabled="true">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">sonoff.0.WWThermostat.POWER</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id=".H[G4a/Gt/RG_-avP_ut">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="debug" id="gV0Fl[BoG5OXVrWH#B-I">
                                      <field name="Severity">info</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="Nf!`R3;ka^S2~e-mU9G)">
                                          <field name="TEXT">Dreiwegeventil = EIN</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                      <next>
                        <block type="timeouts_cleartimeout" id="_XPp}Ow}jRhmyrNcIyB?">
                          <field name="NAME">timeout2</field>
                          <next>
                            <block type="timeouts_settimeout" id="od~K/bvg:;:]~?LDL-7N">
                              <field name="NAME">timeout2</field>
                              <field name="DELAY">3</field>
                              <field name="UNIT">min</field>
                              <statement name="STATEMENT">
                                <block type="control" id="$4$p]?#3?/KaYsh,Xu4{">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">sonoff.0.WWSpeicher.POWER</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="SMfo*vQ4EkBhOmro*E-+">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="control" id="}wGq{HYso//Qw~(*WNCn">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">sonoff.0.WWPumpe.POWER</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="logic_boolean" id="Me;T`EW77OGL{l{I19x(">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="control" id="ra|].]jT@H[yvlKoV8Sl">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">sonoff.0.WWThermostat.POWER</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="%Qa|C@=^wD,@?/=Cv[^V">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="debug" id="Z-xDa5T`U@+aK~51MN_L">
                                              <field name="Severity">info</field>
                                              <value name="TEXT">
                                                <shadow type="text" id="rySh#%]s]luxZ.8]kVbQ">
                                                  <field name="TEXT">Dreiwegeventil = AUS</field>
                                                </shadow>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      

      Vielen Dank schon mal!

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

      @andreas-9 sagte: Hat jemand eine Idee?

      Verwende ein Intervall zusammen mit einer Zählvariablen.

      Blockly_temp.JPG

      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

      1 Antwort Letzte Antwort
      0
      • A Andreas 9

        Hallo, ich komm mal wieder mit blockly nicht klar:
        Ich will ein 3-Wegeventil am Warmwasserspeicher 1x pro Woche bewegen, damit es nicht (wie schon vorgekommen) einrostet. Es soll 3x hintereinander für 3 Min auf und für 3 Min zu gemacht werden. Dazu müssen WWSpeicher und WWPumpe und WWThermostat geschaltet werden.
        Dazu habe ich folgendes Blockly erstellt.
        Leider werden alle Kommandos innerhalb der Wiederholen-Schleife direkt hintereinander ausgeführt. Das timeout funktioniert nicht.
        Was hab ich falsch gemacht? Hat jemand eine Idee?
        Hier das Blockly:
        blockly.jpg
        Hier der Code:

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable type="timeout" id="timeout">timeout</variable>
            <variable type="timeout" id="timeout2">timeout2</variable>
          </variables>
          <block type="schedule" id="cXZ2I8FRwIsL1Uuo9qL:" x="88" y="-512">
            <field name="SCHEDULE">{"time":{"exactTime":true,"start":"11:12"},"period":{"weeks":1,"dows":"[0]"}}</field>
            <statement name="STATEMENT">
              <block type="controls_repeat_ext" id=".AGm^+cS|tM)^an_ckg8">
                <value name="TIMES">
                  <shadow type="math_number" id="yEotLT10W)y514oe22@z">
                    <field name="NUM">3</field>
                  </shadow>
                </value>
                <statement name="DO">
                  <block type="timeouts_cleartimeout" id="_v-Vwch5wth_LWUU:ko/">
                    <field name="NAME">timeout</field>
                    <next>
                      <block type="timeouts_settimeout" id="7gkzxX:8tw-4ps],SfBT">
                        <field name="NAME">timeout</field>
                        <field name="DELAY">3</field>
                        <field name="UNIT">min</field>
                        <statement name="STATEMENT">
                          <block type="control" id="n+WrE78HA@4Xg=embMLc">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">sonoff.0.WWSpeicher.POWER</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="K2HYSR/Y2WZK}TQ(U.rR">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                            <next>
                              <block type="control" id="@P`Mk6%eb_xhaC0HrYxN">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">sonoff.0.WWPumpe.POWER</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="ADi9{y|pw==]];efnKL9">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="control" id="7s=VH*ia3:QJNNRBFE0Y" disabled="true">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">sonoff.0.WWThermostat.POWER</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id=".H[G4a/Gt/RG_-avP_ut">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="debug" id="gV0Fl[BoG5OXVrWH#B-I">
                                        <field name="Severity">info</field>
                                        <value name="TEXT">
                                          <shadow type="text" id="Nf!`R3;ka^S2~e-mU9G)">
                                            <field name="TEXT">Dreiwegeventil = EIN</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </statement>
                        <next>
                          <block type="timeouts_cleartimeout" id="_XPp}Ow}jRhmyrNcIyB?">
                            <field name="NAME">timeout2</field>
                            <next>
                              <block type="timeouts_settimeout" id="od~K/bvg:;:]~?LDL-7N">
                                <field name="NAME">timeout2</field>
                                <field name="DELAY">3</field>
                                <field name="UNIT">min</field>
                                <statement name="STATEMENT">
                                  <block type="control" id="$4$p]?#3?/KaYsh,Xu4{">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">sonoff.0.WWSpeicher.POWER</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="SMfo*vQ4EkBhOmro*E-+">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="control" id="}wGq{HYso//Qw~(*WNCn">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">sonoff.0.WWPumpe.POWER</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="Me;T`EW77OGL{l{I19x(">
                                            <field name="BOOL">FALSE</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="control" id="ra|].]jT@H[yvlKoV8Sl">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">sonoff.0.WWThermostat.POWER</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="%Qa|C@=^wD,@?/=Cv[^V">
                                                <field name="BOOL">FALSE</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="debug" id="Z-xDa5T`U@+aK~51MN_L">
                                                <field name="Severity">info</field>
                                                <value name="TEXT">
                                                  <shadow type="text" id="rySh#%]s]luxZ.8]kVbQ">
                                                    <field name="TEXT">Dreiwegeventil = AUS</field>
                                                  </shadow>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </xml>
        

        Vielen Dank schon mal!

        A Offline
        A Offline
        Andreas 9
        schrieb am zuletzt editiert von
        #3

        @andreas-9
        Super! Danke!
        Ich teste das gleich mal.
        Noch ne Frage: Wozu ist dann das "wiederhole..."-Blockly?

        Homematic-Raspi auf Raspi 3+
        IOBroker auf Raspi 4
        Kostal PLENTICORE plus 4.2 mit Batterie;

        A 1 Antwort Letzte Antwort
        0
        • A Andreas 9

          @andreas-9
          Super! Danke!
          Ich teste das gleich mal.
          Noch ne Frage: Wozu ist dann das "wiederhole..."-Blockly?

          A Offline
          A Offline
          Andreas 9
          schrieb am zuletzt editiert von
          #4

          @andreas-9 Funktioniert hervorragend!!!
          Ich frage mich aber doch warum das mit dem "wiederhole"-Blockly nicht funktioniert.
          Viele Grüße ins Forum!

          Homematic-Raspi auf Raspi 3+
          IOBroker auf Raspi 4
          Kostal PLENTICORE plus 4.2 mit Batterie;

          AsgothianA 1 Antwort Letzte Antwort
          0
          • A Andreas 9

            @andreas-9 Funktioniert hervorragend!!!
            Ich frage mich aber doch warum das mit dem "wiederhole"-Blockly nicht funktioniert.
            Viele Grüße ins Forum!

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von Asgothian
            #5

            @andreas-9 sagte in 3-Wegeventil 3x hintereinander auf und zu machen mit Blockly:

            Ich frage mich aber doch warum das mit dem "wiederhole"-Blockly nicht funktioniert.

            Das ist einfach erklärt:

            der Ausführen Timeout Block macht 2 Dinge:

            • er trägt in eine Liste ein was zur der angegebenen Zeit ausgeführt werden soll
            • er gibt eine Referenz auf diesen Eintrag in der Liste zurück.

            Der stop timeout Block macht genau eins: Er nimmt die Referenz und schaut in der Liste nach - ist da noch was, dann kommt es weg.

            Was deine Schleife also gemacht hat ist
            3 mal nacheinander (schnell) :

            • timeout aus der Liste entfernen
            • timeout in die Liste eintragen, delay 3 minuten
            • timeout2 aus der Liste entfernen
            • timeout2 in die Liste eintragen, delay 3 minuten

            An keiner der Stellen wartet er die 3 Minuten bevor er etwas an der Liste macht :)

            Am Ende der Schleife hast du also in der Liste:

            • einen Eintrag timeout, in 3 Minuten schalte die 3 Dinge ein
            • einen Eintrag, timeout2, in 3 Minuten, schalte die 3 Dinge aus

            Da das ganze sequentiell abgearbeitet wurde ist der Zeitpunkt des Ein und Ausschalten um wenige Millisekunden auseinander. Ich denke so 10 -50.

            Sprich ca. 3 Minuten nach Zeitplan-Start werden die 3 Geräte für 10-50 ms eingeschaltet :)

            A.

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            A 1 Antwort Letzte Antwort
            0
            • AsgothianA Asgothian

              @andreas-9 sagte in 3-Wegeventil 3x hintereinander auf und zu machen mit Blockly:

              Ich frage mich aber doch warum das mit dem "wiederhole"-Blockly nicht funktioniert.

              Das ist einfach erklärt:

              der Ausführen Timeout Block macht 2 Dinge:

              • er trägt in eine Liste ein was zur der angegebenen Zeit ausgeführt werden soll
              • er gibt eine Referenz auf diesen Eintrag in der Liste zurück.

              Der stop timeout Block macht genau eins: Er nimmt die Referenz und schaut in der Liste nach - ist da noch was, dann kommt es weg.

              Was deine Schleife also gemacht hat ist
              3 mal nacheinander (schnell) :

              • timeout aus der Liste entfernen
              • timeout in die Liste eintragen, delay 3 minuten
              • timeout2 aus der Liste entfernen
              • timeout2 in die Liste eintragen, delay 3 minuten

              An keiner der Stellen wartet er die 3 Minuten bevor er etwas an der Liste macht :)

              Am Ende der Schleife hast du also in der Liste:

              • einen Eintrag timeout, in 3 Minuten schalte die 3 Dinge ein
              • einen Eintrag, timeout2, in 3 Minuten, schalte die 3 Dinge aus

              Da das ganze sequentiell abgearbeitet wurde ist der Zeitpunkt des Ein und Ausschalten um wenige Millisekunden auseinander. Ich denke so 10 -50.

              Sprich ca. 3 Minuten nach Zeitplan-Start werden die 3 Geräte für 10-50 ms eingeschaltet :)

              A.

              A Offline
              A Offline
              Andreas 9
              schrieb am zuletzt editiert von
              #6

              @asgothian
              Na das hast du aber toll erklärt! Vielen Dank!
              Das hab sogar ich kapiert. :grinning:
              Wie aber arbeitet man denn damit?
              Mit "if timeout ..."?

              Homematic-Raspi auf Raspi 3+
              IOBroker auf Raspi 4
              Kostal PLENTICORE plus 4.2 mit Batterie;

              paul53P AsgothianA 2 Antworten Letzte Antwort
              0
              • A Andreas 9

                @asgothian
                Na das hast du aber toll erklärt! Vielen Dank!
                Das hab sogar ich kapiert. :grinning:
                Wie aber arbeitet man denn damit?
                Mit "if timeout ..."?

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

                @andreas-9 sagte: Wie aber arbeitet man denn damit?

                Mit Pause, wenn man die Abarbeitung der Schleife verzögern will.

                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

                1 Antwort Letzte Antwort
                0
                • A Andreas 9

                  @asgothian
                  Na das hast du aber toll erklärt! Vielen Dank!
                  Das hab sogar ich kapiert. :grinning:
                  Wie aber arbeitet man denn damit?
                  Mit "if timeout ..."?

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @andreas-9 sagte in 3-Wegeventil 3x hintereinander auf und zu machen mit Blockly:

                  @asgothian
                  Na das hast du aber toll erklärt! Vielen Dank!
                  Das hab sogar ich kapiert. :grinning:
                  Wie aber arbeitet man denn damit?
                  Mit "if timeout ..."?

                  Was meinst du mit 'wie arbeitet man damit' ?

                  Wenn du mehrere Aktionen zeitlich nacheinander haben willst sind Intervalle dein Freund.
                  Wenn eine Aktion darauf warten soll das so ein Timeout abgearbeitet wurde, dann sind 'hilft-states' unter '0_userdata.0' dein Freund (setzen in dem Teil wo der Timeout abgearbeitet wird, Auswerten über Trigger.
                  Wenn du Ressourcen verschwenden willst machst du einen 'heartbeat', sprich ein Intervall das jede Sekunde oder so aktiv wird um irgendwelche Variable zu prüfen

                  Die von @paul53 angesprochene 'pause' funktioniert in der Theorie auch, hat aber den Nachteil das sie nicht (ohne weiteres) abgebrochen werden kannn. Die Pause läuft immer bis zum Ende

                  Ein Skript wie dieses ist also eher ungünstig:
                  Screenshot 2025-03-03 at 10.20.38.png

                  Sobald der Ablauf einmal gestartet wurde läuft der für 150 s ohne eine Chance das er abgebrochen wird - es sei denn jemand beendet das gesamte Skript. Wenn man das gleiche mit Intervallen und/oder timeouts macht kann man bei jeder Aktion das ganze abbrechen.

                  Natürlich kann man da mit extra-Konstruktionen auch einen Abbruch mit einbauen - das ist aber aufwändig und geht gegen das Prinzip einer 'event-basierten' Abarbeitung auf dem der ioBroker aufbaut.

                  A

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  A 1 Antwort Letzte Antwort
                  0
                  • AsgothianA Asgothian

                    @andreas-9 sagte in 3-Wegeventil 3x hintereinander auf und zu machen mit Blockly:

                    @asgothian
                    Na das hast du aber toll erklärt! Vielen Dank!
                    Das hab sogar ich kapiert. :grinning:
                    Wie aber arbeitet man denn damit?
                    Mit "if timeout ..."?

                    Was meinst du mit 'wie arbeitet man damit' ?

                    Wenn du mehrere Aktionen zeitlich nacheinander haben willst sind Intervalle dein Freund.
                    Wenn eine Aktion darauf warten soll das so ein Timeout abgearbeitet wurde, dann sind 'hilft-states' unter '0_userdata.0' dein Freund (setzen in dem Teil wo der Timeout abgearbeitet wird, Auswerten über Trigger.
                    Wenn du Ressourcen verschwenden willst machst du einen 'heartbeat', sprich ein Intervall das jede Sekunde oder so aktiv wird um irgendwelche Variable zu prüfen

                    Die von @paul53 angesprochene 'pause' funktioniert in der Theorie auch, hat aber den Nachteil das sie nicht (ohne weiteres) abgebrochen werden kannn. Die Pause läuft immer bis zum Ende

                    Ein Skript wie dieses ist also eher ungünstig:
                    Screenshot 2025-03-03 at 10.20.38.png

                    Sobald der Ablauf einmal gestartet wurde läuft der für 150 s ohne eine Chance das er abgebrochen wird - es sei denn jemand beendet das gesamte Skript. Wenn man das gleiche mit Intervallen und/oder timeouts macht kann man bei jeder Aktion das ganze abbrechen.

                    Natürlich kann man da mit extra-Konstruktionen auch einen Abbruch mit einbauen - das ist aber aufwändig und geht gegen das Prinzip einer 'event-basierten' Abarbeitung auf dem der ioBroker aufbaut.

                    A

                    A Offline
                    A Offline
                    Andreas 9
                    schrieb am zuletzt editiert von
                    #9

                    @asgothian
                    Na da hab ich jetzt ja viel Stoff zum rumprobbieren!
                    Vielen Dank für die ausführlichen Erklärungen.
                    Sorry, aber mit der Kontext-Hilfe komme ich nicht wirklich zurecht...

                    Homematic-Raspi auf Raspi 3+
                    IOBroker auf Raspi 4
                    Kostal PLENTICORE plus 4.2 mit Batterie;

                    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

                    300

                    Online

                    32.6k

                    Benutzer

                    82.3k

                    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