Hauptmenü

Rollo mit DOIF

Begonnen von Fredi69, 01 Juni 2017, 17:23:57

Vorheriges Thema - Nächstes Thema

Fredi69

Hallo, ich habe seit einem halben Jahr auf DOIF bei den Rolladenaktoren umgestellt.
Mit folgender Definition lief alles wie gewollt:
defmod Rollo_Wohnzimmer_DI DOIF ([[Rollo_runter]-[Rollo_hoch]]\
and [RolloAutomatikDY:state] eq "Ein"\
and [Weihnachtsbeleuchtung] ne "on")\
(set EG.Wz.Ra.RolladenErker down)\
(set EG.Wz.Ra.RolladenStrasse down)\
DOELSE\
(set EG.Wz.Ra.RolladenErker up)\
(set EG.Wz.Ra.RolladenStrasse up)
attr Rollo_Wohnzimmer_DI do always
attr Rollo_Wohnzimmer_DI room Steuerung
attr Rollo_Wohnzimmer_DI verbose 5


Jetzt wollte ich auf Grund der warmen Jahreszeit noch die Aussentemperatur abfragen mit einem zusätzlichen DOELSEIF
defmod Rollo_Wohnzimmer_DI DOIF ([[Rollo_runter]-[Rollo_hoch]]\
and [RolloAutomatikDY:state] eq "Ein"\
and [Weihnachtsbeleuchtung] ne "on")\
(set EG.Wz.Ra.RolladenErker down)\
(set EG.Wz.Ra.RolladenStrasse down)\
DOELSEIF ([[Rollo_hoch]]\
and [?WetterProplanta:fc0_tempMax:d] > [[MaxTempRollo]])\
(set EG.Wz.Ra.RolladenErker 20)\
(set EG.Wz.Ra.RolladenStrasse 20)\
DOELSE\
(set EG.Wz.Ra.RolladenErker up)\
(set EG.Wz.Ra.RolladenStrasse up)
attr Rollo_Wohnzimmer_DI do always
attr Rollo_Wohnzimmer_DI room Steuerung
attr Rollo_Wohnzimmer_DI verbose 5


Jetzt werden aber um 00:00:25 die Rolläden komplett hochgefahren set EG.Wz.Ra.RolladenErker up dann morgens um Rollo_hoch runter auf 20 obwohl die Temperatur unter dem Wert von MaxTempRollo liegt, das verstehe ich nicht.
Kann mich da jemand unterstützen?

Hier noch ein List:
Internals:
   DEF        ([[Rollo_runter]-[Rollo_hoch]]
and [RolloAutomatikDY:state] eq "Ein"
and [Weihnachtsbeleuchtung] ne "on")
(set EG.Wz.Ra.RolladenErker down)
(set EG.Wz.Ra.RolladenStrasse down)
DOELSEIF ([[Rollo_hoch]]
and [?WetterProplanta:fc0_tempMax:d] > [[MaxTempRollo]])
(set EG.Wz.Ra.RolladenErker 20)
(set EG.Wz.Ra.RolladenStrasse 20)
DOELSE
(set EG.Wz.Ra.RolladenErker up)
(set EG.Wz.Ra.RolladenStrasse up)
   NAME       Rollo_Wohnzimmer_DI
   NR         285
   NTFY_ORDER 50-Rollo_Wohnzimmer_DI
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2017-06-01 06:33:20   cmd             2.2
     2017-06-01 06:33:20   cmd_event       timer_3
     2017-06-01 06:33:20   cmd_nr          2
     2017-06-01 06:33:20   cmd_seqnr       2
     2017-06-01 06:33:20   state           cmd_2
     2017-06-01 06:33:20   timer_01_c01    01.06.2017 22:30:18
     2017-06-01 06:33:20   timer_02_c01    02.06.2017 06:33:20
     2017-06-01 06:33:20   timer_03_c02    02.06.2017 06:33:20
     2017-06-01 00:00:25   timer_04_c02    02.06.2017 00:00:25
   Condition:
     0          DOIF_time($hash,0,1,$wday,$hms) and ReadingValDoIf($hash,'RolloAutomatikDY','state') eq "Ein" and InternalDoIf($hash,'Weihnachtsbeleuchtung','STATE') ne "on"
     1          DOIF_time_once($hash,2,$wday) and ReadingValDoIf($hash,'WetterProplanta','fc0_tempMax','','d') > DOIF_time_once($hash,3,$wday)
   Days:
   Devices:
     0           RolloAutomatikDY Weihnachtsbeleuchtung
     all         RolloAutomatikDY Weihnachtsbeleuchtung
   Do:
     0:
       0          set EG.Wz.Ra.RolladenErker down
       1          set EG.Wz.Ra.RolladenStrasse down
     1:
       0          set EG.Wz.Ra.RolladenErker 20
       1          set EG.Wz.Ra.RolladenStrasse 20
     2:
       0          set EG.Wz.Ra.RolladenErker up
       1          set EG.Wz.Ra.RolladenStrasse up
   Helper:
     event      timer_3
     globalinit 1
     last_timer 4
     sleeptimer -1
     timerdev
     timerevent timer_3
     timereventsState
     triggerDev
     timerevents:
       timer_3
     triggerEvents:
       timer_3
   Internals:
     0           Weihnachtsbeleuchtung:STATE
     all         Weihnachtsbeleuchtung:STATE
   Interval:
     0          -1
     1          0
   Itimer:
     all         Rollo_runter Rollo_hoch MaxTempRollo
   Localtime:
     0          1496349018
     1          1496378000
     2          1496378000
     3          1496354425
   Readings:
     0           RolloAutomatikDY:state
     all         RolloAutomatikDY:state
   Realtime:
     0          22:30:18
     1          06:33:20
     2          06:33:20
     3          00:00:25
   Regexp:
     All:
   State:
     State:
   Time:
     0          [Rollo_runter]
     1          [Rollo_hoch]
     2          [Rollo_hoch]
     3          [MaxTempRollo]
   Timecond:
     0          0
     1          0
     2          1
     3          1
   Timer:
     0          0
     1          0
     2          0
     3          0
   Timers:
     0           0  1
     1           2  3
   Triggertime:
     1496349018:
       localtime  1496349018
       Hash:
     1496354425:
       localtime  1496354425
       Hash:
     1496378000:
       localtime  1496378000
       Hash:
Attributes:
   do         always
   room       Steuerung
   verbose    5
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Ellert

Was möchtest Du mit den doppelten eckigen Klammern um die Vergleichstemperatur bewirken?

Fredi69

#2
Dachte, das sollte so sein, kann ich entfernen. Macht aber sicher auch keinen Unterschied.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Fredi69

#3
Ohh, sorry ein Timer ist dadurch verschwunden. Das verstehe ich nicht.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Ellert

Zitat von: Fredi69 am 01 Juni 2017, 21:53:10
Ohh, sorry ein Timer ist dadurch verschwunden. Das verstehe ich nicht.
Ein Blick in die Hilfe könnte verstehen helfen  ;) https://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben