DOIF löst zur falschen Zeit aus

Begonnen von dieda, 17 Juli 2016, 22:43:01

Vorheriges Thema - Nächstes Thema

dieda

Hallo in der Runde,

war lange nicht mehr hier und jetzt muss ich feststellen, dass mein Rollladen nicht so will wie ich. Ich vermute, dass es mein DOIF für die Beschattung ist. Der Laden geht um Punkt 22:30 wieder hoch.

Hier die Def:
Internals:
   DEF        ([T_Wohnzimmer:temperature:d]>23
and
[wz_Fensterkontakt_Tuer_links:state] eq "closed"
and
[wz_bs:state] eq "off 2.5"
and
[?10:00-22:00]
and
[T_Auszen:temperature:d]>20)
(set wz_gr_Rolladen Ab80) DOELSE (set wz_gr_Rolladen on)
   NAME       Beschattung_WZ
   NR         232
   NTFY_ORDER 50-Beschattung_WZ
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2016-07-17 22:34:18   Device          wz_Fensterkontakt_Tuer_links
     2016-07-17 22:30:02   cmd             2
     2016-07-17 22:30:02   cmd_event       wz_Fensterkontakt_Tuer_links
     2016-07-17 22:30:02   cmd_nr          2
     2016-07-17 22:31:03   e_T_Auszen_temperature 21.2
     2016-07-17 22:34:01   e_T_Wohnzimmer_temperature 24
     2016-07-17 22:34:18   e_wz_Fensterkontakt_Tuer_links_state closed
     2016-07-15 13:57:22   e_wz_bs_state   off 2.5
     2016-07-17 22:30:02   state           cmd_2
     2016-07-17 22:00:00   timer_1_c1      18.07.2016 10:00:00
     2016-07-17 22:00:00   timer_2_c1      18.07.2016 22:00:00
     2016-07-17 22:30:02   wait_timer      no timer
   Condition:
     0          ReadingValDoIf($hash,'T_Wohnzimmer','temperature','(-?\d+(\.\d+)?)','',AttrVal($hash->{NAME},'notexist',undef))>23  and  ReadingValDoIf($hash,'wz_Fensterkontakt_Tuer_links','state','','',AttrVal($hash->{NAME},'notexist',undef)) eq "closed"  and  ReadingValDoIf($hash,'wz_bs','state','','',AttrVal($hash->{NAME},'notexist',undef)) eq "off 2.5"  and  DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"")  and  ReadingValDoIf($hash,'T_Auszen','temperature','(-?\d+(\.\d+)?)','',AttrVal($hash->{NAME},'notexist',undef))>20
   Days:
   Devices:
     0           T_Wohnzimmer wz_Fensterkontakt_Tuer_links wz_bs T_Auszen
     all         T_Wohnzimmer wz_Fensterkontakt_Tuer_links wz_bs T_Auszen
   Do:
     0:
       0          set wz_gr_Rolladen Ab80
     1:
       0          set wz_gr_Rolladen on
   Helper:
     event      closed
     globalinit 1
     last_timer 2
     sleepdevice wz_Fensterkontakt_Tuer_links
     sleepsubtimer -1
     sleeptimer -1
     timerdev   wz_Fensterkontakt_Tuer_links
     timerevent closed
     triggerDev wz_Fensterkontakt_Tuer_links
     timerevents:
       closed
     timereventsState:
       state: closed
     triggerEvents:
       closed
     triggerEventsState:
       state: closed
   Internals:
   Interval:
     0          -1
     1          0
   Itimer:
   Localtime:
     0          1468828800
     1          1468872000
   Readings:
     0           T_Wohnzimmer:temperature wz_Fensterkontakt_Tuer_links:state wz_bs:state T_Auszen:temperature
     all         T_Wohnzimmer:temperature wz_Fensterkontakt_Tuer_links:state wz_bs:state T_Auszen:temperature
   Realtime:
     0          10:00:00
     1          22:00:00
   Regexp:
     0:
     All:
   State:
   Time:
     0          10:00:00
     1          22:00:00
   Timecond:
     0          0
     1          0
   Timer:
     0          0
     1          0
   Timers:
   Trigger:
   Triggertime:
     1468828800:
       localtime  1468828800
       Hash:
     1468872000:
       localtime  1468872000
       Hash:
Attributes:
   group      Schaltzeiten
   room       Wohnzimmer
   wait       0:1800
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

Ellert

#1
Für jeden Auslöser ausserhalb von 10-22 Uhr wird die Bedingung unwahr und es tritt der DOELSE-Fall ein.

Du müsstest mit DOELSEIF eine Bedingung für "on" formulieren, z.B. mit sunrise, Twilight, oder einem festen Zeitpunkt.