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. Timeout richtig verwenden

NEWS

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

  • 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

Timeout richtig verwenden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
11 Beiträge 3 Kommentatoren 314 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.
  • I invidianer

    Servus!

    Irgendwie stehe ich bisschen auf dem Schlauch: Ich möchte in mein Skript eine Abfrage einbauen, die mir mitteilt, wenn die Tauchpumpe länger, als 20 Sekunden läuft. Schon klar, daß das irgendwie mit einem Timeout geht, aber ich komme nicht drauf.
    Anbei mein Skript:

    <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
        <variable id="EP`a-qu0Mi)#+F^5KaM)">Tauchpumpe_aktiv?</variable>
      </variables>
      <block type="variables_set" id="vB%/(%QK-.|VB8olH+F+" x="-62" y="-137">
        <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Tauchpumpe_aktiv?</field>
        <value name="VALUE">
          <block type="logic_boolean" id="Zt3N#kbH0XjK+}5)pbJ^">
            <field name="BOOL">FALSE</field>
          </block>
        </value>
        <next>
          <block type="on" id="?*7pS-cANelnRStH5fpi">
            <field name="OID">sonoff.0.Tauchpumpe.ENERGY_Power</field>
            <field name="CONDITION">ne</field>
            <field name="ACK_CONDITION"></field>
            <statement name="STATEMENT">
              <block type="controls_if" id="*bOx]47]yxIByA#qqt3J">
                <mutation elseif="1"></mutation>
                <value name="IF0">
                  <block type="logic_operation" id="Z=d#73]O`zyDGC~L|Jn/" inline="false">
                    <field name="OP">AND</field>
                    <value name="A">
                      <block type="logic_compare" id=".(cUpb9mFzXnI.u`/RGu">
                        <field name="OP">GTE</field>
                        <value name="A">
                          <block type="on_source" id="+L|D9(N^L/_9p**AC4Y#">
                            <field name="ATTR">state.val</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="math_number" id="IRXiQ:Tf}.:}u-F;(J?|">
                            <field name="NUM">3</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_compare" id="!+aTX:f8zpg?koPwXqU9">
                        <field name="OP">EQ</field>
                        <value name="A">
                          <block type="variables_get" id="~^+uLCVDphEA1T3csQ;4">
                            <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Tauchpumpe_aktiv?</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_boolean" id="m9)+OzK@16j;{0FErZe_">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="variables_set" id="yj^]v8#=,-=xs,C$1:0m">
                    <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Tauchpumpe_aktiv?</field>
                    <value name="VALUE">
                      <block type="logic_boolean" id="c%J}.8a#0L-%7wEqRPVF">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                    <next>
                      <block type="telegram" id=")43X.^NP$KHLnE,ZJK[m">
                        <field name="INSTANCE"></field>
                        <field name="LOG"></field>
                        <field name="SILENT">FALSE</field>
                        <field name="PARSEMODE">default</field>
                        <value name="MESSAGE">
                          <shadow type="text" id="B`kyTY5/jBuR@[lQA^oW">
                            <field name="TEXT">Tauchpumpe läuft</field>
                          </shadow>
                        </value>
                      </block>
                    </next>
                  </block>
                </statement>
                <value name="IF1">
                  <block type="logic_operation" id="ypsA%)wGaJm%m/NKb;=i" inline="false">
                    <field name="OP">AND</field>
                    <value name="A">
                      <block type="logic_operation" id="BJcJfH;;~Zs!Cb;|si9H">
                        <field name="OP">AND</field>
                        <value name="A">
                          <block type="logic_compare" id="`of^ix$+JJ:q+jB]LuGW">
                            <field name="OP">LT</field>
                            <value name="A">
                              <block type="on_source" id="%%:?,%fLZ^rP#abOHUuC">
                                <field name="ATTR">state.val</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="math_number" id="}xv`$j.L]mt%:X1mr]{E">
                                <field name="NUM">3</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_compare" id="RAy_B|_N=),^/yP4_=go">
                            <field name="OP">GT</field>
                            <value name="A">
                              <block type="on_source" id="iz,6l+`khcZXn548=_mG">
                                <field name="ATTR">state.val</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="math_number" id="6g$-XC4nL#:SQe2k#6MS">
                                <field name="NUM">0</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_compare" id="Q+6~nu9t9);pkS12`.AL">
                        <field name="OP">EQ</field>
                        <value name="A">
                          <block type="variables_get" id="cpnf;Gi35/{P3:nPjq[W">
                            <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Tauchpumpe_aktiv?</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_boolean" id="J57c)XE#PG(Da`u;jg#,">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO1">
                  <block type="variables_set" id=":eS4G4/zu.ky;:[2FzJN">
                    <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Tauchpumpe_aktiv?</field>
                    <value name="VALUE">
                      <block type="logic_boolean" id="ly}z},:j05vr{-G[6+~L">
                        <field name="BOOL">FALSE</field>
                      </block>
                    </value>
                    <next>
                      <block type="telegram" id="9?I2K.J*.|N*=,2aN+V_">
                        <field name="INSTANCE"></field>
                        <field name="LOG"></field>
                        <field name="SILENT">FALSE</field>
                        <field name="PARSEMODE">default</field>
                        <value name="MESSAGE">
                          <shadow type="text" id="m0]cKJ`QA.tao?AAm`!P">
                            <field name="TEXT">Tauchpumpe fertig</field>
                          </shadow>
                        </value>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </xml>
    

    Danke Euch!

    K Offline
    K Offline
    klassisch
    Most Active
    schrieb am zuletzt editiert von
    #2

    @invidianer schau mal, dort https://forum.iobroker.net/post/110978 ist das für Jscript beschrieben. Das was innerhalb der function steht, wird nach Ablauf der Zeit ausgeführt. Ist etwas ungewöhnlich, weil das dann vor der timeout-Zeit steht und nicht danach.

    I 1 Antwort Letzte Antwort
    0
    • K klassisch

      @invidianer schau mal, dort https://forum.iobroker.net/post/110978 ist das für Jscript beschrieben. Das was innerhalb der function steht, wird nach Ablauf der Zeit ausgeführt. Ist etwas ungewöhnlich, weil das dann vor der timeout-Zeit steht und nicht danach.

      I Offline
      I Offline
      invidianer
      schrieb am zuletzt editiert von
      #3

      @klassisch
      Danke! Das ist je bestimmt geil, wenn man es versteht :dog:
      Kann man das in Blockly denn gar nicht machen? Wofür gibt es in Blockly dann diese olivefarbenen "timeout"-Dinger?

      K 1 Antwort Letzte Antwort
      0
      • I invidianer

        @klassisch
        Danke! Das ist je bestimmt geil, wenn man es versteht :dog:
        Kann man das in Blockly denn gar nicht machen? Wofür gibt es in Blockly dann diese olivefarbenen "timeout"-Dinger?

        K Offline
        K Offline
        klassisch
        Most Active
        schrieb am zuletzt editiert von klassisch
        #4

        @invidianer vielleicht so; Mein erstes Blockly.
        4901238b-8b91-46dd-ae88-0f1b82fd0303-image.png

        schickt nach 5 Sekunden eine Mail. Führt nach 5 Sekunden das aus, was innerhalb der "Zange" ist,

        1 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          invidianer
          schrieb am zuletzt editiert von invidianer
          #5

          Hilft mir leider nicht weiter.
          Hier mein Blockly als Bild.

          Bildschirmfoto 2021-02-02 um 20.03.59.jpg

          Im erstren "mache"-Bereich muß geprüft werden, ob die Pumpe länger, als 20 Sekunden läiuft.

          paul53P 2 Antworten Letzte Antwort
          0
          • I invidianer

            Hilft mir leider nicht weiter.
            Hier mein Blockly als Bild.

            Bildschirmfoto 2021-02-02 um 20.03.59.jpg

            Im erstren "mache"-Bereich muß geprüft werden, ob die Pumpe länger, als 20 Sekunden läiuft.

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

            @invidianer sagte: Im erstren "mache"-Bereich muß geprüft werden, ob die Pumpe länger, als 20 Sekunden läiuft.

            Bild_2021-02-02_200739.png

            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
            • I invidianer

              Hilft mir leider nicht weiter.
              Hier mein Blockly als Bild.

              Bildschirmfoto 2021-02-02 um 20.03.59.jpg

              Im erstren "mache"-Bereich muß geprüft werden, ob die Pumpe länger, als 20 Sekunden läiuft.

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

              @invidianer
              Durch Prüfung der Variable timeout lässt es sich vereinfachen.

              Bild_2021-02-02_202228.png

              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

              I 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @invidianer
                Durch Prüfung der Variable timeout lässt es sich vereinfachen.

                Bild_2021-02-02_202228.png

                I Offline
                I Offline
                invidianer
                schrieb am zuletzt editiert von
                #8

                @paul53

                Cool, danke!!

                Wen wir nochmal MEINE Version (der Einfachheit) nehmen:
                Dann ist es also so, daß der aktuelle "Durchlauf" innerhalb der "mache"-Zange (Tauchpumpe aktiv) unterbrochen wird, sobald sich der Stromverbrauch wieder unter 3 Watt befindet und dann die "mache"-Zange für Tauchpumpe inaktiv abgearbeitet wird?
                Ich war davon ausgegangen, daß die "mache"-Zange (Tauchpumpe aktiv) auf jeden Fall zuerst mal komplett ausgeführt wird, also auch der Timeout unabhängig davon, ob sich der Stromverbrauch mittlerweile geändert hat. Dem ist also nicht so?

                paul53P 1 Antwort Letzte Antwort
                0
                • I invidianer

                  @paul53

                  Cool, danke!!

                  Wen wir nochmal MEINE Version (der Einfachheit) nehmen:
                  Dann ist es also so, daß der aktuelle "Durchlauf" innerhalb der "mache"-Zange (Tauchpumpe aktiv) unterbrochen wird, sobald sich der Stromverbrauch wieder unter 3 Watt befindet und dann die "mache"-Zange für Tauchpumpe inaktiv abgearbeitet wird?
                  Ich war davon ausgegangen, daß die "mache"-Zange (Tauchpumpe aktiv) auf jeden Fall zuerst mal komplett ausgeführt wird, also auch der Timeout unabhängig davon, ob sich der Stromverbrauch mittlerweile geändert hat. Dem ist also nicht so?

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

                  @invidianer sagte: der aktuelle "Durchlauf" innerhalb der "mache"-Zange (Tauchpumpe aktiv) unterbrochen wird, sobald sich der Stromverbrauch wieder unter 3 Watt befindet

                  Nein, es wird nichts unterbrochen: Der Timeout läuft weiter, wenn er nicht im sonst-Zweig gestoppt wird.

                  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

                  I 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @invidianer sagte: der aktuelle "Durchlauf" innerhalb der "mache"-Zange (Tauchpumpe aktiv) unterbrochen wird, sobald sich der Stromverbrauch wieder unter 3 Watt befindet

                    Nein, es wird nichts unterbrochen: Der Timeout läuft weiter, wenn er nicht im sonst-Zweig gestoppt wird.

                    I Offline
                    I Offline
                    invidianer
                    schrieb am zuletzt editiert von
                    #10

                    @paul53
                    Hmm, das bedeutet, auch, wenn die Pumpe nach 5 Sekunden längst fertig ist, wartet er erst insgesamt 20 Sekunden und meldet erst dann, daß sie fertig ist?

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • I invidianer

                      @paul53
                      Hmm, das bedeutet, auch, wenn die Pumpe nach 5 Sekunden längst fertig ist, wartet er erst insgesamt 20 Sekunden und meldet erst dann, daß sie fertig ist?

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

                      @invidianer sagte: wenn die Pumpe nach 5 Sekunden längst fertig ist, wartet er erst insgesamt 20 Sekunden und meldet erst dann, daß sie fertig ist?

                      Nein, die Verzögerung wirkt nur auf die Meldung, dass die Pumpe seit 20 s läuft.

                      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
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      568

                      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