(ERLEDIGT)Problem mit wait und an sich mit dem DOIF...

Begonnen von misux, 18 April 2018, 22:18:07

Vorheriges Thema - Nächstes Thema

misux

... obwohl es eigentlich ein einfaches DOIF ist...

HI!

Irgendwie will mein DOIF den wait Timer nicht. Er wartet nicht 60sek vor dem Ausschalten...  Und was viel komischer ist das we seit gestern nicht mehr den Deckenfluter on schaltet wenn "Nacht" wird... Hat jemand eine Idee wo auf einmal der Fehler liegt?

Hier das DOIF:

([Tageslicht_indoor] eq "Nacht") (set Deckenfluter on)
DOELSEIF
([TVTime:state] eq "off" and [PartyTime:state] eq "off" and [22:30-03:30]) (set Deckenfluter off)



HIer der List :
ZitatInternals:
   DEF        ([Tageslicht_indoor] eq "Nacht") (set Deckenfluter on)
DOELSEIF
([?TVTime:state] eq "off" and [?PartyTime:state] eq "off" and [22:11-03:30]) (set Deckenfluter off)
   MODEL      FHEM
   NAME       DOIFDeckenfluter
   NR         100
   NTFY_ORDER 50-DOIFDeckenfluter
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2018-04-18 22:11:00   cmd             2
     2018-04-18 22:11:00   cmd_event       timer_1
     2018-04-18 22:11:00   cmd_nr          2
     2018-04-18 22:10:18   mode            enabled
     2018-04-18 22:11:00   state           cmd_2
     2018-04-18 22:10:18   timer_01_c02    18.04.2018 22:30:00
     2018-04-18 22:10:18   timer_02_c02    19.04.2018 03:30:00
   Regex:
   condition:
     0          InternalDoIf($hash,'Tageslicht_indoor','STATE') eq "Nacht"
     1          ReadingValDoIf($hash,'TVTime','state') eq "off" and ReadingValDoIf($hash,'PartyTime','state') eq "off" and DOIF_time($hash,0,1,$wday,$hms)
   days:
   devices:
     0           Tageslicht_indoor
     all         Tageslicht_indoor
   do:
     0:
       0          set Deckenfluter on
     1:
       0          set Deckenfluter off
     2:
   helper:
     DOIF_Readings_events
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   
     timerevent timer_1
     timereventsState
     triggerDev
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: timer_1
       state: cmd_2
     timerevents:
       timer_1
     triggerEvents:
       timer_1
   internals:
     0           Tageslicht_indoor:STATE
     all         Tageslicht_indoor:STATE
   interval:
     0          -1
     1          0
   itimer:
   localtime:
     0          1524082260
     1          1524101400
   readings:
   realtime:
     0          22:30:00
     1          03:30:00
   time:
     0          22:30:00
     1          03:30:00
   timeCond:
     0          1
     1          1
   timer:
     0          0
     1          0
   timers:
     1           0  1
   triggertime:
     1524101400:
       localtime  1524101400
       hash:
   uiState:
   uiTable:
Attributes:
   room       2 DOIF
   wait       0:60

Damian

Das sind zwei Dinge.

1. cmd_2 wurde durch das Triggern des Zeitintervall-Timers ausgeführt. Wait verlängert keine Timer, wenn nicht das Attribut https://fhem.de/commandref_DE.html#DOIF_timerWithWait gesetzt ist.

2. Wenn das Modul sich im Zustand cmd_1 befindet, wird dieser ohne gesetztes do always-Attribut nicht noch mal ausgeführt
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

misux

okay, dann habe ich das mit dem wait etwas falsch verstanden...

Aber das do always hatte ich bis jetzt nie drin... und bis vor 2 tagen hat es eigentlich immer funktioniert..

Ich habe die befürchtung das wenn vielleicht einer der 3 [TVTime:state] eq "off" and [PartyTime:state] eq "off" auf on steht und es dann "nacht" wird, kann es sein das er dann den Deckenfluter nicht einschaltet?

Damian

Zitat von: misux am 18 April 2018, 22:38:56
okay, dann habe ich das mit dem wait etwas falsch verstanden...

Aber das do always hatte ich bis jetzt nie drin... und bis vor 2 tagen hat es eigentlich immer funktioniert..

Ich habe die befürchtung das wenn vielleicht einer der 3 [TVTime:state] eq "off" and [PartyTime:state] eq "off" auf on steht und es dann "nacht" wird, kann es sein das er dann den Deckenfluter nicht einschaltet?

Nein, cmd_1 wird immer dann geschaltet, wenn ein Trigger von Tageslicht_indoor kommt und dessen Status "Nacht" ist und das DOIF-Modul sich nicht im Zustand cmd_1 befindet.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

misux

Hmm... komisch... ich weiß zwar nicht im welchen zustand sich das DOIF befunden hat aber ich schwöre das es jetzt ca 4 Wochen so funktioniert hat... :o

Naja, okay, egal, hauptsache es geht jetzt wieder!

Vielen Dank für deine Hilfe! ;D