FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Spartacus am 17 Dezember 2016, 23:24:16

Titel: Ich verstehe mein DOIF nicht! Wo ist der Fehler?
Beitrag von: Spartacus am 17 Dezember 2016, 23:24:16
Hallo,
kann mir jemand helfen, den Fehler in meinem DOIF zu finden? Eigentlich klappt alles wie es soll, allerdings triggert das Modul im ersten DOELSEIF-Zweig um 22:00 Uhr, obwohl ich dies auf Werktage ([22:00|8] begrenzt habe. HEute ist aber Samstag und die LEuchte sollte um 23:00 triggern.

Attribute sind derzeit keine Weiteren gesetzt (außer alias, cmdState, comment). Aber auch mit "Do always" klappt es nicht, wie gewünscht.

Hier mal das DOIF:
(((
   ([06:30|8] or [17:30|8]) and  [?hl.01.Feiertag] eq "none" and ![?state.NRW.Ferien.dum] or
   ([08:30]   or [16:30])   and ([?hl.01.Feiertag] ne "none" or [?state.NRW.Ferien.dum]) or
    [08:30|7] or [16:30|7]) and  Advent) and [?switch.di.01.OG.fl.SD.Boden.dum] eq "on")
(set OG.fl.SD.Boden on)

DOELSEIF
(((
   ([07:45|8] or [22:00|8]) and  [?hl.01.Feiertag] eq "none" and ![?state.NRW.Ferien.dum] or
    [09:30]   or
    [23:00]                 and  [?hl.01.Feiertag] ne "Silvester" or
    [02:00]                 and  [?hl.01.Feiertag] eq "Neujahr") and Advent and [?switch.di.01.OG.fl.SD.Boden.dum] eq "on") or [switch.di.01.OG.fl.SD.Boden.dum] eq "on")
(set OG.fl.SD.Boden off)
DOELSEIF
([switch.di.01.OG.fl.SD.Boden.dum] eq "off")
(set  OG.fl.SD.Boden off)


Danke und Gruß,
Spartacus.
Titel: Antw:Ich verstehe mein DOIF nicht! Wo ist der Fehler?
Beitrag von: Ellert am 18 Dezember 2016, 08:44:59
Mach mal eine Verhaltensanalyse gemäß https://wiki.fhem.de/wiki/DOIF/Tools_und_Fehlersuche#Verhaltensanalyse_des_DOIF und poste einen Logdateiauszug mit dem Bereich um den Fehler und kommentiere bitte den Fehler. Logge auch das Holiday Gerät und die Dummys, damit der Zustand aller im DOIF verwendeten Geräte ersichtlich ist, andernfalls kann man nur raten.
Titel: Antw:Ich verstehe mein DOIF nicht! Wo ist der Fehler?
Beitrag von: Spartacus am 18 Dezember 2016, 16:16:22
Hallo zusammen,
ich habe das Ganze nun, wie im Wiki beschrieben, durchgeführt. Allerdings kann ich hier nicht erkennen, warum der Aktor sonntags um 16:03 abschaltet. Ich hätte erwartet, dass "cmd_event: timer_8" hier nicht ausgelöst wird.

Spartacus.

DOIF:
Internals:
   CFGFN      Config/99-Weihnachtszeit.cfg
   DEF        (((
   ([06:30|8] or [17:30|8]) and  [?hl.01.Feiertag] eq "none" and ![?state.NRW.Ferien.dum] or
   ([08:30]   or [15:48])   and ([?hl.01.Feiertag] ne "none" or [?state.NRW.Ferien.dum]) or
    [08:30|7] or [16:02|7]) and  Advent) and [?switch.di.01.OG.fl.SD.Boden.dum] eq "on")
(set OG.fl.SD.Boden on)

DOELSEIF
(((
   ([07:45|8] or [16:03|8]) and  [?hl.01.Feiertag] eq "none" and ![?state.NRW.Ferien.dum] or
    [09:30]   or
    [23:00]                 and  [?hl.01.Feiertag] ne "Silvester" or
    [02:00]                 and  [?hl.01.Feiertag] eq "Neujahr") and Advent and [?switch.di.01.OG.fl.SD.Boden.dum] eq "on") or [switch.di.01.OG.fl.SD.Boden.dum] eq "on")
(set OG.fl.SD.Boden off)
DOELSEIF
([switch.di.01.OG.fl.SD.Boden.dum] eq "off")
(set  OG.fl.SD.Boden off)
   NAME       di.01.OG.fl.SD.Weihnachtsbeleuchtung
   NR         1138
   NTFY_ORDER 50-di.01.OG.fl.SD.Weihnachtsbeleuchtung
   STATE      off
   TYPE       DOIF
   Readings:
     2016-12-18 16:00:28   Device          switch.di.01.OG.fl.SD.Boden.dum
     2016-12-18 16:03:00   cmd             2
     2016-12-18 16:03:00   cmd_event       timer_8
     2016-12-18 16:03:00   cmd_nr          2
     2016-12-18 16:00:28   e_switch.di.01.OG.fl.SD.Boden.dum_STATE on
     2016-12-18 16:03:00   state           off
     2016-12-18 16:00:20   timer_01_c01    19.12.2016 06:30:00|8
     2016-12-18 16:00:20   timer_02_c01    18.12.2016 17:30:00|8
     2016-12-18 16:00:20   timer_03_c01    19.12.2016 08:30:00
     2016-12-18 16:00:20   timer_04_c01    19.12.2016 15:48:00
     2016-12-18 16:00:20   timer_05_c01    19.12.2016 08:30:00|7
     2016-12-18 16:02:00   timer_06_c01    19.12.2016 16:02:00|7
     2016-12-18 16:00:20   timer_07_c02    19.12.2016 07:45:00|8
     2016-12-18 16:03:00   timer_08_c02    19.12.2016 16:03:00|8
     2016-12-18 16:00:20   timer_09_c02    19.12.2016 09:30:00
     2016-12-18 16:00:20   timer_10_c02    18.12.2016 23:00:00
     2016-12-18 16:00:20   timer_11_c02    19.12.2016 02:00:00
   Condition:
     0          ((    (DOIF_time_once($hash,0,$wday,"8") or DOIF_time_once($hash,1,$wday,"8")) and  InternalDoIf($hash,'hl.01.Feiertag','STATE') eq "none" and !InternalDoIf($hash,'state.NRW.Ferien.dum','STATE') or    (DOIF_time_once($hash,2,$wday)   or DOIF_time_once($hash,3,$wday))   and (InternalDoIf($hash,'hl.01.Feiertag','STATE') ne "none" or InternalDoIf($hash,'state.NRW.Ferien.dum','STATE')) or      DOIF_time_once($hash,4,$wday,"7") or DOIF_time_once($hash,5,$wday,"7")) and  Advent) and InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "on"
     1          ((    (DOIF_time_once($hash,6,$wday,"8") or DOIF_time_once($hash,7,$wday,"8")) and  InternalDoIf($hash,'hl.01.Feiertag','STATE') eq "none" and !InternalDoIf($hash,'state.NRW.Ferien.dum','STATE') or     DOIF_time_once($hash,8,$wday)   or      DOIF_time_once($hash,9,$wday)                 and  InternalDoIf($hash,'hl.01.Feiertag','STATE') ne "Silvester" or      DOIF_time_once($hash,10,$wday)                 and  InternalDoIf($hash,'hl.01.Feiertag','STATE') eq "Neujahr") and Advent and InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "on") or InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "on"
     2          InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "off"
   Days:
     0          8
     1          8
     4          7
     5          7
     6          8
     7          8
   Devices:
     1           switch.di.01.OG.fl.SD.Boden.dum
     2           switch.di.01.OG.fl.SD.Boden.dum
     all         switch.di.01.OG.fl.SD.Boden.dum
   Do:
     0:
       0          set OG.fl.SD.Boden on
     1:
       0          set OG.fl.SD.Boden off
     2:
       0          set  OG.fl.SD.Boden off
   Helper:
     event      timer_8
     globalinit 1
     last_timer 11
     sleeptimer -1
     timerdev
     timerevent timer_8
     triggerDev
     timerevents:
       timer_8
     timereventsState:
       state: on
     triggerEvents:
       timer_8
     triggerEventsState:
       state: on
   Internals:
     0           hl.01.Feiertag:STATE state.NRW.Ferien.dum:STATE switch.di.01.OG.fl.SD.Boden.dum:STATE
     1           hl.01.Feiertag:STATE state.NRW.Ferien.dum:STATE switch.di.01.OG.fl.SD.Boden.dum:STATE
     2           switch.di.01.OG.fl.SD.Boden.dum:STATE
     all         hl.01.Feiertag:STATE state.NRW.Ferien.dum:STATE switch.di.01.OG.fl.SD.Boden.dum:STATE
   Interval:
   Itimer:
   Localtime:
     0          1482125400
     1          1482078600
     10         1482109200
     2          1482132600
     3          1482158880
     4          1482132600
     5          1482159720
     6          1482129900
     7          1482159780
     8          1482136200
     9          1482098400
   Readings:
   Realtime:
     0          06:30:00
     1          17:30:00
     10         02:00:00
     2          08:30:00
     3          15:48:00
     4          08:30:00
     5          16:02:00
     6          07:45:00
     7          16:03:00
     8          09:30:00
     9          23:00:00
   Regexp:
     0:
     1:
     2:
     All:
   State:
   Time:
     0          06:30:00
     1          17:30:00
     10         02:00:00
     2          08:30:00
     3          15:48:00
     4          08:30:00
     5          16:02:00
     6          07:45:00
     7          16:03:00
     8          09:30:00
     9          23:00:00
   Timecond:
     0          0
     1          0
     10         1
     2          0
     3          0
     4          0
     5          0
     6          1
     7          1
     8          1
     9          1
   Timer:
     0          0
     1          0
     10         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   Timers:
     0           0  1  2  3  4  5
     1           6  7  8  9  10
   Trigger:
   Triggertime:
     1482078600:
       localtime  1482078600
       Hash:
     1482098400:
       localtime  1482098400
       Hash:
     1482109200:
       localtime  1482109200
       Hash:
     1482125400:
       localtime  1482125400
       Hash:
     1482129900:
       localtime  1482129900
       Hash:
     1482132600:
       localtime  1482132600
       Hash:
     1482136200:
       localtime  1482136200
       Hash:
     1482158880:
       localtime  1482158880
       Hash:
     1482159720:
       localtime  1482159720
       Hash:
     1482159780:
       localtime  1482159780
       Hash:
Attributes:
   alias      Bodensteckdoese OG Flur
   cmdState   on|off|deaktiv
   comment    aktiv: von Totensonntag bis 06. Januar
   devStateIcon .*on:light_wire_system_1@lightgreen .*off:light_wire_system_1@red .*deaktiv:light_wire_system_1@grey
   disable    0
   group      Scripte
   icon       scene_x-mas@green
   room       99-Weihnachtszeit,02-Flur
   sortby     02



Logfile mit Kommentaren:
#######################################
# Automatik ein und ausschalten
# Funktion wie erwartet
#
2016-12-18_16:00:20.326 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd: 0
2016-12-18_16:00:20.326 di.01.OG.fl.SD.Weihnachtsbeleuchtung initialized
2016-12-18_16:00:26.696 switch.di.01.OG.fl.SD.Boden.dum off
2016-12-18_16:00:26.734 rg.01.OG.fl.SD.Boden switch.di.01.OG.fl.SD.Boden.dum.state: <html><div id="switch.di.01.OG.fl.SD.Boden.dum"  title="off" class="col2"><img class=' 10px-kreis-rot' src="/fhem/images/default/10px-kreis-rot.png" alt="off" title="off"></div></html>
2016-12-18_16:00:26.822 OG.fl.SD.Boden block: unlock
2016-12-18_16:00:26.903 OG.fl.SD.Boden dim: 0
2016-12-18_16:00:27.094 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_nr: 3
2016-12-18_16:00:27.094 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd: 3
2016-12-18_16:00:27.094 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_event: switch.di.01.OG.fl.SD.Boden.dum
2016-12-18_16:00:27.094 di.01.OG.fl.SD.Weihnachtsbeleuchtung deaktiv
2016-12-18_16:00:27.937 switch.di.01.OG.fl.SD.Boden.dum on
2016-12-18_16:00:27.984 rg.01.OG.fl.SD.Boden switch.di.01.OG.fl.SD.Boden.dum.state: <html><div id="switch.di.01.OG.fl.SD.Boden.dum"  title="on" class="col2"><img class=' 10px-kreis-gruen' src="/fhem/images/default/10px-kreis-gruen.png" alt="on" title="on"></div></html>
2016-12-18_16:00:28.069 OG.fl.SD.Boden block: unlock
2016-12-18_16:00:28.154 OG.fl.SD.Boden dim: 0
2016-12-18_16:00:28.343 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_nr: 2
2016-12-18_16:00:28.343 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd: 2
2016-12-18_16:00:28.343 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_event: switch.di.01.OG.fl.SD.Boden.dum
2016-12-18_16:00:28.343 di.01.OG.fl.SD.Weihnachtsbeleuchtung off
2016-12-18_16:00:29.012 OG.fl.SD.Boden rampTime: 0
2016-12-18_16:00:29.012 OG.fl.SD.Boden off
2016-12-18_16:00:29.012 OG.fl.SD.Boden dim: 0
2016-12-18_16:00:29.097 rg.01.OG.fl.SD.Boden OG.fl.SD.Boden.state: <html><div id="OG.fl.SD.Boden"  title="0" class="col2"><a href="/fhem?cmd.OG.fl.SD.Boden=set OG.fl.SD.Boden on&room=02%2dFlur02-Flur,98-EnOcean"><svg class=" light_light_dim_00 grey" data-txt="0" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="617pt" viewBox="0 0 468 617"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,617) scale(0.221801,-0.221801)" fill="grey" stroke="none"> <path d="M756 2765 c-9 -25 -7 -128 3 -144 5 -8 16 -11 25 -8 24 10 19 160 -5 165 -9 2 -19 -4 -23 -13z"/> <path d="M1310 2695 c0 -77 2 -86 18 -83 14 3 17 15 17 83 0 68 -3 80 -17 83 -16 3 -18 -6 -18 -83z"/> <path d="M1806 2581 c-47 -47 -67 -74 -63 -85 4 -9 10 -16 14 -16 17 0 155 148 149 159 -14 21 -32 10 -100 -58z"/> <path d="M220 2622 c0 -23 125 -147 139 -138 21 13 11 32 -52 94 -64 64 -87 75 -87 44z"/> <path d="M809 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M13 2065 c-11 -29 12 -36 118 -33 96 3 104 4 104 23 0 19 -8 20 -108 23 -91 2 -108 0 -114 -13z"/> <path d="M1877 2066 c-11 -27 17 -36 113 -36 100 0 127 8 117 34 -5 13 -25 16 -116 16 -83 0 -110 -3 -114 -14z"/> <path d="M10 1510 c0 -19 6 -20 116 -20 105 0 115 2 112 18 -3 15 -18 17 -116 20 -107 3 -112 2 -112 -18z"/> <path d="M1876 1522 c-2 -4 -1 -14 3 -20 5 -9 38 -12 117 -10 89 2 109 6 109 18 0 12 -20 16 -112 18 -61 1 -114 -1 -117 -6z"/> <path d="M21 981 c-8 -5 -11 -16 -8 -25 5 -13 24 -16 112 -16 88 0 107 3 112 16 10 26 -16 34 -112 34 -50 0 -96 -4 -104 -9z"/> <path d="M1882 978 c-8 -8 -9 -15 -1 -25 8 -9 40 -13 108 -13 101 0 128 8 118 34 -5 13 -24 16 -110 16 -66 0 -107 -4 -115 -12z"/> <path d="M768 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M793 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M793 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M871 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg></a></div></html>
2016-12-18_16:00:30.205 OG.fl.SD.Boden rampTime: 0
2016-12-18_16:00:30.205 OG.fl.SD.Boden off
2016-12-18_16:00:30.205 OG.fl.SD.Boden dim: 0
2016-12-18_16:00:30.288 rg.01.OG.fl.SD.Boden OG.fl.SD.Boden.state: <html><div id="OG.fl.SD.Boden"  title="0" class="col2"><a href="/fhem?cmd.OG.fl.SD.Boden=set OG.fl.SD.Boden on&room=02%2dFlur02-Flur,98-EnOcean"><svg class=" light_light_dim_00 grey" data-txt="0" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="617pt" viewBox="0 0 468 617"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,617) scale(0.221801,-0.221801)" fill="grey" stroke="none"> <path d="M756 2765 c-9 -25 -7 -128 3 -144 5 -8 16 -11 25 -8 24 10 19 160 -5 165 -9 2 -19 -4 -23 -13z"/> <path d="M1310 2695 c0 -77 2 -86 18 -83 14 3 17 15 17 83 0 68 -3 80 -17 83 -16 3 -18 -6 -18 -83z"/> <path d="M1806 2581 c-47 -47 -67 -74 -63 -85 4 -9 10 -16 14 -16 17 0 155 148 149 159 -14 21 -32 10 -100 -58z"/> <path d="M220 2622 c0 -23 125 -147 139 -138 21 13 11 32 -52 94 -64 64 -87 75 -87 44z"/> <path d="M809 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M13 2065 c-11 -29 12 -36 118 -33 96 3 104 4 104 23 0 19 -8 20 -108 23 -91 2 -108 0 -114 -13z"/> <path d="M1877 2066 c-11 -27 17 -36 113 -36 100 0 127 8 117 34 -5 13 -25 16 -116 16 -83 0 -110 -3 -114 -14z"/> <path d="M10 1510 c0 -19 6 -20 116 -20 105 0 115 2 112 18 -3 15 -18 17 -116 20 -107 3 -112 2 -112 -18z"/> <path d="M1876 1522 c-2 -4 -1 -14 3 -20 5 -9 38 -12 117 -10 89 2 109 6 109 18 0 12 -20 16 -112 18 -61 1 -114 -1 -117 -6z"/> <path d="M21 981 c-8 -5 -11 -16 -8 -25 5 -13 24 -16 112 -16 88 0 107 3 112 16 10 26 -16 34 -112 34 -50 0 -96 -4 -104 -9z"/> <path d="M1882 978 c-8 -8 -9 -15 -1 -25 8 -9 40 -13 108 -13 101 0 128 8 118 34 -5 13 -24 16 -110 16 -66 0 -107 -4 -115 -12z"/> <path d="M768 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M793 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M793 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M871 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg></a></div></html>
########################################
# Aktor einschalten (sonntags um 16:02)
# Funktion wie erwartet.
#
2016-12-18_16:02:00.029 OG.fl.SD.Boden block: unlock
2016-12-18_16:02:00.111 OG.fl.SD.Boden dim: 100
2016-12-18_16:02:00.304 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_nr: 1
2016-12-18_16:02:00.304 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd: 1
2016-12-18_16:02:00.304 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_event: timer_6
2016-12-18_16:02:00.304 di.01.OG.fl.SD.Weihnachtsbeleuchtung on
2016-12-18_16:02:00.575 OG.fl.SD.Boden on
2016-12-18_16:02:00.632 rg.01.OG.fl.SD.Boden OG.fl.SD.Boden.state: <html><div id="OG.fl.SD.Boden"  title="100" class="col2"><a href="/fhem?cmd.OG.fl.SD.Boden=set OG.fl.SD.Boden on&room=02%2dFlur02-Flur,98-EnOcean"><svg class=" light_light_dim_100 lightgreen" data-txt="100" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="537pt" viewBox="0 0 468 537"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,537) scale(0.181395,-0.181395)" fill="lightgreen" stroke="none"> <path d="M957 2932 c-14 -16 -17 -43 -17 -174 0 -135 2 -157 18 -171 28 -25 72 -26 96 -1 13 13 16 43 16 173 0 140 -2 160 -18 174 -25 22 -75 21 -95 -1z"/> <path d="M1506 2928 c-13 -18 -16 -53 -16 -174 0 -138 2 -152 20 -169 24 -22 77 -22 99 0 13 12 17 44 19 151 4 147 1 174 -24 198 -24 24 -80 20 -98 -6z"/> <path d="M278 2834 c-29 -15 -44 -50 -34 -81 3 -11 73 -85 154 -166 127 -126 153 -147 180 -147 34 0 72 38 72 73 0 34 -312 341 -342 337 -2 -1 -15 -7 -30 -16z"/> <path d="M2235 2840 c-34 -14 -315 -305 -315 -327 0 -35 38 -73 72 -73 27 0 53 21 180 148 82 81 151 157 155 170 12 51 -44 100 -92 82z"/> <path d="M1039 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M2110 2123 c-49 -19 -64 -68 -34 -111 15 -22 19 -22 238 -22 211 0 224 1 241 20 23 25 24 76 1 98 -14 15 -44 17 -224 19 -114 1 -214 -1 -222 -4z"/> <path d="M16 2098 c-22 -31 -20 -71 5 -94 19 -17 39 -19 240 -19 236 0 241 1 254 55 4 18 0 34 -15 53 l-21 27 -224 0 c-220 0 -224 0 -239 -22z"/> <path d="M26 1559 c-32 -25 -35 -70 -6 -99 19 -19 33 -20 238 -20 207 0 220 1 237 20 26 29 24 79 -4 102 -21 16 -44 18 -231 18 -195 0 -209 -1 -234 -21z"/> <path d="M2080 1560 c-23 -23 -26 -68 -6 -96 13 -18 30 -19 233 -22 203 -3 221 -2 243 16 32 26 32 78 1 104 -21 16 -44 18 -237 18 -201 0 -215 -1 -234 -20z"/> <path d="M20 1010 c-29 -29 -26 -74 7 -100 26 -20 36 -21 240 -18 184 3 215 5 229 20 23 22 22 73 -1 98 -17 19 -30 20 -237 20 -205 0 -219 -1 -238 -20z"/> <path d="M2077 1012 c-22 -25 -21 -75 1 -95 16 -15 48 -17 238 -17 120 0 224 4 231 8 32 20 32 94 0 114 -7 4 -111 8 -233 8 -201 0 -222 -2 -237 -18z"/> <path d="M998 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M1023 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M1023 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M1101 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg></a></div></html>
2016-12-18_16:02:02.404 OG.fl.SD.Boden rampTime: 0
2016-12-18_16:02:02.404 OG.fl.SD.Boden on
2016-12-18_16:02:02.404 OG.fl.SD.Boden dim: 100
2016-12-18_16:02:02.404 OG.fl.SD.Boden dimValueLast: 100
2016-12-18_16:02:02.505 rg.01.OG.fl.SD.Boden OG.fl.SD.Boden.state: <html><div id="OG.fl.SD.Boden"  title="100" class="col2"><a href="/fhem?cmd.OG.fl.SD.Boden=set OG.fl.SD.Boden on&room=02%2dFlur02-Flur,98-EnOcean"><svg class=" light_light_dim_100 lightgreen" data-txt="100" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="537pt" viewBox="0 0 468 537"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,537) scale(0.181395,-0.181395)" fill="lightgreen" stroke="none"> <path d="M957 2932 c-14 -16 -17 -43 -17 -174 0 -135 2 -157 18 -171 28 -25 72 -26 96 -1 13 13 16 43 16 173 0 140 -2 160 -18 174 -25 22 -75 21 -95 -1z"/> <path d="M1506 2928 c-13 -18 -16 -53 -16 -174 0 -138 2 -152 20 -169 24 -22 77 -22 99 0 13 12 17 44 19 151 4 147 1 174 -24 198 -24 24 -80 20 -98 -6z"/> <path d="M278 2834 c-29 -15 -44 -50 -34 -81 3 -11 73 -85 154 -166 127 -126 153 -147 180 -147 34 0 72 38 72 73 0 34 -312 341 -342 337 -2 -1 -15 -7 -30 -16z"/> <path d="M2235 2840 c-34 -14 -315 -305 -315 -327 0 -35 38 -73 72 -73 27 0 53 21 180 148 82 81 151 157 155 170 12 51 -44 100 -92 82z"/> <path d="M1039 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M2110 2123 c-49 -19 -64 -68 -34 -111 15 -22 19 -22 238 -22 211 0 224 1 241 20 23 25 24 76 1 98 -14 15 -44 17 -224 19 -114 1 -214 -1 -222 -4z"/> <path d="M16 2098 c-22 -31 -20 -71 5 -94 19 -17 39 -19 240 -19 236 0 241 1 254 55 4 18 0 34 -15 53 l-21 27 -224 0 c-220 0 -224 0 -239 -22z"/> <path d="M26 1559 c-32 -25 -35 -70 -6 -99 19 -19 33 -20 238 -20 207 0 220 1 237 20 26 29 24 79 -4 102 -21 16 -44 18 -231 18 -195 0 -209 -1 -234 -21z"/> <path d="M2080 1560 c-23 -23 -26 -68 -6 -96 13 -18 30 -19 233 -22 203 -3 221 -2 243 16 32 26 32 78 1 104 -21 16 -44 18 -237 18 -201 0 -215 -1 -234 -20z"/> <path d="M20 1010 c-29 -29 -26 -74 7 -100 26 -20 36 -21 240 -18 184 3 215 5 229 20 23 22 22 73 -1 98 -17 19 -30 20 -237 20 -205 0 -219 -1 -238 -20z"/> <path d="M2077 1012 c-22 -25 -21 -75 1 -95 16 -15 48 -17 238 -17 120 0 224 4 231 8 32 20 32 94 0 114 -7 4 -111 8 -233 8 -201 0 -222 -2 -237 -18z"/> <path d="M998 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M1023 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M1023 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M1101 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg></a></div></html>
###############################################
# Aktor werktags um 16:03 ausschalten
# Funktion nicht wie erwartet, da das Ausschalten nur um werktags um 16:03 stattfinden soll.
# heute ist aber Sonntag
#
2016-12-18_16:03:00.023 OG.fl.SD.Boden block: unlock
2016-12-18_16:03:00.108 OG.fl.SD.Boden dim: 0
2016-12-18_16:03:00.296 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_nr: 2
2016-12-18_16:03:00.296 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd: 2
2016-12-18_16:03:00.296 di.01.OG.fl.SD.Weihnachtsbeleuchtung cmd_event: timer_8
2016-12-18_16:03:00.296 di.01.OG.fl.SD.Weihnachtsbeleuchtung off

Titel: Antw:Ich verstehe mein DOIF nicht! Wo ist der Fehler?
Beitrag von: Ellert am 18 Dezember 2016, 16:49:05
Am Ende der Bedingung 2 steht  or [switch.di.01.OG.fl.SD.Boden.dum] eq "on"  und um 16:03 ist die Bedingung wahr, weil der Zustand 2016-12-18_16:00:27.937 switch.di.01.OG.fl.SD.Boden.dum on noch gilt.

Die Bedingung 2 wird um 16:03 geprüft, weil [16:03|8] nur eine verkürzte Schreibweise von [16:03] and !$we ist.
Titel: Antw:Ich verstehe mein DOIF nicht! Wo ist der Fehler?
Beitrag von: Spartacus am 18 Dezember 2016, 17:27:06
Hallo Ellert,
danke für Deine Analyse.

Das bedeutet, mein Ausdruck sieht im PRinzip so aus:
[16:03] and $we or [switch.di.01.OG.fl.SD.Boden.dum] eq "on"
da "[16:03] and $we" falsch ist, triggert das Modul auf [switch.di.01.OG.fl.SD.Boden.dum] eq "on"!

Hm!
das ist aber blöd! Da muss ich mal überlegen, wie ich das geschickt umbaue. Erst einmal vielen Dank für die Aufklärung!

Christian
Titel: Antw:Ich verstehe mein DOIF nicht! Wo ist der Fehler?
Beitrag von: Damian am 18 Dezember 2016, 17:30:27
Zitat von: Spartacus am 18 Dezember 2016, 17:27:06
Hallo Ellert,
danke für Deine Analyse.

Das bedeutet, mein Ausdruck sieht im PRinzip so aus:
[16:03] and $we or [switch.di.01.OG.fl.SD.Boden.dum] eq "on"
da "[16:03] and $we" falsch ist, triggert das Modul auf [switch.di.01.OG.fl.SD.Boden.dum] eq "on"!

Hm!
das ist aber blöd! Da muss ich mal überlegen, wie ich das geschickt umbaue. Erst einmal vielen Dank für die Aufklärung!

Christian

In der nächsten Version von DOIF werden Zeitangaben mit Wochentagen nur noch an den entsprechenden Tagen getriggert - steht bereits auf der todo-Liste.

Gruß

Damian
Titel: Antw:Ich verstehe mein DOIF nicht! Wo ist der Fehler?
Beitrag von: Spartacus am 18 Dezember 2016, 18:16:24
Hallo,
Besten dank an alle.
habe es jetzt so gelöst und den Switch in ein separates DOELSEIF gepackt. Scheint zu gehen! Warten wir auf heute 23:00 Uhr!
Christian.

Internals:
   CFGFN      Config/99-Weihnachtszeit.cfg
   DEF        (((
   ([06:30|8] or [17:30|8]) and  [?hl.01.Feiertag] eq "none" and ![?state.NRW.Ferien.dum] or
   ([08:30]   or [16:30])   and ([?hl.01.Feiertag] ne "none" or [?state.NRW.Ferien.dum]) or
    [08:30|7] or [17:48|7]) and  Advent) and [?switch.di.01.OG.fl.SD.Boden.dum] eq "on")
(set OG.fl.SD.Boden on)

DOELSEIF
((
   ([07:45|8] or [22:00|8]) and  [?hl.01.Feiertag] eq "none" and ![?state.NRW.Ferien.dum] or
    [09:30]   or
    [23:00]                 and  [?hl.01.Feiertag] ne "Silvester" or
    [02:00]                 and  [?hl.01.Feiertag] eq "Neujahr") and Advent and [?switch.di.01.OG.fl.SD.Boden.dum] eq "on")
(set OG.fl.SD.Boden off)
DOELSEIF
([switch.di.01.OG.fl.SD.Boden.dum] eq "on")
(set  OG.fl.SD.Boden off)
DOELSEIF
([switch.di.01.OG.fl.SD.Boden.dum] eq "off")
(set  OG.fl.SD.Boden off)
   NAME       di.01.OG.fl.SD.Weihnachtsbeleuchtung
   NR         1138
   NTFY_ORDER 50-di.01.OG.fl.SD.Weihnachtsbeleuchtung
   STATE      on
   TYPE       DOIF
   Readings:
     2016-12-18 17:46:30   Device          switch.di.01.OG.fl.SD.Boden.dum
     2016-12-18 17:48:00   cmd             1
     2016-12-18 17:48:00   cmd_event       timer_6
     2016-12-18 17:48:00   cmd_nr          1
     2016-12-18 17:46:30   e_switch.di.01.OG.fl.SD.Boden.dum_STATE on
     2016-12-18 17:48:00   state           on
     2016-12-18 17:46:19   timer_01_c01    19.12.2016 06:30:00|8
     2016-12-18 17:46:19   timer_02_c01    19.12.2016 17:30:00|8
     2016-12-18 17:46:19   timer_03_c01    19.12.2016 08:30:00
     2016-12-18 17:46:19   timer_04_c01    19.12.2016 16:30:00
     2016-12-18 17:46:19   timer_05_c01    19.12.2016 08:30:00|7
     2016-12-18 17:48:00   timer_06_c01    19.12.2016 17:48:00|7
     2016-12-18 17:46:19   timer_07_c02    19.12.2016 07:45:00|8
     2016-12-18 17:46:19   timer_08_c02    18.12.2016 22:00:00|8
     2016-12-18 17:46:19   timer_09_c02    19.12.2016 09:30:00
     2016-12-18 17:46:19   timer_10_c02    18.12.2016 23:00:00
     2016-12-18 17:46:19   timer_11_c02    19.12.2016 02:00:00
   Condition:
     0          ((    (DOIF_time_once($hash,0,$wday,"8") or DOIF_time_once($hash,1,$wday,"8")) and  InternalDoIf($hash,'hl.01.Feiertag','STATE') eq "none" and !InternalDoIf($hash,'state.NRW.Ferien.dum','STATE') or    (DOIF_time_once($hash,2,$wday)   or DOIF_time_once($hash,3,$wday))   and (InternalDoIf($hash,'hl.01.Feiertag','STATE') ne "none" or InternalDoIf($hash,'state.NRW.Ferien.dum','STATE')) or      DOIF_time_once($hash,4,$wday,"7") or DOIF_time_once($hash,5,$wday,"7")) and  Advent) and InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "on"
     1          (    (DOIF_time_once($hash,6,$wday,"8") or DOIF_time_once($hash,7,$wday,"8")) and  InternalDoIf($hash,'hl.01.Feiertag','STATE') eq "none" and !InternalDoIf($hash,'state.NRW.Ferien.dum','STATE') or     DOIF_time_once($hash,8,$wday)   or      DOIF_time_once($hash,9,$wday)                 and  InternalDoIf($hash,'hl.01.Feiertag','STATE') ne "Silvester" or      DOIF_time_once($hash,10,$wday)                 and  InternalDoIf($hash,'hl.01.Feiertag','STATE') eq "Neujahr") and Advent and InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "on"
     2          InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "on"
     3          InternalDoIf($hash,'switch.di.01.OG.fl.SD.Boden.dum','STATE') eq "off"
   Days:
     0          8
     1          8
     4          7
     5          7
     6          8
     7          8
   Devices:
     2           switch.di.01.OG.fl.SD.Boden.dum
     3           switch.di.01.OG.fl.SD.Boden.dum
     all         switch.di.01.OG.fl.SD.Boden.dum
   Do:
     0:
       0          set OG.fl.SD.Boden on
     1:
       0          set OG.fl.SD.Boden off
     2:
       0          set  OG.fl.SD.Boden off
     3:
       0          set  OG.fl.SD.Boden off
   Helper:
     event      timer_6
     globalinit 1
     last_timer 11
     sleeptimer -1
     timerdev
     timerevent timer_6
     triggerDev
     timerevents:
       timer_6
     timereventsState:
       state: on
     triggerEvents:
       timer_6
     triggerEventsState:
       state: on
   Internals:
     0           hl.01.Feiertag:STATE state.NRW.Ferien.dum:STATE switch.di.01.OG.fl.SD.Boden.dum:STATE
     1           hl.01.Feiertag:STATE state.NRW.Ferien.dum:STATE switch.di.01.OG.fl.SD.Boden.dum:STATE
     2           switch.di.01.OG.fl.SD.Boden.dum:STATE
     3           switch.di.01.OG.fl.SD.Boden.dum:STATE
     all         hl.01.Feiertag:STATE state.NRW.Ferien.dum:STATE switch.di.01.OG.fl.SD.Boden.dum:STATE
   Interval:
   Itimer:
   Localtime:
     0          1482125400
     1          1482165000
     10         1482109200
     2          1482132600
     3          1482161400
     4          1482132600
     5          1482166080
     6          1482129900
     7          1482094800
     8          1482136200
     9          1482098400
   Readings:
   Realtime:
     0          06:30:00
     1          17:30:00
     10         02:00:00
     2          08:30:00
     3          16:30:00
     4          08:30:00
     5          17:48:00
     6          07:45:00
     7          22:00:00
     8          09:30:00
     9          23:00:00
   Regexp:
     0:
     1:
     2:
     3:
     All:
   State:
   Time:
     0          06:30:00
     1          17:30:00
     10         02:00:00
     2          08:30:00
     3          16:30:00
     4          08:30:00
     5          17:48:00
     6          07:45:00
     7          22:00:00
     8          09:30:00
     9          23:00:00
   Timecond:
     0          0
     1          0
     10         1
     2          0
     3          0
     4          0
     5          0
     6          1
     7          1
     8          1
     9          1
   Timer:
     0          0
     1          0
     10         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   Timers:
     0           0  1  2  3  4  5
     1           6  7  8  9  10
   Trigger:
   Triggertime:
     1482094800:
       localtime  1482094800
       Hash:
     1482098400:
       localtime  1482098400
       Hash:
     1482109200:
       localtime  1482109200
       Hash:
     1482125400:
       localtime  1482125400
       Hash:
     1482129900:
       localtime  1482129900
       Hash:
     1482132600:
       localtime  1482132600
       Hash:
     1482136200:
       localtime  1482136200
       Hash:
     1482161400:
       localtime  1482161400
       Hash:
     1482165000:
       localtime  1482165000
       Hash:
     1482166080:
       localtime  1482166080
       Hash:
Attributes:
   alias      Bodensteckdoese OG Flur
   cmdState   on|off|off|deaktiv
   comment    aktiv: von Totensonntag bis 06. Januar
   devStateIcon .*on:light_wire_system_1@lightgreen .*off:light_wire_system_1@red .*deaktiv:light_wire_system_1@grey
   disable    0
   group      Scripte
   icon       scene_x-mas@green
   room       99-Weihnachtszeit,02-Flur
   sortby     02