[gelöst] DOIF Rolladenautomatik - Unzuverlässig

Begonnen von Xell1984, 27 Mai 2017, 11:28:37

Vorheriges Thema - Nächstes Thema

Xell1984

/edit

Meine Lösung: https://forum.fhem.de/index.php/topic,72426.msg648854.html#msg648854 Stand 16.06.17

Guten Morgen,

im großen und ganzen läuft die Automatik schon gut. Aber: In der Küche (Device KUE.Jalousie_K) habe ich noch ein Problem.

Ab und an fährt diese nicht mehr von alleine Hoch nachdem die Sonne weg ist. Oder Sie fährt zwar hoch und wenn Sunset erreicht ist fährt Sie runter. Aber ein paar Minuten später fährt diese eine Jalousie dann wieder hoch. Manchmal klappt es aber auch so wie es soll.

Ab CMD7 sind die Problembereiche. Hat jemand einen Tipp für mich? Vielen Dank und ein schönes Wochenende.


DEF

##Morgendliches Öffnen von Montag bis Freitag sofern kein Feiertag
##CMD1
([Rolladenautomatik] eq "Activ" and [{twilight("TC_TWILIGHT","sr","07:00","09:00")}|8]) (set JalousieAlle on)
DOELSEIF
##CMD2
([Rolladenautomatik] eq "Activ" and [07:05-12:00|8] and [TC_TWILIGHT:azimuth] >= "60" and [TC_TWILIGHT:azimuth] <= "140" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set EZ.Jalousie dim 15)(set K1.Jalousie dim 15)(set SZ.Jalousie dim 17)(set Puschover_Dienst msg 'FHEM' 'Beschattung Aktiv! - $EVENT' "" 0 "")
DOELSEIF
##CMD3
([Rolladenautomatik] eq "Activ" and [07:05-12:00|8] and [TC_TWILIGHT:azimuth] > "140" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set EZ.Jalousie dim 99)(set K1.Jalousie dim 99)(set SZ.Jalousie dim 99)
DOELSEIF
##CMD4
([Rolladenautomatik] eq "Activ" and [12:00-16:00] and [TC_TWILIGHT:azimuth] >= "170" and [TC_TWILIGHT:azimuth] <= "255" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_G dim 47)
DOELSEIF
##CMD5
([Rolladenautomatik] eq "Activ" and [14:00-18:00] and [TC_TWILIGHT:azimuth] >= "240" and [TC_TWILIGHT:azimuth] <= "290" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_K dim 13)
DOELSEIF
##CMD6
([Rolladenautomatik] eq "Activ" and [14:00-18:00] and [TC_TWILIGHT:azimuth] >= "240" and [TC_TWILIGHT:azimuth] <= "290" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set K2.Jalousie dim 15)
DOELSEIF
##CMD7
([Rolladenautomatik] eq "Activ" and [14:00-21:00] and [TC_TWILIGHT:azimuth] > "255" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_G dim 99)
DOELSEIF
##CMD8
([Rolladenautomatik] eq "Activ" and [17:00-22:00] and [TC_TWILIGHT:azimuth] > "295" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set K2.Jalousie dim 99)
DOELSEIF
##CMD9
([Rolladenautomatik] eq "Activ" and [17:00-22:00] and [TC_TWILIGHT:azimuth] > "290" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_K dim 99)
DOELSEIF
##CMD10
([Rolladenautomatik] eq "Activ" and [({twilight("TC_TWILIGHT","ss","16:50","21:50")}+600)]) (set Jalousie_Down off)
## 1200 Sekunden entspricht +20 Minuten auf alle Werte, daher SS+20 Minuten, 21´:40+20 Minuten = 22 Uhr etc.)




Internals:
   DEF        ##Morgendliches Öffnen von Montag bis Freitag sofern kein Feiertag
##CMD1
([Rolladenautomatik] eq "Activ" and [{twilight("TC_TWILIGHT","sr","07:00","09:00")}|8]) (set JalousieAlle on)
DOELSEIF
##CMD2
([Rolladenautomatik] eq "Activ" and [07:05-12:00|8] and [TC_TWILIGHT:azimuth] >= "60" and [TC_TWILIGHT:azimuth] <= "140" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set EZ.Jalousie dim 15)(set K1.Jalousie dim 15)(set SZ.Jalousie dim 17)(set Puschover_Dienst msg 'FHEM' 'Beschattung Aktiv! - $EVENT' "" 0 "")
DOELSEIF
##CMD3
([Rolladenautomatik] eq "Activ" and [07:05-12:00|8] and [TC_TWILIGHT:azimuth] > "140" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set EZ.Jalousie dim 99)(set K1.Jalousie dim 99)(set SZ.Jalousie dim 99)
DOELSEIF
##CMD4
([Rolladenautomatik] eq "Activ" and [12:00-16:00] and [TC_TWILIGHT:azimuth] >= "170" and [TC_TWILIGHT:azimuth] <= "255" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_G dim 47)
DOELSEIF
##CMD5
([Rolladenautomatik] eq "Activ" and [14:00-18:00] and [TC_TWILIGHT:azimuth] >= "240" and [TC_TWILIGHT:azimuth] <= "290" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_K dim 13)
DOELSEIF
##CMD6
([Rolladenautomatik] eq "Activ" and [14:00-18:00] and [TC_TWILIGHT:azimuth] >= "240" and [TC_TWILIGHT:azimuth] <= "290" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set K2.Jalousie dim 15)
DOELSEIF
##CMD7
([Rolladenautomatik] eq "Activ" and [14:00-21:00] and [TC_TWILIGHT:azimuth] > "255" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_G dim 99)
DOELSEIF
##CMD8
([Rolladenautomatik] eq "Activ" and [17:00-22:00] and [TC_TWILIGHT:azimuth] > "295" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "20")(set K2.Jalousie dim 99)
DOELSEIF
##CMD9
([Rolladenautomatik] eq "Activ" and [17:00-22:00] and [TC_TWILIGHT:azimuth] > "290" and ([Wetter_Kirchlengern:fc1_condition] eq "Sonnig" or [Wetter_Kirchlengern:fc1_condition] eq "teilweise wolkig" or [Wetter_Kirchlengern:fc1_condition] eq "überwiegend wolkig" ) and [Wetter_Kirchlengern:fc1_high_c] >= "1")(set KUE.Jalousie_K dim 99)
DOELSEIF
##CMD10
([Rolladenautomatik] eq "Activ" and [({twilight("TC_TWILIGHT","ss","16:50","21:50")}+600)]) (set Jalousie_Down off)
## 1200 Sekunden entspricht +20 Minuten auf alle Werte, daher SS+20 Minuten, 21´:40+20 Minuten = 22 Uhr etc.)
   NAME       JalousienAutomatik
   NR         165
   NTFY_ORDER 50-JalousienAutomatik
   STATE      initialized
   TYPE       DOIF
   Readings:
     2017-05-27 11:27:06   Device          TC_TWILIGHT
     2017-05-27 11:19:23   cmd             0
     2017-05-27 11:27:06   e_TC_TWILIGHT_azimuth 132.36
     2017-05-27 11:19:23   state           initialized
     2017-05-27 11:19:23   timer_01_c01    28.05.2017 07:00:00|8
     2017-05-27 11:19:23   timer_02_c02    28.05.2017 07:05:00|8
     2017-05-27 11:19:23   timer_03_c02    27.05.2017 12:00:00|8
     2017-05-27 11:19:23   timer_04_c03    28.05.2017 07:05:00|8
     2017-05-27 11:19:23   timer_05_c03    27.05.2017 12:00:00|8
     2017-05-27 11:19:23   timer_06_c04    27.05.2017 12:00:00
     2017-05-27 11:19:23   timer_07_c04    27.05.2017 16:00:00
     2017-05-27 11:19:23   timer_08_c05    27.05.2017 14:00:00
     2017-05-27 11:19:23   timer_09_c05    27.05.2017 18:00:00
     2017-05-27 11:19:23   timer_10_c06    27.05.2017 14:00:00
     2017-05-27 11:19:23   timer_11_c06    27.05.2017 18:00:00
     2017-05-27 11:19:23   timer_12_c07    27.05.2017 14:00:00
     2017-05-27 11:19:23   timer_13_c07    27.05.2017 21:00:00
     2017-05-27 11:19:23   timer_14_c08    27.05.2017 17:00:00
     2017-05-27 11:19:23   timer_15_c08    27.05.2017 22:00:00
     2017-05-27 11:19:23   timer_16_c09    27.05.2017 17:00:00
     2017-05-27 11:19:23   timer_17_c09    27.05.2017 22:00:00
     2017-05-27 11:19:23   timer_18_c10    27.05.2017 21:33:51
   Condition:
     0          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time_once($hash,0,$wday,"8")
     1          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,1,2,$wday,$hms,"8") and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "60" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <= "140" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "20"
     2          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,3,4,$wday,$hms,"8") and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') > "140" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "20"
     3          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,5,6,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "170" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <= "255" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "1"
     4          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,7,8,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "240" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <= "290" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "1"
     5          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,9,10,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "240" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <= "290" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "20"
     6          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,11,12,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') > "255" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "1"
     7          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,13,14,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') > "295" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "20"
     8          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time($hash,15,16,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') > "290" and (ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "Sonnig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "teilweise wolkig" or ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_condition') eq "überwiegend wolkig" ) and ReadingValDoIf($hash,'Wetter_Kirchlengern','fc1_high_c') >= "1"
     9          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time_once($hash,17,$wday)
   Days:
     0          8
     1          8
     2          8
     3          8
     4          8
   Devices:
     0           Rolladenautomatik
     1           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     2           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     3           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     4           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     5           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     6           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     7           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     8           Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
     9           Rolladenautomatik
     all         Rolladenautomatik TC_TWILIGHT Wetter_Kirchlengern
   Do:
     0:
       0          set JalousieAlle on
     1:
       0          set EZ.Jalousie dim 15
       1          set K1.Jalousie dim 15
       2          set SZ.Jalousie dim 17
       3          set Puschover_Dienst msg 'FHEM' 'Beschattung Aktiv! - $EVENT' "" 0 ""
     10:
     2:
       0          set EZ.Jalousie dim 99
       1          set K1.Jalousie dim 99
       2          set SZ.Jalousie dim 99
     3:
       0          set KUE.Jalousie_G dim 47
     4:
       0          set KUE.Jalousie_K dim 13
     5:
       0          set K2.Jalousie dim 15
     6:
       0          set KUE.Jalousie_G dim 99
     7:
       0          set K2.Jalousie dim 99
     8:
       0          set KUE.Jalousie_K dim 99
     9:
       0          set Jalousie_Down off
   Helper:
     event      azimuth: 132.36,elevation: 52.34,twilight: 100,twilight_weather: 100,compasspoint: east-southeast
     globalinit 1
     last_timer 18
     sleeptimer -1
     triggerDev TC_TWILIGHT
     triggerEvents:
       azimuth: 132.36
       elevation: 52.34
       twilight: 100
       twilight_weather: 100
       compasspoint: east-southeast
     triggerEventsState:
       azimuth: 132.36
       elevation: 52.34
       twilight: 100
       twilight_weather: 100
       compasspoint: east-southeast
   Internals:
     0           Rolladenautomatik:STATE
     1           Rolladenautomatik:STATE
     2           Rolladenautomatik:STATE
     3           Rolladenautomatik:STATE
     4           Rolladenautomatik:STATE
     5           Rolladenautomatik:STATE
     6           Rolladenautomatik:STATE
     7           Rolladenautomatik:STATE
     8           Rolladenautomatik:STATE
     9           Rolladenautomatik:STATE
     all         Rolladenautomatik:STATE
   Interval:
     1          -1
     10         9
     11         -1
     12         11
     13         -1
     14         13
     15         -1
     16         15
     2          1
     3          -1
     4          3
     5          -1
     6          5
     7          -1
     8          7
     9          -1
   Itimer:
   Localtime:
     0          1495947600
     1          1495947900
     10         1495900800
     11         1495886400
     12         1495911600
     13         1495897200
     14         1495915200
     15         1495897200
     16         1495915200
     17         1495913631
     2          1495879200
     3          1495947900
     4          1495879200
     5          1495879200
     6          1495893600
     7          1495886400
     8          1495900800
     9          1495886400
   Readings:
     1           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     2           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     3           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     4           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     5           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     6           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     7           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     8           TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
     all         TC_TWILIGHT:azimuth Wetter_Kirchlengern:fc1_condition Wetter_Kirchlengern:fc1_high_c
   Realtime:
     0          07:00:00
     1          07:05:00
     10         18:00:00
     11         14:00:00
     12         21:00:00
     13         17:00:00
     14         22:00:00
     15         17:00:00
     16         22:00:00
     17         21:33:51
     2          12:00:00
     3          07:05:00
     4          12:00:00
     5          12:00:00
     6          16:00:00
     7          14:00:00
     8          18:00:00
     9          14:00:00
   Regexp:
     0:
     1:
     2:
     3:
     4:
     5:
     6:
     7:
     8:
     9:
     All:
   State:
     State:
   Time:
     0          {twilight("TC_TWILIGHT","sr","07:00","09:00")}
     1          07:05:00
     10         18:00:00
     11         14:00:00
     12         21:00:00
     13         17:00:00
     14         22:00:00
     15         17:00:00
     16         22:00:00
     17         ({twilight("TC_TWILIGHT","ss","16:50","21:50")}+600)
     2          12:00:00
     3          07:05:00
     4          12:00:00
     5          12:00:00
     6          16:00:00
     7          14:00:00
     8          18:00:00
     9          14:00:00
   Timecond:
     0          0
     1          1
     10         5
     11         6
     12         6
     13         7
     14         7
     15         8
     16         8
     17         9
     2          1
     3          2
     4          2
     5          3
     6          3
     7          4
     8          4
     9          5
   Timer:
     0          0
     1          0
     10         0
     11         0
     12         0
     13         0
     14         0
     15         0
     16         0
     17         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   Timers:
     0           0
     1           1  2
     2           3  4
     3           5  6
     4           7  8
     5           9  10
     6           11  12
     7           13  14
     8           15  16
     9           17
   Trigger:
   Triggertime:
     1495879200:
       localtime  1495879200
       Hash:
     1495886400:
       localtime  1495886400
       Hash:
     1495893600:
       localtime  1495893600
       Hash:
     1495897200:
       localtime  1495897200
       Hash:
     1495900800:
       localtime  1495900800
       Hash:
     1495911600:
       localtime  1495911600
       Hash:
     1495913631:
       localtime  1495913631
       Hash:
     1495915200:
       localtime  1495915200
       Hash:
     1495947600:
       localtime  1495947600
       Hash:
     1495947900:
       localtime  1495947900
       Hash:
Attributes:
   room       Rolladenautomatik
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Ellert

Es wird Events geben, die zum unerwünschten Verhalten führen, diese solltest Du ermitteln und abstellen, dabei könntes Du Folgendes berücksichtigen:

https://wiki.fhem.de/wiki/DOIF/Tools_und_Fehlersuche#Verhaltensanalyse_des_DOIF , hier besonders 3.4 und 3.8

Störende Events einschränken: https://wiki.fhem.de/wiki/Event , (4.3) oder im DOIF per Attribut, z.B. checkReadingEvent, addStateEvent oder  durch Verwendung von Events als Auslöser, statt der Readingsaktualisierung, s. https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events und https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung

Was hast Du herausgefunden ?

Frank_Huber

Und vor allem bitte nicht in der cfg direkt rumpinseln!

Gesendet von meinem S3_32 mit Tapatalk


Frank_Huber

Ich denke er fährt bei dir hoch weil eine der Trigger aktiv ist. Ich hab bei mir bei den rollo runter doif auch noch azimuth < drin.
Und der Beschattungs-doif prüft den allgemeinen Rollo doif prüft für die kinderzimmer ob diese schon regulär unten sind.

Gesendet von meinem S3_32 mit Tapatalk


Per

Zwei Tipps dazu:
1. schau dir mal disablecondition an.
2. gleiche Devices aus verschiedenen DOIF zu schalten wird immer unübersichtlich. Beide haben nämlich keine Kenntnis voneinander.

Damian

Zitat von: Per am 28 Mai 2017, 08:33:40
Zwei Tipps dazu:
1. schau dir mal disablecondition an.
2. gleiche Devices aus verschiedenen DOIF zu schalten wird immer unübersichtlich. Beide haben nämlich keine Kenntnis voneinander.

diablecondition wurde verworfen: siehe https://forum.fhem.de/index.php/topic,55785.msg479000.html#msg479000
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

nils_

guck deine bedingungen nochmal durch:

wenn du etwas abfragst zB. > 100
und die nächste bedingungen das gleiche nochmal abfragt > 200

sind bei einem wert von 234 erstmal beide bedingungen erfüllt!


das kannste du nur durch andere logische verknüpfungen lösen!!!
viele Wege in FHEM es gibt!

Xell1984

Vielen Dank für die diversen Anregungen und Hinweise.

Ich hab mein DOIF noch mal überarbeitet und habe nun hoffentlich keine sich überlappenden CMD mehr.

Mit den Themen checkreadingevent oder event-on-update oder event-on-change etc. bin ich noch nicht durchgestiegen. Aber derzeit auch viel um die Ohren (kurz vor der Hochzeit) und im Moment laufen diverse Sachen (fhem, WLAN, etc.) nicht so wie sie sollen. Werde mich wohl nächste Woche noch mal Detailierter mit DOIF etc. auseinander setzen. Dachte fälschlicherweise ich hätte es verstanden.

Bin Ursprünglich davon ausgegangen das erst cmd 1, dann cmd2, cmd3 etc ausgeführt werden. Mittlerweile weiß ich, das die Reihenfolge nicht unbedingt eine Rolle spielt. Ob es Grundsätzlich so ist oder durch meine Timer weiß ich (noch) nicht. Aber gibt viele Sachen die man damit machen kann und glaube ich Kratze wirklich grad erst an der obersten Schicht.

Hab einen Teil der DOIF ausgelagert (Küchenfenster bei unter 20 Grad, könnte aber mittlerweile wieder in die gleiche rein. Zusätzlich habe ich noch Kennzeichen drin für Wind bzw. Hohe Windgeschwindigkeiten.


##Morgendliches Öffnen von Montag bis Freitag sofern kein Feiertag
([Rolladenautomatik] eq "Activ" and [{twilight("TC_TWILIGHT","sr","07:00","09:00")}|8]) (set JalousieAlle on)(set Windgeschwindigkeit_Wind 1)
DOELSEIF
([09:00])(set Windgeschwindigkeit_Wind 1)
DOELSEIF
([Rolladenautomatik] eq "Activ" and [Windgeschwindigkeit] eq "0" and [07:05-12:00|8] and [TC_TWILIGHT:azimuth] >= "60" and [TC_TWILIGHT:azimuth] =< "90" and [WetterProplanta:fc0_tempMax] >= "20")(set EZ.Jalousie dim 15)(set K1.Jalousie dim 15)(set SZ.Jalousie dim 17)(set Puschover_Dienst msg 'FHEM' 'Beschattung Aktiv! - $EVENT' "" 0 "")
DOELSEIF
([Rolladenautomatik] eq "Activ" and [Windgeschwindigkeit] eq "0" and [07:05-12:00|8] and [TC_TWILIGHT:azimuth] >= "141" and [TC_TWILIGHT:azimuth] =<  "160" and [WetterProplanta:fc0_tempMax] >= "20")(set EZ.Jalousie dim 99)(set K1.Jalousie dim 99)(set SZ.Jalousie dim 99)
DOELSEIF
([Rolladenautomatik] eq "Activ" and [Windgeschwindigkeit] eq "0" and [12:00-16:00] and [TC_TWILIGHT:azimuth] >= "170" and [TC_TWILIGHT:azimuth] =<  "190" and [WetterProplanta:fc0_tempMax] >= "20" )(set KUE.Jalousie_G dim 47)
DOELSEIF
([Rolladenautomatik] eq "Activ" and [Windgeschwindigkeit] eq "0" and [14:00-18:00] and [TC_TWILIGHT:azimuth] >= "240" and [TC_TWILIGHT:azimuth] =<  "255"  and [WetterProplanta:fc0_tempMax] >= "20")(set K2.Jalousie dim 15)(set KUE.Jalousie_K dim 13)
DOELSEIF
([Rolladenautomatik] eq "Activ" and [Windgeschwindigkeit] eq "0" and [14:00-21:00] and [TC_TWILIGHT:azimuth] => "256" and [TC_TWILIGHT:azimuth] =<  "285" and [WetterProplanta:fc0_tempMax] >= "20" )(set KUE.Jalousie_G dim 99)
DOELSEIF
([Rolladenautomatik] eq "Activ" and [Windgeschwindigkeit] eq "0" and [17:00-22:00] and [TC_TWILIGHT:azimuth] => "291" and [TC_TWILIGHT:azimuth] =<  "310" and [WetterProplanta:fc0_tempMax] >= "20")(set K2.Jalousie dim 99)(set KUE.Jalousie_K dim 99)
DOELSEIF
([Rolladenautomatik] eq "Activ" and [({twilight("TC_TWILIGHT","ss","16:50","21:50")}+600)]) (set Jalousie_Down off)(set Windgeschwindigkeit_Wind 0)
## 1200 Sekunden entspricht +20 Minuten auf alle Werte, daher SS+20 Minuten, 21´:40+20 Minuten = 22 Uhr etc.
DOELSEIF
([Rolladenautomatik] eq "Activ" and [Windgeschwindigkeit] eq "1" and [07:00-22:00] and [Windgeschwindigkeit_Wind] eq "1")(set JalousieAlle on)
## Bei Wind und offener Jalousie alle Jalousien Hochfahren

##Küche unter 20 Grad in Seperaten DOIF JalousienAutomatik_Küche
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Brockmann

Nebeneffekte lassen sich auch minimieren, indem Du nur die Bedingung(en) als triggernd festlegst, die tatsächlich eine Aktion auslösen sollen. Andere Bedingungen, die nur zusätzlich erfüllt sein sollen, können nicht-triggernd definiert werden. Wenn Du beispielsweise aus
[WetterProplanta:fc0_tempMax] >= "20"
[?WetterProplanta:fc0_tempMax] >= "20"

machst, kann eine Aktualisierung bei Proplanta nicht mehr dazu führen, dass das DOIF getriggert wird.

Das verhindert ungeplante Nebeneffekte und minimiert nebenbei auch die Rechenlast (bilde ich mir zumindest ein  ;) ). Im Moment werden ja alle DOIFs, in denen ein Proplanta-Wert als Bedingung vorkommt, bei jeder Aktualisierung von Proplanta einmal angestossen, selbst wenn diese Bedingung alleine in der Regel nicht zu einer sofortigen Zustandsänderung führen wird. Wenn diese Bedingungen nicht-triggernd definiert sind, werden die DOIFs in Ruhe gelassen und der veränderte Wert wird erst berücksichtigt, wenn das DOIF wieder durch eine "wichtige" Bedingung getriggert wird.

nils_

also funktioniert erstmal alles soweit??


was mit nur aufgefallen ist bei deinen bedingungen gibt es jetzt ein paar "lücken" im Azimuth.
wenn es so gewollt ist, ok. ansonsten kannste die werte ja anpassen ;)
viele Wege in FHEM es gibt!

Xell1984

Zitat von: nils_ am 31 Mai 2017, 08:56:20
also funktioniert erstmal alles soweit??


was mit nur aufgefallen ist bei deinen bedingungen gibt es jetzt ein paar "lücken" im Azimuth.
wenn es so gewollt ist, ok. ansonsten kannste die werte ja anpassen ;)

Ich hoffe es, heute ist Probelauf ohne Eingriffe meinerseits.

Hab absichtlich kein do always drin damit manuelle Änderungen möglich sind, da mangels Sensoren ich mich auf wettermeldungen verlasse und wenn's komplett anders kommt u.s.w. Und im Prinzip soll ja nur beim ereichen einer Schwelle eine Aktion einmalig ausgeführt werden. Denke dann brauch ich nur einen schmalen Korridor. Zumal kein DOELSE darauf aufbaut.

@Brockmann

Bei den Haupt DOIF welche die Jalousien bewegen wäre ja nur Azimuth als trigger relevant. Werde ich mir nochmal separat anschauen. Zum Thema Entlastung: es entfallen unnötige Übertragungen zu den Jalousien.

Danke für den Hinweis.

Gruß,

Andre
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Per

Zitat von: Brockmann am 31 Mai 2017, 08:36:00Das verhindert ungeplante Nebeneffekte
Z.B. auch, dass nur der erste Rolladen geschlossen wird, weil dort eine Übereinstimmung statt fand und der Rest (richtigerweise) übersprungen wird.

Xell1984

Hallo,

ich noch mal. Heute folgende Situation in der Küche:


2017.06.01 13:04:32 3: ZWave set KUE.Jalousie_G dim 47
2017.06.01 14:04:32 3: ZWave set KUE.Jalousie_G dim 99


Auf die Sekunde genau nach einer Stunde ging die Jalousie viel zu früh wieder hoch. Angedacht ist, dass die Jalousie in der Küche einmalig für den Tag im Zeitraum von 12-16 Uhr, wenn die Automatik Aktiv, die Max Temperatur größer gleich 20 Grad ist und der Azimuth Wert 170 Überschreitet. Damit nicht 2 Bedingungen gleichzeitig vorkommen habe ich den Azimuth Wert auf 190 Begrenzt.
Sobald der Azimuth Wert 256 erreicht, soll die Jalousie wieder Hoch. Der Wert ist aber noch lange nicht erreicht gewesen.

Der Auszug aus dem DOIF:


([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?12:00-16:00] and [TC_TWILIGHT:azimuth] >= "170" and [?TC_TWILIGHT:azimuth] <=  "190" and [?WetterProplanta:fc0_tempMax] >= "20" )(set KUE.Jalousie_G dim 47)
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?14:00-21:00] and [TC_TWILIGHT:azimuth] => "256" and [?TC_TWILIGHT:azimuth] <=  "285" and [?WetterProplanta:fc0_tempMax] >= "20" )(set KUE.Jalousie_G dim 99)


Der Vollständigkeit noch einmal ein List:





Internals:
   DEF        ##Morgendliches Öffnen von Montag bis Freitag sofern kein Feiertag
([?Rolladenautomatik] eq "Activ" and [{twilight("TC_TWILIGHT","sr","07:00","09:00")}|8]) (set JalousieAlle on)(set Windgeschwindigkeit_Wind 1)
DOELSEIF
([09:00])(set Windgeschwindigkeit_Wind 1)
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?07:05-12:00|8] and [TC_TWILIGHT:azimuth] >= "60" and [?TC_TWILIGHT:azimuth] <= "90" and [?WetterProplanta:fc0_tempMax] >= "20")(set EZ.Jalousie dim 15)(set K1.Jalousie dim 15)(set SZ.Jalousie dim 17)(set Puschover_Dienst msg 'FHEM' 'Beschattung Aktiv! - $EVENT' "" 0 "")
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?07:05-12:00|8] and [TC_TWILIGHT:azimuth] >= "141" and [?TC_TWILIGHT:azimuth] <=  "160" and [?WetterProplanta:fc0_tempMax] >= "20")(set EZ.Jalousie dim 99)(set K1.Jalousie dim 99)(set SZ.Jalousie dim 99)
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?12:00-16:00] and [TC_TWILIGHT:azimuth] >= "170" and [?TC_TWILIGHT:azimuth] <=  "190" and [?WetterProplanta:fc0_tempMax] >= "20" )(set KUE.Jalousie_G dim 47)
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?14:00-18:00] and [TC_TWILIGHT:azimuth] >= "240" and [?TC_TWILIGHT:azimuth] <=  "255"  and [?WetterProplanta:fc0_tempMax] >= "20")(set K2.Jalousie dim 15)(set KUE.Jalousie_K dim 13)
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?14:00-21:00] and [TC_TWILIGHT:azimuth] => "256" and [?TC_TWILIGHT:azimuth] <=  "285" and [?WetterProplanta:fc0_tempMax] >= "20" )(set KUE.Jalousie_G dim 99)
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "0" and [?17:00-22:00] and [TC_TWILIGHT:azimuth] => "291" and [?TC_TWILIGHT:azimuth] <=  "310" and [?WetterProplanta:fc0_tempMax] >= "20")(set K2.Jalousie dim 99)(set KUE.Jalousie_K dim 99)
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [({twilight("TC_TWILIGHT","ss","16:50","21:50")}+600)]) (set Jalousie_Down off)(set Windgeschwindigkeit_Wind 0)
## 1200 Sekunden entspricht +20 Minuten auf alle Werte, daher SS+20 Minuten, 21´:40+20 Minuten = 22 Uhr etc.
DOELSEIF
([?Rolladenautomatik] eq "Activ" and [?Windgeschwindigkeit] eq "1" and [?07:00-22:00] and [Windgeschwindigkeit_Wind] eq "1")(set JalousieAlle on)
## Bei Wind und offener Jalousie alle Jalousien Hochfahren

##Küche unter 20 Grad in Seperaten DOIF JalousienAutomatik_Küche
   NAME       JalousienAutomatik
   NR         165
   NTFY_ORDER 50-JalousienAutomatik
   STATE      cmd_7
   TYPE       DOIF
   Readings:
     2017-06-01 14:49:32   Device          TC_TWILIGHT
     2017-06-01 14:04:32   cmd             7
     2017-06-01 14:04:32   cmd_event       TC_TWILIGHT
     2017-06-01 14:04:32   cmd_nr          7
     2017-06-01 14:49:32   e_TC_TWILIGHT_azimuth 216.96
     2017-06-01 14:04:32   state           cmd_7
     2017-06-01 07:00:00   timer_01_c01    02.06.2017 07:00:00|8
     2017-06-01 09:00:00   timer_02_c02    02.06.2017 09:00:00
     2017-06-01 12:00:00   timer_03_c03    02.06.2017 07:05:00|8
     2017-06-01 12:00:00   timer_04_c03    02.06.2017 12:00:00|8
     2017-06-01 12:00:00   timer_05_c04    02.06.2017 07:05:00|8
     2017-06-01 12:00:00   timer_06_c04    02.06.2017 12:00:00|8
     2017-05-31 16:00:00   timer_07_c05    01.06.2017 12:00:00
     2017-05-31 16:00:00   timer_08_c05    01.06.2017 16:00:00
     2017-05-31 18:00:00   timer_09_c06    01.06.2017 14:00:00
     2017-05-31 18:00:00   timer_10_c06    01.06.2017 18:00:00
     2017-05-31 21:00:00   timer_11_c07    01.06.2017 14:00:00
     2017-05-31 21:00:00   timer_12_c07    01.06.2017 21:00:00
     2017-05-31 22:00:00   timer_13_c08    01.06.2017 17:00:00
     2017-05-31 22:00:00   timer_14_c08    01.06.2017 22:00:00
     2017-05-31 21:38:38   timer_15_c09    01.06.2017 21:38:38
     2017-05-31 22:00:00   timer_16_c10    01.06.2017 07:00:00
     2017-05-31 22:00:00   timer_17_c10    01.06.2017 22:00:00
   Condition:
     0          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time_once($hash,0,$wday,"8")
     1          DOIF_time_once($hash,1,$wday)
     2          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and InternalDoIf($hash,'Windgeschwindigkeit','STATE') eq "0" and DOIF_time($hash,2,3,$wday,$hms,"8") and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "60" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <= "90" and ReadingValDoIf($hash,'WetterProplanta','fc0_tempMax') >= "20"
     3          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and InternalDoIf($hash,'Windgeschwindigkeit','STATE') eq "0" and DOIF_time($hash,4,5,$wday,$hms,"8") and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "141" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <=  "160" and ReadingValDoIf($hash,'WetterProplanta','fc0_tempMax') >= "20"
     4          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and InternalDoIf($hash,'Windgeschwindigkeit','STATE') eq "0" and DOIF_time($hash,6,7,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "170" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <=  "190" and ReadingValDoIf($hash,'WetterProplanta','fc0_tempMax') >= "20"
     5          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and InternalDoIf($hash,'Windgeschwindigkeit','STATE') eq "0" and DOIF_time($hash,8,9,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') >= "240" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <=  "255"  and ReadingValDoIf($hash,'WetterProplanta','fc0_tempMax') >= "20"
     6          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and InternalDoIf($hash,'Windgeschwindigkeit','STATE') eq "0" and DOIF_time($hash,10,11,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') => "256" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <=  "285" and ReadingValDoIf($hash,'WetterProplanta','fc0_tempMax') >= "20"
     7          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and InternalDoIf($hash,'Windgeschwindigkeit','STATE') eq "0" and DOIF_time($hash,12,13,$wday,$hms) and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') => "291" and ReadingValDoIf($hash,'TC_TWILIGHT','azimuth') <=  "310" and ReadingValDoIf($hash,'WetterProplanta','fc0_tempMax') >= "20"
     8          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and DOIF_time_once($hash,14,$wday)
     9          InternalDoIf($hash,'Rolladenautomatik','STATE') eq "Activ" and InternalDoIf($hash,'Windgeschwindigkeit','STATE') eq "1" and DOIF_time($hash,15,16,$wday,$hms) and InternalDoIf($hash,'Windgeschwindigkeit_Wind','STATE') eq "1"
   Days:
     0          8
     2          8
     3          8
     4          8
     5          8
   Devices:
     2           TC_TWILIGHT
     3           TC_TWILIGHT
     4           TC_TWILIGHT
     5           TC_TWILIGHT
     6           TC_TWILIGHT
     7           TC_TWILIGHT
     9           Windgeschwindigkeit_Wind
     all         TC_TWILIGHT Windgeschwindigkeit_Wind
   Do:
     0:
       0          set JalousieAlle on
       1          set Windgeschwindigkeit_Wind 1
     1:
       0          set Windgeschwindigkeit_Wind 1
     10:
     2:
       0          set EZ.Jalousie dim 15
       1          set K1.Jalousie dim 15
       2          set SZ.Jalousie dim 17
       3          set Puschover_Dienst msg 'FHEM' 'Beschattung Aktiv! - $EVENT' "" 0 ""
     3:
       0          set EZ.Jalousie dim 99
       1          set K1.Jalousie dim 99
       2          set SZ.Jalousie dim 99
     4:
       0          set KUE.Jalousie_G dim 47
     5:
       0          set K2.Jalousie dim 15
       1          set KUE.Jalousie_K dim 13
     6:
       0          set KUE.Jalousie_G dim 99
     7:
       0          set K2.Jalousie dim 99
       1          set KUE.Jalousie_K dim 99
     8:
       0          set Jalousie_Down off
       1          set Windgeschwindigkeit_Wind 0
     9:
       0          set JalousieAlle on
   Helper:
     event      azimuth: 216.96,elevation: 56.08,twilight: 100,twilight_weather: 100,compasspoint: south-southwest
     globalinit 1
     last_timer 17
     sleeptimer -1
     timerdev   TC_TWILIGHT
     timerevent azimuth: 216.96,elevation: 56.08,twilight: 100,twilight_weather: 100,compasspoint: south-southwest
     triggerDev TC_TWILIGHT
     timerevents:
       azimuth: 216.96
       elevation: 56.08
       twilight: 100
       twilight_weather: 100
       compasspoint: south-southwest
     timereventsState:
       azimuth: 216.96
       elevation: 56.08
       twilight: 100
       twilight_weather: 100
       compasspoint: south-southwest
     triggerEvents:
       azimuth: 216.96
       elevation: 56.08
       twilight: 100
       twilight_weather: 100
       compasspoint: south-southwest
     triggerEventsState:
       azimuth: 216.96
       elevation: 56.08
       twilight: 100
       twilight_weather: 100
       compasspoint: south-southwest
   Internals:
     0           Rolladenautomatik:STATE
     2           Rolladenautomatik:STATE Windgeschwindigkeit:STATE
     3           Rolladenautomatik:STATE Windgeschwindigkeit:STATE
     4           Rolladenautomatik:STATE Windgeschwindigkeit:STATE
     5           Rolladenautomatik:STATE Windgeschwindigkeit:STATE
     6           Rolladenautomatik:STATE Windgeschwindigkeit:STATE
     7           Rolladenautomatik:STATE Windgeschwindigkeit:STATE
     8           Rolladenautomatik:STATE
     9           Rolladenautomatik:STATE Windgeschwindigkeit:STATE Windgeschwindigkeit_Wind:STATE
     all         Rolladenautomatik:STATE Windgeschwindigkeit:STATE Windgeschwindigkeit_Wind:STATE
   Interval:
     10         -1
     11         10
     12         -1
     13         12
     15         -1
     16         15
     2          -1
     3          2
     4          -1
     5          4
     6          -1
     7          6
     8          -1
     9          8
   Itimer:
   Localtime:
     0          1496379600
     1          1496386800
     10         1496318400
     11         1496343600
     12         1496329200
     13         1496347200
     14         1496345918
     15         1496293200
     16         1496347200
     2          1496379900
     3          1496397600
     4          1496379900
     5          1496397600
     6          1496311200
     7          1496325600
     8          1496318400
     9          1496332800
   Readings:
     2           TC_TWILIGHT:azimuth
     3           TC_TWILIGHT:azimuth
     4           TC_TWILIGHT:azimuth
     5           TC_TWILIGHT:azimuth
     6           TC_TWILIGHT:azimuth
     7           TC_TWILIGHT:azimuth
     all         TC_TWILIGHT:azimuth
   Realtime:
     0          07:00:00
     1          09:00:00
     10         14:00:00
     11         21:00:00
     12         17:00:00
     13         22:00:00
     14         21:38:38
     15         07:00:00
     16         22:00:00
     2          07:05:00
     3          12:00:00
     4          07:05:00
     5          12:00:00
     6          12:00:00
     7          16:00:00
     8          14:00:00
     9          18:00:00
   Regexp:
     0:
     1:
     2:
     3:
     4:
     5:
     6:
     7:
     8:
     9:
     All:
   State:
     State:
   Time:
     0          {twilight("TC_TWILIGHT","sr","07:00","09:00")}
     1          09:00:00
     10         14:00:00
     11         21:00:00
     12         17:00:00
     13         22:00:00
     14         ({twilight("TC_TWILIGHT","ss","16:50","21:50")}+600)
     15         07:00:00
     16         22:00:00
     2          07:05:00
     3          12:00:00
     4          07:05:00
     5          12:00:00
     6          12:00:00
     7          16:00:00
     8          14:00:00
     9          18:00:00
   Timecond:
     0          0
     1          1
     10         6
     11         6
     12         7
     13         7
     14         8
     15         9
     16         9
     2          2
     3          2
     4          3
     5          3
     6          4
     7          4
     8          5
     9          5
   Timer:
     0          0
     1          0
     10         0
     11         0
     12         0
     13         0
     14         0
     15         0
     16         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   Timers:
     0           0
     1           1
     8           14
   Trigger:
   Triggertime:
     1496325600:
       localtime  1496325600
       Hash:
     1496329200:
       localtime  1496329200
       Hash:
     1496332800:
       localtime  1496332800
       Hash:
     1496343600:
       localtime  1496343600
       Hash:
     1496345918:
       localtime  1496345918
       Hash:
     1496347200:
       localtime  1496347200
       Hash:
     1496379600:
       localtime  1496379600
       Hash:
     1496379900:
       localtime  1496379900
       Hash:
     1496386800:
       localtime  1496386800
       Hash:
     1496397600:
       localtime  1496397600
       Hash:
Attributes:
   room       Rolladenautomatik





Razpberry on Raspberry Pi 3 mit Raspian Jessy

Brockmann

2017-06-01 14:49:32   e_TC_TWILIGHT_azimuth 216.96

Um 14:49 war der Azimuth schon bei 216.96 - bist Du sicher, dass er dann um 14:04 Uhr nicht schon > 190 war (und damit weder die eine noch die andere Bedingung erfüllte)?
Dann sucht das DOIF sich die nächste passende Bedingung...

Grundsätzlich: Das DOIF wird bei jeder Aktualisierung von TC_TWILIGHT angestossen. Mit dem Attribut checkReadingEvent 1 könntest Du das immerhin auf Aktualisierungen des azimuth-Readings begrenzen. Aber trotzdem wird die Bedingung nicht mehr erfüllt sein, wenn beispielsweise der azimuth zwar noch im Rahmen liegt, aber beispielsweise die Windgeschwindigkeit > 0 ist.
Nebenbei:
[?Windgeschwindigkeit] eq "0" ist ein String-Vergleich. Bin mir nicht sicher, aber ich würde da vorsichtshalber [?Windgeschwindigkeit] = 0 nehmen, dann vergleichst Du garantiert den numerischen Wert und nicht die Zeichenkette.

Xell1984

#14
Guten Morgen,

Ich vermute auch das der Azimuth dann bei 190 lag. Und hier versagt mein Verständnis denn der Befehl zum hochfahren soll ja erst bei einem azimuth von 256-285 gesendet werden. Ein Doelse mit dem Befehl ist ja nicht dabei bei der ersten doif dabei.

Danke für den Hinweis wegen Dem eq = , werde es anpassen.

Zum CheckReadingevent eine Frage. Dies muss ich im Twilight dann auch irgendwie setzen?

Da morgen unsere Hochzeit ist bin ich die nächsten Tage eher sporadisch online.

Hab Doiftools mal auf das doif zum loggen angesetzt. Evtl verstehe ich es dann ja mal.
Razpberry on Raspberry Pi 3 mit Raspian Jessy