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. Zeitabfrage wenn Wert X länger als X Sek BLOCKY

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Zeitabfrage wenn Wert X länger als X Sek BLOCKY

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
16 Beiträge 5 Kommentatoren 5.9k Aufrufe
  • Ä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.
  • F Offline
    F Offline
    Fitti
    schrieb am zuletzt editiert von
    #5

    Schau mal hier: http://forum.iobroker.net/viewtopic.php … 06#p107685

    Ist doch zu Deinem Problem sehr ähnlich. Vielleicht kannst Du es für dich Adaptieren.

    Zur Basislogik:

    Es wird nach einer Änderung eines Sensors getriggert. Hier gibt man an, welche Art der Änderung den Trigger starten soll.

    "Wurde geändert" bedeutet, dass "jeglicher neuer Wert" diese Routine aktiviert.

    Und nun kommen die eigentlichen Werteabfragen und Bestimmungen Deiner Logik.

    Hier ist in Deinem Beispiel ein Fehler meiner Meinung nach (kenne mich quasi überhaupt nicht mit Blockly aus ).

    Das Beispiel vom obigen Link zeigt Dir eine bessere Variante.

    Wenn Du nun weitere Logikabfragen dazu benötigst, kannst du neue "falls" im bestehenden ersten "falls" hinzufügen. Das wäre ja schon mal ein UND.

    Ich glaube, so würde ich es erst einmal machen.

    Hingegen gibt es aber auch im "Logik"-Bereich (zwischen TimeOuts und Schleifen) auch UND Objekte.

    Vielleicht hilft Dir das schon einmal ein wenig?

    Ansonsten ist es vermutlich auch schneller gescriptet. paul53 hat da ja einen sehr guten Ansatz aufgezeigt. Wenn man aber noch gar nichts damit zu tun hatte, dann weiß ich aus eigenen leidvollen tausenden von Stunden, dass man wie eine Kuh vor dem Dorf stehen kann.

    So long,

    Fitti

    "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
    Plural von Status ist auch Status!

    1 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      ludino
      schrieb am zuletzt editiert von
      #6

      hi ich habe es so mal versucht,

      leider wird es im debug nicht immer ausgeführt mit einer zeitverzögerung von 5 sek.

      also wenn ich einmal den wert unterschritten habe dauert es 5 sek bis die meldung kommt egal ob der wert wieder höher als eingestellten wert ist.

      ich peile es einfach nicht!

      @fitti ich schaue es mir mal! Dankeschön

      4298_timeout.png

      1 Antwort Letzte Antwort
      0
      • L Offline
        L Offline
        ludino
        schrieb am zuletzt editiert von
        #7

        Vielleicht einfach mal zum Thema,

        ich möchte meine Spülmaschine abfragen wann sie fertig ist.

        Das Script ist auch soweit fertig. Leider ist bei meiner Spülmaschine immer im Spülprozess immer mal 5 Sekunden im Standby.

        So gibt mir der Pushover in jedem Spülvorgang ca 3-8 mal die Meldung Spülmaschine fertig.

        Das möchte ich umgehen das der Standby wert 10 Sekunden anliegen muss bevor er den Push macht.

        hier mal das Blocky

        4298_spulmaschine.png

        var Spuelmaschine_fertig;
        
        on({id: 'sonoff.0.Spühlmaschine.ENERGY.Power', change: "any"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (getState("sonoff.0.Spühlmaschine.ENERGY.Power").val > 20) {
            setState("javascript.0.Spuehlmachine_läuft"/*Spuehlmachine_läuft*/, false);
            Spuelmaschine_fertig = false;
          }
          if (getState("sonoff.0.Spühlmaschine.ENERGY.Power").val < 2) {
            if (getState("sonoff.0.Spühlmaschine.ENERGY.Power").val < 2 && Spuelmaschine_fertig == false) {
              sendTo("pushover.1", "send", {
                 message: 'Spülmaschine fertig',
                 sound: "",
                 title: 'Spülmaschine fertig'
              });
              Spuelmaschine_fertig = true;
              setState("javascript.0.Spuehlmachine_läuft"/*Spuehlmachine_läuft*/, true);
            }
          }
        });
        

        gruß

        ludino

        1 Antwort Letzte Antwort
        0
        • R Offline
          R Offline
          RappiRN
          Most Active
          schrieb am zuletzt editiert von
          #8

          Der timeout-Block muss in den falls-Block und darein muss deine debug-Ausgabe!

          Es gibt hier noch einen "Waschmaschinen"-Thread, vielleicht findest du da schon was passendes.

          Enrico

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            ludino
            schrieb am zuletzt editiert von
            #9

            Hallo,

            waschmaschinen Threrad

            http://forum.iobroker.net/viewtopic.php … &start=120

            durchgelesen leider für mich nicht plausibel.

            Ich glaube ich gehe mal schlafen und vielleicht kommt mir morgen der AHA effekt, oder ich muss damit leben das die Meldung öfters kommt.

            Gruß

            1 Antwort Letzte Antwort
            0
            • L Offline
              L Offline
              ludino
              schrieb am zuletzt editiert von
              #10

              Hallo,

              ich habe das nun so gelöst, weiß nur noch nicht ob es so sauber gepuzzelt ist.

              kann wer mal seine Augen drüber werfen?
              4298_spulmaschine1.png

              1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                RappiRN
                Most Active
                schrieb am zuletzt editiert von
                #11

                Könntest du dieses Blockly mal als Export einstellen, ich glaube, dass man da noch was vereinfachen kann.

                Und wenn du auf die Blockly-Variante Wert legst, schreib mal bitte noch Blockly in den Betreff rein, dann kommen noch mehr Experten dazu! :)

                Enrico

                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  ludino
                  schrieb am zuletzt editiert von
                  #12

                  Aber klar doch, Export hätte ich auch selber drauf kommen können!

                  ! <block 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml" type="on_ext" id="OXQr)6s4u)WRaA/sYd[]" x="63" y="-187">
                  ! <mutation items="1"></mutation>
                  ! <field name="CONDITION">any</field>
                  ! <value name="OID0"><shadow type="field_oid" id="hVKHR4v;5OQ3]KJm?4Ne"><field name="oid">sonoff.0.Spühlmaschine.ENERGY.Power</field></shadow></value>
                  ! <statement name="STATEMENT"><block type="controls_if" id="1p:576{YrR,YW}?{#q*"><value name="IF0"><block type="logic_compare" id="IgLmnX#i;RDdJ!F.!dwi"><field name="OP">GT</field> ! <value name="A"><block type="get_value" id="bbvL!gG:DS1C3.@LJ=8="><field name="ATTR">val</field> ! <field name="OID">sonoff.0.Spühlmaschine.ENERGY.Power</field></block></value> ! <value name="B"><block type="math_number" id=":rvI^T/]33X=]9Whn2@M"><field name="NUM">20</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="6y?a?]He1ZPeJ3ksSsVH"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Spuehlmachine_läuft</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="|gq7HEV2:Qm:mML4WO(y"><field name="BOOL">FALSE</field></block></value> ! <next><block type="variables_set" id="l#y|,9Tuei:o(c{tBq"><field name="VAR">Spuelmaschine_fertig</field> ! <value name="VALUE"><block type="logic_boolean" id="#!Clr61(]g}buhcJUwz-"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> ! <next><block type="controls_if" id="upQVi)@0qJp#Pn~?vS(1"><value name="IF0"><block type="logic_compare" id="@2[YQKRO-dPfxMz!E0_+"><field name="OP">LT</field> ! <value name="A"><block type="get_value" id="*A?*@)xk2OVfe@OAO5x9"><field name="ATTR">val</field> ! <field name="OID">sonoff.0.Spühlmaschine.ENERGY.Power</field></block></value> ! <value name="B"><block type="math_number" id="pn1L)m4B2vnLoQHhx-1O"><field name="NUM">8</field></block></value></block></value> ! <statement name="DO0"><block type="timeouts_settimeout" id="zH6g9~*Ufq?,*bup5W7R"><field name="NAME">timeout</field> ! <field name="DELAY">20</field> ! <field name="UNIT">sec</field> ! <statement name="STATEMENT"><block type="controls_if" id="W23vz;E*W^~xTvyvom7+"><value name="IF0"><block type="logic_operation" id="D(wi!(8?jmXp+B-Pot3J"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="MDFJ-ii-NO+5Yh;{E)fe"><field name="OP">LT</field> ! <value name="A"><block type="get_value" id="8B@hI1T|mRy(BGgD|5U{"><field name="ATTR">val</field> ! <field name="OID">sonoff.0.Spühlmaschine.ENERGY.Power</field></block></value> ! <value name="B"><block type="math_number" id="Dw71y,9gjp(-yJp#v.Ry"><field name="NUM">8</field></block></value></block></value> ! <value name="B"><block type="logic_compare" id=")W)kjm6vUNwUcxnMq7/="><field name="OP">EQ</field> ! <value name="A"><block type="variables_get" id="[zwGULxq+jhl_L*wsd0^"><field name="VAR">Spuelmaschine_fertig</field></block></value> ! <value name="B"><block type="logic_boolean" id="{{T;#bFuh.]I1.3om.i"><field name="BOOL">FALSE</field></block></value></block></value></block></value>
                  ! <statement name="DO0"><block type="controls_if" id="5uH=jA:VlY-9Ft;uh2"><mutation else="1"></mutation>
                  ! <value name="IF0"><block type="logic_operation" id="8|.UG}B^=j8BoRh.hBl#"><field name="OP">AND</field>
                  ! <value name="A"><block type="logic_compare" id="yzF%6m#q:B?~:m;!-cRF"><field name="OP">GT</field>
                  ! <value name="A"><block type="get_value" id="0~Ei@%Z,6!n1XTCgdOSk"><field name="ATTR">val</field>
                  ! <field name="OID">sonoff.0.Spühlmaschine.ENERGY.Power</field></block></value>
                  ! <value name="B"><block type="math_number" id="k6W^P3u,m,-+C@2!Aa4X"><field name="NUM">8</field></block></value></block></value>
                  ! <value name="B"><block type="logic_compare" id="TGR!iq7y:,E5+Y3+U%Cx"><field name="OP">EQ</field>
                  ! <value name="A"><block type="variables_get" id="OYU]Ebl,^bN|khl1sbqM"><field name="VAR">Spuelmaschine_fertig</field></block></value>
                  ! <value name="B"><block type="logic_boolean" id="3Hx9~|9hh1l)Yw0jCV!_"><field name="BOOL">FALSE</field></block></value></block></value></block></value>
                  ! <statement name="DO0"><block type="timeouts_cleartimeout" id="mss!%%+AdJR0;S,]/u7v"><field name="NAME">timeout</field></block></statement>
                  ! <statement name="ELSE"><block type="pushover" id="k:Uf/_CKMW7fz)nX+~}w"><field name="INSTANCE">.1</field>
                  ! <field name="PRIORITY">0</field>
                  ! <value name="MESSAGE"><shadow type="text" id="c:2;FM!HNqmI0FV-;27e"><field name="TEXT">Spülmaschine fertig</field></shadow></value>
                  ! <value name="TITLE"><block type="text" id="y=BPFIk:NWJRtIJPrik}"><field name="TEXT">Spülmaschine fertig</field></block></value>
                  ! <next><block type="variables_set" id="FmwRf.B]o3UE):e*H^g|"><field name="VAR">Spuelmaschine_fertig</field>
                  ! <value name="VALUE"><block type="logic_boolean" id=":)EBH4bz#N_AY5aUjOiL"><field name="BOOL">TRUE</field></block></value>
                  ! <next><block type="control" id="2,kU}1:rUeWsSUN@WMWu"><mutation delay_input="false"></mutation>
                  ! <field name="OID">javascript.0.Spuehlmachine_läuft</field>
                  ! <field name="WITH_DELAY">FALSE</field>
                  ! <value name="VALUE"><block type="logic_boolean" id="_DvITzV3,J]Zq,xz@4_4"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></statement></block></statement></block></statement></block></statement></block></next></block></statement></block>

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    RappiRN
                    Most Active
                    schrieb am zuletzt editiert von
                    #13

                    Exporte bitte in Code-Tags anzeigen.

                    Was möchtest du erreichen? Eine Variable, die anzeigt, ob die Spülmaschine läuft und bei Programmende eine Ansage, dass fertig ist, oder?

                    Bei über 20 läuft die Maschine und bei unter 8 ist sie fertig! Richtig?

                    Enrico

                    1 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #14

                      So sieht mein Skript von oben in Blockly aus:
                      493_blockly_spuelmaschine.jpg
                      Export:

                      ! ````
                      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="5-O2AY`#?#ktxQ2lfJ1m" x="-1487" y="-312"><mutation items="1"></mutation>
                      <field name="CONDITION">ne</field>

                      <comment pinned="true" h="37" w="192">Spülmaschine Power</comment>
                      <value name="OID0"><shadow type="field_oid" id="Eer%bPPq;gP8jmueXn;:"><field name="oid">default</field></shadow></value> 
                      <statement name="STATEMENT"><block type="controls_if" id="b}G-QmDmWVGBv#{c7RQ|"><mutation else="1"></mutation>
                          <value name="IF0"><block type="logic_compare" id="0b%}}7dL8%5~THG4*PTL"><field name="OP">LT</field>
                              <value name="A"><block type="variables_get" id="U1?c+o%WU|{TaB8a-MQ2"><field name="VAR">value</field></block></value> 
                              <value name="B"><block type="math_number" id="r=:G{}ue[^7taH]XmCIL"><field name="NUM">20</field></block></value></block></value> 
                          <statement name="DO0"><block type="controls_if" id="@;7hQFGXxy!GvJ94WBX*"><value name="IF0"><block type="logic_compare" id="RL@D{wZ2VDvws|2yP:N)"><field name="OP">GTE</field>
                                  <value name="A"><block type="variables_get" id="l#hz40e1vFE,Iic+s1*5"><field name="VAR">oldValue</field></block></value> 
                                  <value name="B"><block type="math_number" id="1Jq-g{)hv?Wg-K9^4)lC"><field name="NUM">20</field></block></value></block></value> 
                              <statement name="DO0"><block type="timeouts_settimeout" id="A_OSp+}#Z?6XIMa,,WFi"><field name="NAME">timeout</field>
                                  <field name="DELAY">10</field>
                                  <field name="UNIT">sec</field></block></statement></block></statement> 
                          <statement name="ELSE"><block type="timeouts_cleartimeout" id="ITryM3IOC%7sO[W~X7Bd"><field name="NAME">timeout</field></block></statement></block></statement></block></xml> 
                      

                      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
                      • rantanplanR Online
                        rantanplanR Online
                        rantanplan
                        schrieb am zuletzt editiert von
                        #15

                        Hallo ludino

                        Habe ich heute reingesetzt.

                        http://forum.iobroker.net/viewtopic.php … 34#p107896

                        Ob Spül- oder Waschmaschine dürfte eigentlich egal sein.

                        Grüße

                        Rantanplan

                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                        1 Antwort Letzte Antwort
                        0
                        • L Offline
                          L Offline
                          ludino
                          schrieb am zuletzt editiert von
                          #16

                          @RappiRN:

                          Exporte bitte in Code-Tags anzeigen.

                          Was möchtest du erreichen? Eine Variable, die anzeigt, ob die Spülmaschine läuft und bei Programmende eine Ansage, dass fertig ist, oder?

                          Bei über 20 läuft die Maschine und bei unter 8 ist sie fertig! Richtig?

                          Enrico `

                          ganz genau~~@paul53:~~

                          Hallo ludino

                          Habe ich heute reingesetzt.

                          http://forum.iobroker.net/viewtopic.php … 34#p107896

                          Ob Spül- oder Waschmaschine dürfte eigentlich egal sein.

                          Grüße `

                          werde ich mal testen danke

                          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

                          636

                          Online

                          32.6k

                          Benutzer

                          82.2k

                          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