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. Blockly
  5. [Frage] zwei Trigger erlaubt?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[Frage] zwei Trigger erlaubt?

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
9 Beiträge 3 Kommentatoren 1.2k 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.
  • W Offline
    W Offline
    weimaraner
    schrieb am zuletzt editiert von weimaraner
    #1

    Hallo,
    ich habe folgende Konstellation. Ein Skrip soll laufen, wenn ein Datenpunkt geändert wird (in dem Fall, wenn der DP "Pool Modus" geändert wird). Spätestens um 10:00 Uhr soll das Skript aber auch laufen, falls der DP schon vor 10:00 Uhr geändert wurde und sich dann nicht mehr ändert und somit das Skript nicht mehr anstößt. Darf ich da einen Trigger im Trigger machen?
    Grüße Andreas

    Edit: darf ich dann noch mit dem Baustein "Wert" und "vorheriger Wert" arbeiten?

    trigger im trigger.JPG

    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #2

      @weimaraner sagte in [Frage] zwei Trigger erlaubt?:

      Darf ich da einen Trigger im Trigger machen?

      Nein. So erzeugst du jeden Tag im 10 eine neue Kopie des inneren Triggers, der dann jeden Tag 1x mehr ausgeführt wird als am Vortag.

      Was du machen kannst, ist die eigentliche Logik in eine Funktion kapseln, die beiden Trigger auf oberster Ebene anordnen (nicht schachteln) und darin jeweils nur die Funktion aufrufen.
      Etwas schwieriger wird es dadurch, dass du die Werte des Objekts verwendest. Die müsstest du an die Funktion übergeben, damit es mit den beiden verschiedenen Triggern funktioniert.

      Habe gerade kein Blockly zur Hand, vielleicht findet sich ja jemand, der im Detail helfen kann.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      W 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @weimaraner sagte in [Frage] zwei Trigger erlaubt?:

        Darf ich da einen Trigger im Trigger machen?

        Nein. So erzeugst du jeden Tag im 10 eine neue Kopie des inneren Triggers, der dann jeden Tag 1x mehr ausgeführt wird als am Vortag.

        Was du machen kannst, ist die eigentliche Logik in eine Funktion kapseln, die beiden Trigger auf oberster Ebene anordnen (nicht schachteln) und darin jeweils nur die Funktion aufrufen.
        Etwas schwieriger wird es dadurch, dass du die Werte des Objekts verwendest. Die müsstest du an die Funktion übergeben, damit es mit den beiden verschiedenen Triggern funktioniert.

        Habe gerade kein Blockly zur Hand, vielleicht findet sich ja jemand, der im Detail helfen kann.

        W Offline
        W Offline
        weimaraner
        schrieb am zuletzt editiert von
        #3

        @AlCalzone ...und das geht auch nicht?

        Trigger.JPG

        paul53P 1 Antwort Letzte Antwort
        0
        • W weimaraner

          @AlCalzone ...und das geht auch nicht?

          Trigger.JPG

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

          @weimaraner sagte:

          das geht auch nicht?

          Nein.

          @weimaraner sagte in [Frage] zwei Trigger erlaubt?:

          darf ich dann noch mit dem Baustein "Wert" und "vorheriger Wert" arbeiten?

          Beim Zeittrigger um 10:00 Uhr steht "vorheriger Wert" nicht zur Verfügung. Man kann ihn aber in einer Funktion auswerten, wenn er in einer Variable gespeichert ist.

          Blockly_Trigger_Schedule.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
          • W Offline
            W Offline
            weimaraner
            schrieb am zuletzt editiert von
            #5

            @paul53
            Uihhh, jetzt raucht der Kopf... :anguished:
            Mir ist noch der Gedanke gekommen, einen zweiten Trigger zu platzieren, der die Poolheizung startet, wenn der DP "PoolModus" vor 10:00 schon auf true gegangen ist, dann meine Variable "Count" mit bedient und falls es danach bewölkt wird, dann greift mein ursprünglicher Trigger "Objekt wurde geändert" und meine Variable "Count" wird von dort gestoppt und wieder gestartet, wenn es wieder sonnig wird.
            Ein bißchen "unschlank" das ganze, aber ich kann es verstehen. :relaxed:

            Das müßte doch funktionieren?

            zweiter trigger.JPG

            <xml xmlns="http://www.w3.org/1999/xhtml">
            <block type="variables_set" id="D2~QA]~?;gr_1n-Ktx0G" x="-437" y="-37">
            <field name="VAR">count</field>
            <value name="VALUE">
            <block type="math_number" id="%v~(g}=cGnp2(oT2)aV7">
            <field name="NUM">0</field>
            </block>
            </value>
            <next>
            <block type="comment" id="seoWv[;Tmy#dN{YzIQU.">
            <field name="COMMENT">Trigger auf Wärme ab 10:00</field>
            <next>
            <block type="on" id="ip;%W;Ld10n)kG3:D.tE">
            <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Modus</field>
            <field name="CONDITION">ne</field>
            <field name="ACK_CONDITION"></field>
            <statement name="STATEMENT">
            <block type="controls_if" id="yIy69RSYt}J;UQ!;[f!"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="ut?9Q^d+[ZcmZ8amvHya" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="8~ssTTJY/|-[98OGjG:g" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="time_compare" id="4|2eb2,6mp#R#]LKMun">
            <mutation end_time="false"></mutation>
            <field name="OPTION">></field>
            <field name="START_TIME">10:00</field>
            </block>
            </value>
            <value name="B">
            <block type="time_compare" id="Wu-?qhMoZw~[X~+JwKE">
            <mutation end_time="false"></mutation>
            <field name="OPTION"><</field>
            <field name="START_TIME">15:59</field>
            </block>
            </value>
            </block>
            </value>
            <value name="B">
            <block type="logic_compare" id="e~(6MJbygF0W}=a)J6iq">
            <field name="OP">EQ</field>
            <value name="A">
            <block type="on_source" id="E]DP+~6jLs|Gb6mBzQe"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="3xn]PLudQI_60tu4pi/1"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="5yGKq%OF!W!nJ)uVT#X4"> <value name="IF0"> <block type="logic_operation" id=")enx5FSu2o8K{0VQ,zQ" inline="false">
            <field name="OP">AND</field>
            <value name="A">
            <block type="logic_compare" id="(gTgGXl/S?)B(N8858CU">
            <field name="OP">EQ</field>
            <value name="A">
            <block type="on_source" id="s~aI/bm#ykjg?SES@UMH">
            <field name="ATTR">oldState.val</field>
            </block>
            </value>
            <value name="B">
            <block type="logic_boolean" id="|?v86|DTE}#qoSgbkNp:">
            <field name="BOOL">FALSE</field>
            </block>
            </value>
            </block>
            </value>
            <value name="B">
            <block type="logic_compare" id="^;Vc5:!.#AzoO#;wwsmn">
            <field name="OP">LT</field>
            <value name="A">
            <block type="variables_get" id="@.X?64%}=t:}:!]a6zyr">
            <field name="VAR">count</field>
            </block>
            </value>
            <value name="B">
            <block type="math_number" id="^uvui(D#|dyEv!gf]ayX">
            <field name="NUM">180</field>
            </block>
            </value>
            </block>
            </value>
            </block>
            </value>
            <statement name="DO0">
            <block type="control" id="Em!a%)??dR
            gRJ%K/D0(">
            <mutation delay_input="false"></mutation>
            <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="DHHfvpt?TvLw5Q^Ku63"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_setinterval" id="c+DNWACepNepN[g[I!.x"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="math_change" id="X9QzF3@1d66E*?EfO=Y8"> <field name="VAR">count</field> <value name="DELTA"> <shadow type="math_number" id="]+Bv/5f,~Rz:pZHtloDf"> <field name="NUM">1</field> </shadow> </value> <next> <block type="control" id="t;cl_sjxgFM5#Rnb%Rv3"> <mutation delay_input="false"></mutation> <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Heizung_Restlaufzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="31X)],@[C}#zu([Xm#I">
            <field name="VAR">count</field>
            </block>
            </value>
            <next>
            <block type="controls_if" id="hhOS?gGcOWYQqc;1J(V">
            <value name="IF0">
            <block type="logic_compare" id="Q;[{(RhebZnqPnUBh:}f">
            <field name="OP">GTE</field>
            <value name="A">
            <block type="variables_get" id="a.K}xjr!OEUbSVbdCn_"> <field name="VAR">count</field> </block> </value> <value name="B"> <block type="math_number" id=";[IW_zjCWb}hp-(8p5?">
            <field name="NUM">180</field>
            </block>
            </value>
            </block>
            </value>
            <statement name="DO0">
            <block type="control" id="4MM_9CjkHNgWPl%Swpr">
            <mutation delay_input="false"></mutation>
            <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="%hCbamjc}n*@sD{dNS?"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="9rf**5K?,~_gIz.Wg-(H"> <field name="NAME">Intervall</field> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="r_bwSaXDi@3neZWM-SSL"> <value name="IF0"> <block type="time_compare" id="]bqjVjh#9Im8J16Fn(@">
            <mutation end_time="false"></mutation>
            <field name="OPTION"><</field>
            <field name="START_TIME">16:00</field>
            </block>
            </value>
            <statement name="DO0">
            <block type="control" id="5EFq?2[DZnvI|eKjHXkR">
            <mutation delay_input="false"></mutation>
            <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="Jp.-+m=h^xmhY|Jd{Xt"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="}FFq:5x|,?%k+yTM*8Fc"> <field name="NAME">Intervall</field> <next> <block type="timeouts_clearinterval" id="-st;+@PGS2xC1n_/?eD">
            <field name="NAME">Intervall2</field>
            </block>
            </next>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </statement>
            </block>
            </statement>
            <next>
            <block type="comment" id="}5BXP4cOY7hGm1wL|swE">
            <field name="COMMENT">Trigger ab 10:00 wenn es schon warm war</field>
            <next>
            <block type="schedule" id="TqH/.@Q%9kzyoeWywU(e">
            <field name="SCHEDULE">0 10 * * *</field>
            <statement name="STATEMENT">
            <block type="controls_if" id="lq+6t-m(F)YLCTC2K#hp">
            <value name="IF0">
            <block type="logic_compare" id="}xse(=)Ip/Ts_0I4257u">
            <field name="OP">EQ</field>
            <value name="A">
            <block type="get_value" id="k+!*msQ}b;NOO^|NK4_"> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Modus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="U2dHT?kVqr_zr]Z!XBR">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            </block>
            </value>
            <statement name="DO0">
            <block type="control" id="1YSh;]A-5/YGev6yVq,n">
            <mutation delay_input="false"></mutation>
            <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="Q+M+Pb+A(w+n|.]Z706%">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            <next>
            <block type="timeouts_setinterval" id="7pV?9mEYV,^4y6k@/KJx">
            <field name="NAME">Intervall2</field>
            <field name="INTERVAL">1</field>
            <field name="UNIT">min</field>
            <statement name="STATEMENT">
            <block type="math_change" id="Ji!GUZ2}P=xMbVO019gv">
            <field name="VAR">count</field>
            <value name="DELTA">
            <shadow type="math_number" id="aYBTW+WrkwBI1gTh4/Xs">
            <field name="NUM">1</field>
            </shadow>
            </value>
            <next>
            <block type="control" id="zNC4[Ytqig^exdo
            -Chb">
            <mutation delay_input="false"></mutation>
            <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Heizung_Restlaufzeit</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="variables_get" id="3j3zn,IMSiq
            AAh:*9a|">
            <field name="VAR">count</field>
            </block>
            </value>
            <next>
            <block type="controls_if" id="L3.atG}#H?lm(!r.:KU=">
            <value name="IF0">
            <block type="logic_compare" id="CYA|Z?@pdL;kb+zN;]g"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id=":(n%3R95VAjn;;3SLf]">
            <field name="VAR">count</field>
            </block>
            </value>
            <value name="B">
            <block type="math_number" id="Z^r~lDBVj;gNmQwRJIQo">
            <field name="NUM">180</field>
            </block>
            </value>
            </block>
            </value>
            <statement name="DO0">
            <block type="control" id="%KbcswkjmnWZV2{#J)yD">
            <mutation delay_input="false"></mutation>
            <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="3Y%d[bD:T|,Y/BnY5))V">
            <field name="BOOL">FALSE</field>
            </block>
            </value>
            <next>
            <block type="timeouts_clearinterval" id="BwkTxD3={Y}C)xbCy)f}">
            <field name="NAME">Intervall2</field>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </next>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </statement>
            <next>
            <block type="schedule" id="mlpDIa|H7SC!-f2-I3Y"> <field name="SCHEDULE">0 0 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="fONhV+#aPNW|o3Io1Yt@"> <field name="VAR">count</field> <value name="VALUE"> <block type="math_number" id="@8FN=@{_L4Q)CTUO]sJ">
            <field name="NUM">0</field>
            </block>
            </value>
            <next>
            <block type="control" id="f+wJCkS|CU!v:/QNh3M[">
            <mutation delay_input="false"></mutation>
            <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Heizung_Restlaufzeit</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="variables_get" id="BrIw[Cf1zEZCJDk:VXK0">
            <field name="VAR">count</field>
            </block>
            </value>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </next>
            </block>
            </next>
            </block>
            </next>
            </block>
            </next>
            </block>
            </next>
            </block>
            </xml>

            paul53P 1 Antwort Letzte Antwort
            0
            • W weimaraner

              @paul53
              Uihhh, jetzt raucht der Kopf... :anguished:
              Mir ist noch der Gedanke gekommen, einen zweiten Trigger zu platzieren, der die Poolheizung startet, wenn der DP "PoolModus" vor 10:00 schon auf true gegangen ist, dann meine Variable "Count" mit bedient und falls es danach bewölkt wird, dann greift mein ursprünglicher Trigger "Objekt wurde geändert" und meine Variable "Count" wird von dort gestoppt und wieder gestartet, wenn es wieder sonnig wird.
              Ein bißchen "unschlank" das ganze, aber ich kann es verstehen. :relaxed:

              Das müßte doch funktionieren?

              zweiter trigger.JPG

              <xml xmlns="http://www.w3.org/1999/xhtml">
              <block type="variables_set" id="D2~QA]~?;gr_1n-Ktx0G" x="-437" y="-37">
              <field name="VAR">count</field>
              <value name="VALUE">
              <block type="math_number" id="%v~(g}=cGnp2(oT2)aV7">
              <field name="NUM">0</field>
              </block>
              </value>
              <next>
              <block type="comment" id="seoWv[;Tmy#dN{YzIQU.">
              <field name="COMMENT">Trigger auf Wärme ab 10:00</field>
              <next>
              <block type="on" id="ip;%W;Ld10n)kG3:D.tE">
              <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Modus</field>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <statement name="STATEMENT">
              <block type="controls_if" id="yIy69RSYt}J;UQ!;[f!"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="ut?9Q^d+[ZcmZ8amvHya" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="8~ssTTJY/|-[98OGjG:g" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="time_compare" id="4|2eb2,6mp#R#]LKMun">
              <mutation end_time="false"></mutation>
              <field name="OPTION">></field>
              <field name="START_TIME">10:00</field>
              </block>
              </value>
              <value name="B">
              <block type="time_compare" id="Wu-?qhMoZw~[X~+JwKE">
              <mutation end_time="false"></mutation>
              <field name="OPTION"><</field>
              <field name="START_TIME">15:59</field>
              </block>
              </value>
              </block>
              </value>
              <value name="B">
              <block type="logic_compare" id="e~(6MJbygF0W}=a)J6iq">
              <field name="OP">EQ</field>
              <value name="A">
              <block type="on_source" id="E]DP+~6jLs|Gb6mBzQe"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="3xn]PLudQI_60tu4pi/1"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="5yGKq%OF!W!nJ)uVT#X4"> <value name="IF0"> <block type="logic_operation" id=")enx5FSu2o8K{0VQ,zQ" inline="false">
              <field name="OP">AND</field>
              <value name="A">
              <block type="logic_compare" id="(gTgGXl/S?)B(N8858CU">
              <field name="OP">EQ</field>
              <value name="A">
              <block type="on_source" id="s~aI/bm#ykjg?SES@UMH">
              <field name="ATTR">oldState.val</field>
              </block>
              </value>
              <value name="B">
              <block type="logic_boolean" id="|?v86|DTE}#qoSgbkNp:">
              <field name="BOOL">FALSE</field>
              </block>
              </value>
              </block>
              </value>
              <value name="B">
              <block type="logic_compare" id="^;Vc5:!.#AzoO#;wwsmn">
              <field name="OP">LT</field>
              <value name="A">
              <block type="variables_get" id="@.X?64%}=t:}:!]a6zyr">
              <field name="VAR">count</field>
              </block>
              </value>
              <value name="B">
              <block type="math_number" id="^uvui(D#|dyEv!gf]ayX">
              <field name="NUM">180</field>
              </block>
              </value>
              </block>
              </value>
              </block>
              </value>
              <statement name="DO0">
              <block type="control" id="Em!a%)??dR
              gRJ%K/D0(">
              <mutation delay_input="false"></mutation>
              <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="logic_boolean" id="DHHfvpt?TvLw5Q^Ku63"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_setinterval" id="c+DNWACepNepN[g[I!.x"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="math_change" id="X9QzF3@1d66E*?EfO=Y8"> <field name="VAR">count</field> <value name="DELTA"> <shadow type="math_number" id="]+Bv/5f,~Rz:pZHtloDf"> <field name="NUM">1</field> </shadow> </value> <next> <block type="control" id="t;cl_sjxgFM5#Rnb%Rv3"> <mutation delay_input="false"></mutation> <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Heizung_Restlaufzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="31X)],@[C}#zu([Xm#I">
              <field name="VAR">count</field>
              </block>
              </value>
              <next>
              <block type="controls_if" id="hhOS?gGcOWYQqc;1J(V">
              <value name="IF0">
              <block type="logic_compare" id="Q;[{(RhebZnqPnUBh:}f">
              <field name="OP">GTE</field>
              <value name="A">
              <block type="variables_get" id="a.K}xjr!OEUbSVbdCn_"> <field name="VAR">count</field> </block> </value> <value name="B"> <block type="math_number" id=";[IW_zjCWb}hp-(8p5?">
              <field name="NUM">180</field>
              </block>
              </value>
              </block>
              </value>
              <statement name="DO0">
              <block type="control" id="4MM_9CjkHNgWPl%Swpr">
              <mutation delay_input="false"></mutation>
              <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="logic_boolean" id="%hCbamjc}n*@sD{dNS?"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="9rf**5K?,~_gIz.Wg-(H"> <field name="NAME">Intervall</field> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="r_bwSaXDi@3neZWM-SSL"> <value name="IF0"> <block type="time_compare" id="]bqjVjh#9Im8J16Fn(@">
              <mutation end_time="false"></mutation>
              <field name="OPTION"><</field>
              <field name="START_TIME">16:00</field>
              </block>
              </value>
              <statement name="DO0">
              <block type="control" id="5EFq?2[DZnvI|eKjHXkR">
              <mutation delay_input="false"></mutation>
              <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="logic_boolean" id="Jp.-+m=h^xmhY|Jd{Xt"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="}FFq:5x|,?%k+yTM*8Fc"> <field name="NAME">Intervall</field> <next> <block type="timeouts_clearinterval" id="-st;+@PGS2xC1n_/?eD">
              <field name="NAME">Intervall2</field>
              </block>
              </next>
              </block>
              </next>
              </block>
              </statement>
              </block>
              </statement>
              </block>
              </statement>
              <next>
              <block type="comment" id="}5BXP4cOY7hGm1wL|swE">
              <field name="COMMENT">Trigger ab 10:00 wenn es schon warm war</field>
              <next>
              <block type="schedule" id="TqH/.@Q%9kzyoeWywU(e">
              <field name="SCHEDULE">0 10 * * *</field>
              <statement name="STATEMENT">
              <block type="controls_if" id="lq+6t-m(F)YLCTC2K#hp">
              <value name="IF0">
              <block type="logic_compare" id="}xse(=)Ip/Ts_0I4257u">
              <field name="OP">EQ</field>
              <value name="A">
              <block type="get_value" id="k+!*msQ}b;NOO^|NK4_"> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Modus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="U2dHT?kVqr_zr]Z!XBR">
              <field name="BOOL">TRUE</field>
              </block>
              </value>
              </block>
              </value>
              <statement name="DO0">
              <block type="control" id="1YSh;]A-5/YGev6yVq,n">
              <mutation delay_input="false"></mutation>
              <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="logic_boolean" id="Q+M+Pb+A(w+n|.]Z706%">
              <field name="BOOL">TRUE</field>
              </block>
              </value>
              <next>
              <block type="timeouts_setinterval" id="7pV?9mEYV,^4y6k@/KJx">
              <field name="NAME">Intervall2</field>
              <field name="INTERVAL">1</field>
              <field name="UNIT">min</field>
              <statement name="STATEMENT">
              <block type="math_change" id="Ji!GUZ2}P=xMbVO019gv">
              <field name="VAR">count</field>
              <value name="DELTA">
              <shadow type="math_number" id="aYBTW+WrkwBI1gTh4/Xs">
              <field name="NUM">1</field>
              </shadow>
              </value>
              <next>
              <block type="control" id="zNC4[Ytqig^exdo
              -Chb">
              <mutation delay_input="false"></mutation>
              <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Heizung_Restlaufzeit</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="variables_get" id="3j3zn,IMSiq
              AAh:*9a|">
              <field name="VAR">count</field>
              </block>
              </value>
              <next>
              <block type="controls_if" id="L3.atG}#H?lm(!r.:KU=">
              <value name="IF0">
              <block type="logic_compare" id="CYA|Z?@pdL;kb+zN;]g"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id=":(n%3R95VAjn;;3SLf]">
              <field name="VAR">count</field>
              </block>
              </value>
              <value name="B">
              <block type="math_number" id="Z^r~lDBVj;gNmQwRJIQo">
              <field name="NUM">180</field>
              </block>
              </value>
              </block>
              </value>
              <statement name="DO0">
              <block type="control" id="%KbcswkjmnWZV2{#J)yD">
              <mutation delay_input="false"></mutation>
              <field name="OID">broadlink2.0.SP:BroadLink-Poolpumpe</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="logic_boolean" id="3Y%d[bD:T|,Y/BnY5))V">
              <field name="BOOL">FALSE</field>
              </block>
              </value>
              <next>
              <block type="timeouts_clearinterval" id="BwkTxD3={Y}C)xbCy)f}">
              <field name="NAME">Intervall2</field>
              </block>
              </next>
              </block>
              </statement>
              </block>
              </next>
              </block>
              </next>
              </block>
              </statement>
              </block>
              </next>
              </block>
              </statement>
              </block>
              </statement>
              <next>
              <block type="schedule" id="mlpDIa|H7SC!-f2-I3Y"> <field name="SCHEDULE">0 0 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="fONhV+#aPNW|o3Io1Yt@"> <field name="VAR">count</field> <value name="VALUE"> <block type="math_number" id="@8FN=@{_L4Q)CTUO]sJ">
              <field name="NUM">0</field>
              </block>
              </value>
              <next>
              <block type="control" id="f+wJCkS|CU!v:/QNh3M[">
              <mutation delay_input="false"></mutation>
              <field name="OID">eigene_Variablen.0.Pool_Variablen.Pool_Heizung_Restlaufzeit</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="variables_get" id="BrIw[Cf1zEZCJDk:VXK0">
              <field name="VAR">count</field>
              </block>
              </value>
              </block>
              </next>
              </block>
              </statement>
              </block>
              </next>
              </block>
              </next>
              </block>
              </next>
              </block>
              </next>
              </block>
              </next>
              </block>
              </xml>

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

              @weimaraner sagte:

              Das müßte doch funktionieren?

              Im Prinzip ja, nur vermisse ich ein Rücksetzen von count auf 0.
              Die Abfrage auf "vorheriger Wert" ist überflüssig, da auf Wertänderung getriggert wird und der Datenpunkt nur 2 Werte (false/true) annehmen kann.

              @weimaraner sagte in [Frage] zwei Trigger erlaubt?:

              Ein bißchen "unschlank" das ganze

              Ja, deshalb packt gleiche Abläufe in eine Funktion. Dann braucht man auch nur ein Intervall.

              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

              W 1 Antwort Letzte Antwort
              1
              • paul53P paul53

                @weimaraner sagte:

                Das müßte doch funktionieren?

                Im Prinzip ja, nur vermisse ich ein Rücksetzen von count auf 0.
                Die Abfrage auf "vorheriger Wert" ist überflüssig, da auf Wertänderung getriggert wird und der Datenpunkt nur 2 Werte (false/true) annehmen kann.

                @weimaraner sagte in [Frage] zwei Trigger erlaubt?:

                Ein bißchen "unschlank" das ganze

                Ja, deshalb packt gleiche Abläufe in eine Funktion. Dann braucht man auch nur ein Intervall.

                W Offline
                W Offline
                weimaraner
                schrieb am zuletzt editiert von
                #7

                Danke schön, für deine Hilfe und Antwort.

                @paul53 sagte in [Frage] zwei Trigger erlaubt?:

                Im Prinzip ja, nur vermisse ich ein Rücksetzen von count auf 0.

                Das Rücksetzen war im screenshot nicht zu sehen. Das erfolgt 00:00 Uhr mit extra Trigger
                Grüße Andreas

                paul53P 1 Antwort Letzte Antwort
                0
                • W weimaraner

                  Danke schön, für deine Hilfe und Antwort.

                  @paul53 sagte in [Frage] zwei Trigger erlaubt?:

                  Im Prinzip ja, nur vermisse ich ein Rücksetzen von count auf 0.

                  Das Rücksetzen war im screenshot nicht zu sehen. Das erfolgt 00:00 Uhr mit extra Trigger
                  Grüße Andreas

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

                  @weimaraner sagte:

                  erfolgt 00:00 Uhr mit extra Trigger

                  Weshalb nicht um 10:00 Uhr ? Etwa so

                  Blockly_Trigger_Schedule_Poolpumpe.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
                  1
                  • W Offline
                    W Offline
                    weimaraner
                    schrieb am zuletzt editiert von
                    #9

                    Oh Mann! Klasse!!!
                    :+1:
                    Das baue ich nach (und habe es verstanden :innocent: )
                    Danke und Grüße
                    Andreas

                    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

                    638

                    Online

                    32.7k

                    Benutzer

                    82.4k

                    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