[gelöst] Befehlswiederholung abbrechen

Begonnen von ujaudio, 29 Juni 2019, 12:07:49

Vorheriges Thema - Nächstes Thema

ujaudio

Ich habe folgendes DOIF:

Internals:
   DEF        ([tr_wassermanuell] ne "nein" or [tr_wassersonnenaufgang] ne "nein")  ## bei Bedarf oder vor Sonnenaufgang
  (set tr_Wasserpumpe on-for-timer 60, {MP3laden("005")})  ## soll die Bewässerung 12x 1 Minute laufen
   MODEL      FHEM
   NAME       tr_giessen
   NR         1188
   NTFY_ORDER 50-tr_giessen
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2019-06-29 11:56:33   cmd             0
     2019-06-29 11:56:33   mode            enabled
     2019-06-29 11:56:33   state           initialized
   Regex:
   attr:
     cmdState:
     repeatcmd:
       300
     repeatsame:
       12
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'tr_wassermanuell','STATE') ne "nein" or ::InternalDoIf($hash,'tr_wassersonnenaufgang','STATE') ne "nein"
   devices:
     0           tr_wassermanuell tr_wassersonnenaufgang
     all         tr_wassermanuell tr_wassersonnenaufgang
   do:
     0:
       0          set tr_Wasserpumpe on-for-timer 60, {MP3laden("005")}
     1:
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   internals:
     0           tr_wassermanuell:STATE tr_wassersonnenaufgang:STATE
     all         tr_wassermanuell:STATE tr_wassersonnenaufgang:STATE
   itimer:
   uiState:
   uiTable:
Attributes:
   repeatcmd  300
   repeatsame 12
   room       Terrasse


Meine Erwartungshaltung:
* wenn die Bedingung > 1Stunde (12 x 300 Sekunden wie mit repeatcmd und repeatsame definiert) erfüllt ist, wird trotzdem nur 12x das Kommando ausgeführt - das funktioniert.
* wenn die Bedingung nicht mehr erfüllt ist, wird auch kein Kommando mehr ausgefüllt - das funktioniert so nicht, es wird dennoch 12x das Kommando ausgeführt.

Ich habe die comandref zu DOIF jetzt schon 2x gelesen, aber wahrscheinlich wieder an der entscheidenden Stelle nichts verstanden. Vielleicht hat jemand einen Hinweis? Danke.
Einen lieben Gruß
Jürgen

amenomade

Mit einem leeren DOELSE am Ende wird der Status sich ändern, wenn die Bedingung nicht mehr wahr ist, und somit sollte die Wiederholung abgebrochen werden.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

ujaudio

Einen lieben Gruß
Jürgen