FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: andies am 23 September 2019, 14:15:52

Titel: Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 23 September 2019, 14:15:52
ich möchte gern, dass eine Nachricht geschickt wird wenn mein Blitzwolf für länger als 6 Minuten ein reading ENERGY_Current zwischen 0.025 und 0.034 aufweist. Das gelingt mir nicht und ich verstehe nicht warum. Hier meine Definition:
defmod WaschmaschineDOIF DOIF ([Blitzwolf1:ENERGY_Current]>0.025 and [Blitzwolf1:ENERGY_Current]<0.034) (set TelegramBot _msg  Waschmaschine fertig)
attr WaschmaschineDOIF do always <== hatte ich auch mal wegelassen, ohne Erfolg
attr WaschmaschineDOIF repeatsame 1
attr WaschmaschineDOIF waitsame 360

Hat jemand eine Idee, was ich hier falsch mache? Nach der commandref sollte doch folgendes gelten:
Zitat
"Mit dem Attribut waitsame <Zeitspanne in Sekunden für cmd_1>:<Zeitspanne in Sekunden für das cmd_2>:... wird ein Kommando erst dann ausgeführt, wenn innerhalb einer definierten Zeitspanne die entsprechende Bedingung zweimal hintereinander wahr wird." == klar, die Bedingung soll zweimal hintereinander wahr sein, innerhalb von sechs Minuten

"Mit dem Attribut repeatsame <maximale Anzahl von cmd_1>:<maximale Anzahl von cmd_2>:... wird die maximale Anzahl hintereinander folgenden Ausführungen festgelegt" == ich will nur einmal eine Nachricht kriegen
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: laberlaib am 23 September 2019, 15:10:42
Also wenn der Wert dazwischen liegt, dann wird die Bedingung "true", also wahr.
Und dann einfach per
wait 360
mit der Ausführung warten. klappt das nicht?
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 23 September 2019, 15:14:25
Du meinst nochmal extra wait? Ich dachte, waitsame macht das schon. Ich füge das mal ein und schaue dann. Danke!
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: Frank_Huber am 23 September 2019, 15:14:37
poste im Zweifel mal ein List des DOIF und des Blitzwolf.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: Frank_Huber am 23 September 2019, 15:15:16
Zitat von: andies am 23 September 2019, 15:14:25
Du meinst nochmal extra wait? Ich dachte, waitsame macht das schon. Ich füge das mal ein und schaue dann. Danke!
btw, waitsame macht ganz was anderes als wait. ;-)
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 23 September 2019, 15:16:23
List DOIF:

Internals:
   CID        DVES_93AC5D
   DEF        DVES_93AC5D
   DEVICETOPIC Blitzwolf1
   FUUID      5d0c8a24-f33f-1115-ccb8-fdc59cb4a98962ba
   IODev      Mosquitto
   LASTInputDev Mosquitto
   MSGCNT     12526
   Mosquitto_MSGCNT 12526
   Mosquitto_TIME 2019-09-23 15:11:51
   NAME       Blitzwolf1
   NR         235
   STATE      on
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       ENERGY_Current:
         DbLog:
           TIME       1569244311.67977
           VALUE      0.032
       Verbrauch:
         DbLog:
           TIME       1569244311.67977
           VALUE      2.75999999977648
   READINGS:
     2019-09-23 15:11:51   ENERGY_Current  0.032
     2019-09-23 15:11:51   ENERGY_Factor   0.48
     2019-09-23 15:11:51   ENERGY_Period   0.240
     2019-09-23 15:11:51   ENERGY_Power    3.500
     2019-09-23 15:11:51   ENERGY_Today    0.60240
     2019-09-23 15:11:51   ENERGY_Total    226.28600
     2019-09-23 15:11:51   ENERGY_Voltage  227.500
     2019-09-23 15:11:51   ENERGY_Yesterday 1.16991
     2019-08-13 07:01:27   FallbackTopic   DVES_93AC5D
     2019-08-13 07:01:27   GroupTopic      sonoffs
     2019-08-13 07:01:27   Hostname        blitzwolf1-3165
     2019-08-13 07:01:27   IPAddress       192.168.2.6
     2019-09-21 03:25:12   LWT             online
     2019-08-13 07:01:27   Module          BlitzWolf SHP2
     2019-09-23 15:11:51   POWER1          on
     2019-08-13 07:01:27   RestartReason   Software/System restart
     2019-06-24 21:51:23   SaveData        on
     2019-06-24 21:51:22   SetOption26     on
     2019-06-24 21:51:21   StateText1      off
     2019-06-24 21:51:22   StateText2      on
     2019-06-24 21:51:22   StateText3      toggle
     2019-06-24 21:51:22   StateText4      hold
     2019-09-23 15:11:51   Time            2019-09-23T15:11:51
     2019-09-23 15:11:51   Uptime          41T08:10:31
     2019-09-23 15:11:51   Vcc             3.142
     2019-09-23 15:11:51   Verbrauch       2.75999999977648
     2019-08-13 07:01:27   Version         6.1.1
     2019-08-29 18:08:30   WaMaLaeuft      0
     2019-08-13 07:01:27   WebServerMode   Admin
     2019-09-23 15:11:51   Wifi_AP         1
     2019-09-23 15:11:51   Wifi_APMac      1A:E8:29:AA:44:A0
     2019-09-23 15:11:51   Wifi_RSSI       66
     2019-09-23 15:11:51   Wifi_SSId       WLAN-120954
Attributes:
   IODev      Mosquitto
   alias      Waschmaschine
   autocreate 0
   comment    192.168.2.6
   devStateIcon on:ios-on-green:off off:ios-off:on offline:ios_setoff_fill:
   group      intern
   model      A_01a_tasmota_basic_state_power1
   readingList tele/blitzwolf1/LWT:.* LWT
  tele/blitzwolf1/STATE:.* { json2nameValue($EVENT) }
  tele/blitzwolf1/SENSOR:.* { json2nameValue($EVENT) }
  tele/blitzwolf1/INFO.:.* { json2nameValue($EVENT) }
  stat/blitzwolf1/RESULT:.* { json2nameValue($EVENT) }
   setList    off:noArg    cmnd/blitzwolf1/POWER1 0
  on:noArg     cmnd/blitzwolf1/POWER1 1
  toggle:noArg cmnd/blitzwolf1/POWER1 2
   setStateList on off toggle
   stateFormat POWER1
   userReadings Verbrauch difference {12*1000*ReadingsVal($name,"ENERGY_Total",0);}

und List DOIF:
Internals:
   DEF        ([Blitzwolf1:ENERGY_Current]>0.025 and [Blitzwolf1:ENERGY_Current]<0.034) (set TelegramBot _msg @346761697 @340579883 Waschmaschine: 🧺 fertig)
   FUUID      5d257443-f33f-1115-b0d9-8f58f6304871e7c7
   MODEL      FHEM
   NAME       WaschmaschineDOIF
   NR         254
   NTFY_ORDER 50-WaschmaschineDOIF
   STATE      cmd_1
   TYPE       DOIF
   VERSION    19303 2019-05-01 08:47:16
   READINGS:
     2019-09-23 15:11:51   Device          Blitzwolf1
     2019-09-02 17:02:41   cmd             1
     2019-09-02 17:02:41   cmd_count       1
     2019-09-02 17:02:41   cmd_event       Blitzwolf1
     2019-09-02 17:02:41   cmd_nr          1
     2019-09-23 15:11:51   e_Blitzwolf1_ENERGY_Current 0.032
     2019-08-29 21:13:41   mode            enabled
     2019-09-02 17:02:41   state           cmd_1
     2019-09-02 13:08:21   wait_timer      no timer
   Regex:
     accu:
   attr:
     repeatsame:
       1
     wait:
       0:
         360
     waitdel:
     waitsame:
       360
   condition:
     0          ::ReadingValDoIf($hash,'Blitzwolf1','ENERGY_Current')>0.025 and ::ReadingValDoIf($hash,'Blitzwolf1','ENERGY_Current')<0.034
   devices:
     0           Blitzwolf1
     all         Blitzwolf1
   do:
     0:
       0          set TelegramBot _msg @346761697 @340579883 Waschmaschine: 🧺 fertig
     1:
   helper:
     event      Time: 2019-09-23T15:11:51,ENERGY_Yesterday: 1.16991,ENERGY_Period: 0.240,ENERGY_Voltage: 227.500,ENERGY_Current: 0.032,ENERGY_Today: 0.60240,ENERGY_Factor: 0.48,ENERGY_Total: 226.28600,ENERGY_Power: 3.500,Verbrauch: 2.75999999977648
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Blitzwolf1
     timerevent Time: 2019-09-23T15:11:51,ENERGY_Yesterday: 1.16991,ENERGY_Period: 0.240,ENERGY_Voltage: 227.500,ENERGY_Current: 0.032,ENERGY_Today: 0.60240,ENERGY_Factor: 0.48,ENERGY_Total: 226.28600,ENERGY_Power: 3.500,Verbrauch: 2.75999999977648
     triggerDev Blitzwolf1
     timerevents:
       Time: 2019-09-23T15:11:51
       ENERGY_Yesterday: 1.16991
       ENERGY_Period: 0.240
       ENERGY_Voltage: 227.500
       ENERGY_Current: 0.032
       ENERGY_Today: 0.60240
       ENERGY_Factor: 0.48
       ENERGY_Total: 226.28600
       ENERGY_Power: 3.500
       Verbrauch: 2.75999999977648
     timereventsState:
       Time: 2019-09-23T15:11:51
       ENERGY_Yesterday: 1.16991
       ENERGY_Period: 0.240
       ENERGY_Voltage: 227.500
       ENERGY_Current: 0.032
       ENERGY_Today: 0.60240
       ENERGY_Factor: 0.48
       ENERGY_Total: 226.28600
       ENERGY_Power: 3.500
       Verbrauch: 2.75999999977648
     triggerEvents:
       Time: 2019-09-23T15:11:51
       ENERGY_Yesterday: 1.16991
       ENERGY_Period: 0.240
       ENERGY_Voltage: 227.500
       ENERGY_Current: 0.032
       ENERGY_Today: 0.60240
       ENERGY_Factor: 0.48
       ENERGY_Total: 226.28600
       ENERGY_Power: 3.500
       Verbrauch: 2.75999999977648
     triggerEventsState:
       Time: 2019-09-23T15:11:51
       ENERGY_Yesterday: 1.16991
       ENERGY_Period: 0.240
       ENERGY_Voltage: 227.500
       ENERGY_Current: 0.032
       ENERGY_Today: 0.60240
       ENERGY_Factor: 0.48
       ENERGY_Total: 226.28600
       ENERGY_Power: 3.500
       Verbrauch: 2.75999999977648
   internals:
   itimer:
   perlblock:
   readings:
     0           Blitzwolf1:ENERGY_Current
     all         Blitzwolf1:ENERGY_Current
   trigger:
   uiState:
   uiTable:
Attributes:
   comment    verbrauch in watt
   do         always
   group      intern
   repeatsame 1
   wait       360
   waitsame   360
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 23 September 2019, 15:17:30
Zitat von: Frank_Huber am 23 September 2019, 15:15:16
btw, waitsame macht ganz was anderes als wait. ;-)
Hmm. Dann kapiere ich das nicht, aber es steht doch in der commandref
ZitatMit dem Attribut waitsame <Zeitspanne in Sekunden für cmd_1>:<Zeitspanne in Sekunden für das cmd_2>:... wird ein Kommando erst dann ausgeführt, wenn innerhalb einer definierten Zeitspanne die entsprechende Bedingung zweimal hintereinander wahr wird.
Und genau das will ich doch?!
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: rabehd am 23 September 2019, 15:23:24
Zitatlänger als 6 Minuten ein reading ENERGY_Current zwischen 0.025 und 0.034 aufweist.
und
Zitatwird ein Kommando erst dann ausgeführt, wenn innerhalb einer definierten Zeitspanne die entsprechende Bedingung zweimal hintereinander wahr wird.
sind für mich 2 verschiedene Dinge.

"länger als" ist nicht "zweimal".
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 23 September 2019, 15:27:32
OK, war ich unpräzise. Wenn zu einem Zeitpunkt t und zum Zeitpunkt t+360Sekunden die genannte Bedingung war ist, soll die Nachricht geschickt werden. Das soll einmal geschehen und dann erst wieder, wenn die genannten Bedingung zwischendurch einmal falsch wurde.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: rabehd am 23 September 2019, 16:47:43
Du schreibst jetzt was ganz anderes als zu Beginn!
ZitatWenn zu einem Zeitpunkt t und zum Zeitpunkt t+360Sekunden die genannte Bedingung war ist,
Zitatlänger als 6 Minuten ein reading ENERGY_Current zwischen 0.025 und 0.034 aufweist.
Überlege Dir erstmal genau was Du willst, dann ....
Und lese Dir mal die Erklärung zu wait durch.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 23 September 2019, 16:56:04
Also Leute, das mit dem wait kam doch nicht von mir - das könnt Ihr sehen, wenn Ihr einfach oben mal nachschaut, wo das zum ersten Mal erschien. Mein Vorschlag war das nicht und das könnt Ihr mir jetzt nicht vorwerfen. Aber gern lese ich nochmal wait:
ZitatVerzögerungen für die Ausführung von Kommandos werden pro Befehlsfolge über das Attribut "wait" definiert.
Ich habe auch deshalb nicht zuerst an wait gedacht und glaube auch nicht, dass das hilft.

So, und nun zu "was willst du eigentlich". Überlegt habe ich mir das schon, keine Sorge. Alle sechs Minuten kommt eine Meldung/event, wie hoch ENERGY_current ist. Dazwischen meldet Blitzwolf1 nichts. Ich will, wenn zweimal das Event "ENERGY_current ist größer als 0.025 und kleiner als 0.034" hintereinander erschien, dass dann eine Message ausgelöst wird.  Ich bin auch der Meinung, dass ich das halbwegs klar ausgedrückt habe. Jedenfalls ist mir nicht klar, was rabehd nicht klar ist. Nur "Du schreibst was ganz anderes" stimmt nicht, das ist zumindest ähnlich und die Unterschiede sehe ich auch dann nicht, wenn man mich auffordert "sieh doch den Unterschied". Da musst Du schon etwas klarer werden oder es ganz lassen, Vorwürfe helfen mir hier nicht, wenn sie so knapp und ohne weitere Erläuterung kommen.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: rabehd am 23 September 2019, 20:42:44
Es ist was ganz anders
ob ich aller 6 Minuten prüfe ob etwas wahr ist
oder
ob ein Wert 6 Minuten innerhalb einer Toleranz sein soll

Der Hinweis zu wait kam doch!
https://wiki.fhem.de/wiki/DOIF/Einsteigerleitfaden,_Grundfunktionen_und_Erl%C3%A4uterungen#wait (https://wiki.fhem.de/wiki/DOIF/Einsteigerleitfaden,_Grundfunktionen_und_Erl%C3%A4uterungen#wait)
Da steht es und wenn man es nicht versteht (gelesen hast Du es ja wohl), dann schaut man mit der Suchfunktion oder fragt konkret.
Für Dich: Wird ein Zweig durch die erfüllte Bedingung ausgelöst und hat als Attribut ein wait, dann wird mit der Ausführung gewartet. Die Ausführung erfolgt später aber nur, wenn sich bis dahin die Bedingung nicht verändert hat. ("Laufende Wait-Timer werden bei einem eingeleiteten Statuswechsel des DOIF abgebrochen")

Das wäre dann genau Dein Wunsch
Zitatlänger als 6 Minuten ein reading ENERGY_Current zwischen 0.025 und 0.034 aufweist.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 23 September 2019, 21:06:31
ok, also probiere ich mal wait und berichte, danke!

Trotzdem verstehe ich die Formulierungen in commandref und wiki nicht und das lieg nicht nur an mir. Vielleicht kannst du licht ins dunkel bringen. Ich habe ein device, das genau alle fünf [5!] Minuten Ereignisse erzeugt. Sobald die Ereignisse eintreffen, wird eine Bedingung geprüft. Wo ist unter diesen Annahmen der Unterschied zwischen
Zitat
wait: Das Attribut verzögert die Befehlsausführung, nach wahr werden einer Bedingung [erste Ereignis trifft ein]

Laufende Wait-Timer werden bei einem eingeleiteten Statuswechsel des DOIF abgebrochen [wenn zweites Ereignis nicht die Bedingung erfüllt], daher werden die zu verzögernden Befehle nicht mehr ausgeführt. [Sonst aber doch schon, weil die Verzögerung nur sechs Minuten beträgt]
und
Zitat
waitsame:  wenn innerhalb einer definierten Zeitspanne [hier sechs Minuten, also zweimal hintereinander eintreffen des oben genannten Ereignisses] die entsprechende Bedingung zweimal hintereinander wahr wird.
Für mich ist dasselbe? Wenn nein: wie müssen die Ereignisse oder die Umgebung/Bedingungen aussehen, damit bei einem was anderes herauskommt als bei dem anderen?
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: laberlaib am 01 Oktober 2019, 13:26:26
Ich glaube, du musst das mehr DOIF-mäßig sehen, meine Interpretation (der noch nie mit waitsame gearbeitet hat, aber das wait nutzt um Anwesenheit erst auf Abwesenheit zu schalten, wenn der Token wirklich 240 Sekunden weg war und nicht nur kurz versteckt):

Bedingung wird wahr => DOIF springt auf das Kommando
dann wait: DOIF macht das Kommando erst, wenn DOIF-soundsolange auf wahr bleibt, d.h. sich nicht verändert (Stichwort kein Statuswechsel).

waitsame: Taster wird gedrückt, Bedingung ist war (cmd_1), Taster wird losgelassen, Statuswechsel in cmd_2, taster gedrückt, Bedinung erneut wahr (cmd_1) - das ganze in der waitsame Zeitspanne und sooft wie repeatsame (+1) => Führe die Kommandos aus cmd_1 aus!


ich mach das gleiche wie du:
Verbrauch des Receivers für 3 Minuten unter X => Kodi ausschalten, Beamer ausschalten.
Wenn ich aber nur kurz ausmache (ausversehen oder Fehlmessung) dann passiert nix.

BLE-Token auf absent => Person auf absent aber mit wait 300: 3 Minuten Müll rausbringen soll mich nicht auf absent schalten.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 02 Oktober 2019, 08:13:46
Danke, das ist ja nun viel klarer. Ich würde gern in dem anderen Thread, der im Wiki verlinkt ist, ändern. Was hältst Du von dieser Beschreibung:
Ist das korrekt? Dann frage ich mal Damian.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: Damian am 02 Oktober 2019, 09:16:56
Zitat von: andies am 02 Oktober 2019, 08:13:46
Danke, das ist ja nun viel klarer. Ich würde gern in dem anderen Thread, der im Wiki verlinkt ist, ändern. Was hältst Du von dieser Beschreibung:

  • wait X: Ein Kommando wird nur dann ausgelöst, wenn X Sekunden lang die Bedingung durchgehend wahr war.
  • waitsame X: Ein Kommando wird nur dann ausgelöst, wenn sich innerhalb von X Sekunden die Bedingungen mehrfach geändert haben; dabei muss es insgesamt repeatsame+1 mal wahr gewesen sein (und entsprechend oft falsch)
Ist das korrekt? Dann frage ich mal Damian.
Es ist immer die Frage, was die Leute darunter verstehen.

ZitatEin Kommando wird nur dann ausgelöst, wenn X Sekunden lang die Bedingung durchgehend wahr war.


Beispiel:

DOIF ([FS] eq "on") (set bla on)

wait 300
do always


Durch do always und keinen DOELSE-Fall, gibt es cmd_2 nicht.

Dadurch kann das Modul bei FS gleich off, den Zustand nicht wechseln, auch wenn die Bedingung eigentlich nicht wahr ist -> obige Aussage stimmt nicht (Kommando wird trotzdem in 300 Sekunden ausgeführt)


ZitatEin Kommando wird nur dann ausgelöst, wenn sich innerhalb von X Sekunden die Bedingungen mehrfach geändert haben; dabei muss es insgesamt repeatsame+1 mal wahr gewesen sein (und entsprechend oft falsch)

Mehrfach ist zu allgemein. Kommando wird ausgeführt, wenn innerhalb von X Sekunden, zwei mal die Bedingung wahr wurde. repeatsame hat hier eine untergeordnete Rolle. Damit es immer wieder (also auch ohne Zustandswechsel) funktioniert  reicht do always, repeatsame ist also nicht nötig.

In beiden Fällen ist die Commandref zu den beiden Attributen, aus meiner Sicht, eindeutiger formuliert.


Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: andies am 02 Oktober 2019, 11:53:06
Ja, sicherlich ist die Commandref eindeutiger formuliert. Mein Problem ist: Ich verstehe sie teilweise nicht. Nun kann man immer sagen "Liegt an dem, der nicht richtig lesen kann" ( ;D ) aber ich dachte mir, auch den Noobs unter uns müsste man das erklären können. Wenn Du also nichts dagegen hast, bohre ich hier mal weiter. Und damit das klarer wird, was ich nicht verstehe, formuliere ich die Fragen, die ich hatte.

ZitatMit dem Attribut waitsame <Zeitspanne in Sekunden für cmd_1>:<Zeitspanne in Sekunden für das cmd_2>:... wird ein Kommando erst dann ausgeführt, wenn innerhalb einer definierten Zeitspanne die entsprechende Bedingung zweimal hintereinander wahr wird.
Implizit steht da drin, dass sie zwischendurch mal falsch wurde - sehe ich das richtig? Es muss also Statuswechsel gegeben haben, auch dann, wenn es kein DOELSE gibt?

ZitatVerzögerungen für die Ausführung von Kommandos werden pro Befehlsfolge über das Attribut "wait" definiert.
Da steht noch nicht, wie genau die Logik ist. Nur, wozu das Kommando dienen soll (eine analoge Formulierung fehlt bei waitsame). Insbesondere war mir nicht klar, ob es hier Statuswechsel geben kann oder muss oder nicht geben darf.

ZitatAusgewertet wird hier der Zustand des Status von remotecontrol nicht das Event selbst.
Das ist ein sehr, sehr wichtiger Satz, dessen Bedeutung ich nicht erfasst oder verstanden hatte. Das ist ja Dein Text, aber ich würde hier gern etwas ausführliches vorschlagen, damit das eben nicht überlesen wird.
Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: Damian am 02 Oktober 2019, 13:03:28
ja, es ist immer das Problem, auf der einen Seite die Commandref kurz zu halten, auf der einen Seiten einen Sachverhalt präzise und eindeutig zu beschreiben.

Es ist ja nichts dagegen zu sagen, bestimmte Funktionalität ausführlicher im Wiki zu erklären, allerdings sollte die Erklärung nicht missverständlich (bzw. mehrdeutig sein). Das gelingt mir leider auch nicht immer. Es mussten auch schon Wiki-Beiträge wieder herausgenommen werden, weil die Verfasser es nicht besser wussten ;)

Was man sagen könnte ist z. B.:

Wait:

Ein Kommando wird nur dann ausgelöst, wenn X Sekunden lang die Bedingung durchgehend wahr war, also kein anderer Zweig während der Wartezeit zum Zuge kam.

waitsame:

Ein Kommando wird nur dann ausgelöst, wenn innerhalb von X Sekunden die Bedingung zwei mal wahr wird, ohne dass während der Wartezeit ein anderer Zweig ausgeführt wurde.



Titel: Antw:Verständnisfrage zu DOIF: repeatsame und wait
Beitrag von: rabehd am 02 Oktober 2019, 13:08:48
Ich bin auch dafür ausführliche Erklärungen gehören ist Wiki!
Dort steht es auch:
Zitatwait

Das Attribut verzögert die Befehlsausführung, nach wahr werden einer Bedingung.

Laufende Wait-Timer werden bei einem eingeleiteten Statuswechsel des DOIF abgebrochen, daher werden die zu verzögernden Befehle nicht mehr ausgeführt.

Kurz, klar, verständlich!