Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Frage zu Intervall als Wartezeit

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    223

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    219

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    893

[gelöst] Frage zu Intervall als Wartezeit

Scheduled Pinned Locked Moved Skripten / Logik
42 Posts 7 Posters 5.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    daniello
    wrote on last edited by
    #1

    Hallo allerseits,

    wird das im Intervall sofort ein erstes Mal ausgeführt oder erst nach t?

    Ich möchte grad eine Wartezeit einrichten nach dem Motto "ok .. Satus erkannt .. mach aber erst was, wenn es nach 30 Sekunden immer noch so ist.

    Würde eine Variable vorher auf 0 setzen und im Intervall (30s) dann schauen wollen ob 1 ist .. ggf. aber auch 2 wenn das Intervall sofort ein erstes Mal ausgeführt wird.

    Schönen Gruß

    1 Reply Last reply
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      wrote on last edited by
      #2

      Benutze dafür Time-out anstatt Intervall

      Sent from my iPhone using Tapatalk

      1 Reply Last reply
      0
      • D Offline
        D Offline
        daniello
        wrote on last edited by
        #3

        Danke .. wollte ich zuerst .. aber Timeout kam mir dann unlogisch vor.

        Ich möchte prüfen ob die Leistung am Stecker kleiner 5W ist und erst wenn der Zustand 30 Sekunden hält etwas tun. Dann ist das Gerät (hoffentlich) wirklich aus. Beim Timeout würde jedes Mal der Zustand Wahr wenn im Zeitfenster was geändert wird.

        Passt doch nicht .. oder?

        1 Reply Last reply
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          wrote on last edited by
          #4

          Nein!

          Wen du innerhalb des timeout einen Wert (zB timeout 30sec, If Wert ist xxx) Dan prüft er nach 30 Sekunden diesen Wert.

          Sent from my iPhone using Tapatalk

          1 Reply Last reply
          0
          • D Offline
            D Offline
            daniello
            wrote on last edited by
            #5

            Danke .. hatte nach einer Erklärung gesucht .. und wohl die falsche gefunden .. dann passt mein Skript ja :-) Super!

            1 Reply Last reply
            0
            • D Offline
              D Offline
              daniello
              wrote on last edited by
              #6

              Trotzdem vielleicht noch die Antwort auf die Frage ob Intervall nach dem Ablauf der Zeit ein erstes Mal was tut oder sofort?

              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #7

                @Dutchman:

                Dan prüft er nach 30 Sekunden diesen Wert. `
                Das bedeutet nicht, dass zwischenzeitlich der Wert überschritten wurde.
                @daniello:

                erst wenn der Zustand 30 Sekunden hält etwas tun. `
                Bei Wertüberschreitung (else): clearTimeout(timer). Beispiel:

                var timer = null;
                on(idPower, function(dp) {
                   if(dp.state.val < 5) {
                      timer = setTimeout(function() {
                         // etwas tun
                      }, 30000); // 30 s
                   } else if(timer) clearTimeout(timer);
                });
                

                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 Reply Last reply
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #8

                  @daniello:

                  die Frage ob Intervall nach dem Ablauf der Zeit ein erstes Mal was tut oder sofort? `
                  Erst nach Ablauf der Zeit wird das erste Mal etwas ausgeführt.

                  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 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    daniello
                    wrote on last edited by
                    #9

                    prima .. hätte es dann so umgesetzt .. müsste passen …

                    4418_2018-09-29_132626_timout.png

                    1 Reply Last reply
                    0
                    • DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      wrote on last edited by
                      #10

                      Ich würde den 2ten falls im timeout Weck lassen und im ersten falls einen Stop timeout einbauen.

                      Ändert sich der wert Dan innerhalb der 30 Sekunden wieder > xx stopst du damit den Timer und nichts wird ausgeführt

                      Sent from my iPhone using Tapatalk

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        daniello
                        wrote on last edited by
                        #11

                        danke .. muss ich mal schauen ob ich das umgesetz bekomme .. dachte das passt so .. wegen der Hysterese.

                        Weiß gar nicht warum ich hier "Professional" bin .. vermutlich die Anzahl meiner Newbiefragen :-)

                        1 Reply Last reply
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #12

                          493_blockly_wm_verz_gert_aus.jpg
                          Ist der Datenpunkt "waschmaschine" ein virtueller Datenpunkt (z.B. für Vis), dann aktualisiere verwenden; wird der Wert aber versendet (z.B eine SV der HM CCU), dann steuere verwenden.

                          EDIT KORREKTUR: und durch zweites falls ersetzt

                          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 Reply Last reply
                          0
                          • D Offline
                            D Offline
                            daniello
                            wrote on last edited by
                            #13

                            Danke Paul .. das ist ja sehr schlank :-)

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              daniello
                              wrote on last edited by
                              #14

                              wenn das mal so schlicht läuft .. bin gespannt ;-)

                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                Jan1
                                wrote on last edited by
                                #15

                                Mal ne Frage zum Stop des timeout. Warum stoppe ich was, dass durch die falls Bedingung gar nicht gestartet wurde, oder steh ich gerade auf dem Schlauch?

                                1 Reply Last reply
                                0
                                • paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by
                                  #16

                                  @Jan1:

                                  Warum stoppe ich was, dass durch die falls Bedingung gar nicht gestartet wurde `
                                  Der Timer wird gestoppt, wenn die Falls-Bedingung erfüllt war, aber innerhalb der Verzögerungszeit sie nicht erfüllt bleibt. Beispiel:

                                  Waschmaschine läuft –> Leistung 3 W (Start Timer) --> nach 10 s Leistung 50 W (Stopp Timer) --> nach 20 s Leistung wieder 3 W (Start Timer) --> nach 40 s Leistung 50 W (Stopp Timer) --> nach 50 s 3 W (Start Timer) --> nach 80 s Wachmaschine fertig.

                                  Ohne den Stopp Timer würden nach 20 s und 50 s weitere Timer gestartet, der erste Timer würde weiterlaufen und nach 30 s fertig melden, der zweite Timer nach 50 s und der dritte Timer nach 80 s.

                                  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 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    daniello
                                    wrote on last edited by
                                    #17

                                    Zwei Dinge sind blöd .. zum einen steht die Waschmaschine still trotzdem "ist sie fertig" .. kommt grad so alle paar Minuten. Kein einziger Val ist über 0.3. Und die W_kWh und W_Euro sind NaN (Not a Number) .. müssten sie doch aber sein.

                                    17:36:39.598	[info]	javascript.0 script.js.common.waschmaschine_trockner: getState(id=hm-rpc.0.KEQ0970444.2.POWER, timerId=0) => {"val":0.25,"ack":true,"ts":1538235399594,"q":0,"from":"system.adapter.hm-rpc.0","lc":1538235279350}
                                    17:36:39.599	[info]	javascript.0 script.js.common.waschmaschine_trockner: getState(id=hm-rpc.0.KEQ0970444.2.POWER, timerId=0) => {"val":0.25,"ack":true,"ts":1538235399594,"q":0,"from":"system.adapter.hm-rpc.0","lc":1538235279350}
                                    17:36:39.599	[info]	javascript.0 script.js.common.waschmaschine_trockner: setTimeout(ms=30000)
                                    17:37:06.963	[info]	javascript.0 script.js.common.waschmaschine_trockner: getState(id=hm-rpc.0.KEQ0970432.2.POWER, timerId=0) => {"val":0.28,"ack":true,"ts":1538235426957,"q":0,"from":"system.adapter.hm-rpc.0","lc":1538235426957}
                                    17:37:06.964	[info]	javascript.0 script.js.common.waschmaschine_trockner: setTimeout(ms=30000)
                                    17:37:09.599	[info]	javascript.0 script.js.common.waschmaschine_trockner: getState(id=hm-rpc.0.KEQ0970444.2.POWER, timerId=0) => {"val":0.25,"ack":true,"ts":1538235399594,"q":0,"from":"system.adapter.hm-rpc.0","lc":1538235279350}
                                    17:37:09.599	[info]	javascript.0 script.js.common.waschmaschine_trockner: setForeignState(id=.eigene.wäschetrockner, state=false)
                                    17:37:36.965	[info]	javascript.0 script.js.common.waschmaschine_trockner: getState(id=hm-rpc.0.KEQ0970432.2.ENERGY_COUNTER, timerId=0) => {"val":2359.5,"ack":true,"ts":1538235426950,"q":0,"from":"system.adapter.hm-rpc.0","lc":1538234215211}
                                    17:37:36.965	[info]	javascript.0 script.js.common.waschmaschine_trockner: sendTo(adapter=email, cmd=send, msg={"text":"Verbrauch heute: NaN kWh. In Euro: NaN","to":"xx@xx.com","subject":"Waschmaschine heute"})
                                    17:37:36.965	[info]	javascript.0 script.js.common.waschmaschine_trockner: setForeignState(id=alexa2.0.Echo-Devices.G090LF107207028R.Commands.speak, state="Die Waschmaschine ist fertig")
                                    
                                    1 Reply Last reply
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by
                                      #18

                                      @daniello:

                                      kommt grad so alle paar Minuten. Kein einziger Val ist über 0.3. `
                                      Aber auch nicht konstant. Deshalb die Abfrage erweitern auf

                                      falls Wert < 4 und vorheriger Wert >= 4

                                      EDIT: falls Wert < 4 falls vorheriger Wert >= 4

                                      @daniello:

                                      Und die W_kWh und W_Euro sind NaN (Not a Number) `
                                      Die Variable Wstart wurde sicherlich noch nicht initialisiert, da der sonst-Zweig noch nie erreicht wurde. Initialisiere die Variable <u>zusätzlich</u> außerhalb des Triggerblocks:

                                      setze Wstart auf Wert vom Objekt Waschmaschine:2.ENERGY_COUNTER

                                      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 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        Jan1
                                        wrote on last edited by
                                        #19

                                        @paul53:

                                        @Jan1:

                                        Warum stoppe ich was, dass durch die falls Bedingung gar nicht gestartet wurde `
                                        Der Timer wird gestoppt, wenn die Falls-Bedingung erfüllt war, aber innerhalb der Verzögerungszeit sie nicht erfüllt bleibt. Beispiel:

                                        Waschmaschine läuft –> Leistung 3 W (Start Timer) --> nach 10 s Leistung 50 W (Stopp Timer) --> nach 20 s Leistung wieder 3 W (Start Timer) --> nach 40 s Leistung 50 W (Stopp Timer) --> nach 50 s 3 W (Start Timer) --> nach 80 s Wachmaschine fertig.

                                        Ohne den Stopp Timer würden nach 20 s und 50 s weitere Timer gestartet, der erste Timer würde weiterlaufen und nach 30 s fertig melden, der zweite Timer nach 50 s und der dritte Timer nach 80 s. `

                                        OK, jetzt weiß ich auch warum sich einige meiner Blocklys komisch verhalten, eigentlich logisch.

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          daniello
                                          wrote on last edited by
                                          #20

                                          > falls Wert < 4 und vorheriger Wert >= 4

                                          Wie macht mann denn das mit dem vorherigen Wert? Ist das "letzte Änderung" ?

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          447

                                          Online

                                          32.8k

                                          Users

                                          82.8k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe