[GELÖST] Beschattung mit DoIf und Fentseröffnungssensoren

Begonnen von Jack_n, 12 Mai 2018, 08:23:33

Vorheriges Thema - Nächstes Thema

Jack_n

Hallo,
ich habe eine Beschattung für meine Dachschrägenrolladen umgesetzt mit DoIf.
Es wird die Helligkeit durch einen EnOcean ermittelt, die Temperatur in meinem Wohnzimmer und es wird geprüft ob ein Fenster auf ist damit der Rolladen eben dann nicht fährt und nicht ins offene Fenster rauscht.
So weit so gut, aber leider klappt das nicht zu 100%.
Grund ist wenn CMD1 eingetreten ist dass der Rolladen fahren sollte wird die Aktion mit einem Wait verzögert (damit nicht ständig bei zB. Helligkeitswechseln hoch und runtergefahren wird).
Wenn ich während dieser Wartezeit das Fenster wieder öffne, dann wartet der CMD1 noch seine Restzeit ab und löst dann die Aktion Rollo fahren aus, was natürlich nicht gut ist....
Kann man statt dem Wait etwas machen dass diese Zustandsänderung am Fenster trotzdem erkannt wird ?

define Autobeschattung_WZ DOIF ([Automatik_Beschattung:state] eq "on" and [ZWave_Fenster.Wohnzimmer:doorWindow] eq "off" and [EnO_01A60C29:brightness]>28000 and [ZWave_Sensor_WZ:temperature:d]>23 and [tahoma_4294185:state] ne "dim100") (set tahoma_4294185 dim 100) DOELSEIF ([Automatik_Beschattung:state] eq "on" and [EnO_01A60C29:brightness]<28000 and [tahoma_4294185:state] ne "dim0") (set tahoma_4294185 dim 0)

attr Autobeschattung_WZ do always
attr Autobeschattung_WZ room Wohnzimmer,tahoma
attr Autobeschattung_WZ wait 420:600


Damian

Zitat von: Jack_n am 12 Mai 2018, 08:23:33
Hallo,
ich habe eine Beschattung für meine Dachschrägenrolladen umgesetzt mit DoIf.
Es wird die Helligkeit durch einen EnOcean ermittelt, die Temperatur in meinem Wohnzimmer und es wird geprüft ob ein Fenster auf ist damit der Rolladen eben dann nicht fährt und nicht ins offene Fenster rauscht.
So weit so gut, aber leider klappt das nicht zu 100%.
Grund ist wenn CMD1 eingetreten ist dass der Rolladen fahren sollte wird die Aktion mit einem Wait verzögert (damit nicht ständig bei zB. Helligkeitswechseln hoch und runtergefahren wird).
Wenn ich während dieser Wartezeit das Fenster wieder öffne, dann wartet der CMD1 noch seine Restzeit ab und löst dann die Aktion Rollo fahren aus, was natürlich nicht gut ist....
Kann man statt dem Wait etwas machen dass diese Zustandsänderung am Fenster trotzdem erkannt wird ?

define Autobeschattung_WZ DOIF ([Automatik_Beschattung:state] eq "on" and [ZWave_Fenster.Wohnzimmer:doorWindow] eq "off" and [EnO_01A60C29:brightness]>28000 and [ZWave_Sensor_WZ:temperature:d]>23 and [tahoma_4294185:state] ne "dim100") (set tahoma_4294185 dim 100) DOELSEIF ([Automatik_Beschattung:state] eq "on" and [EnO_01A60C29:brightness]<28000 and [tahoma_4294185:state] ne "dim0") (set tahoma_4294185 dim 0)

attr Autobeschattung_WZ do always
attr Autobeschattung_WZ room Wohnzimmer,tahoma
attr Autobeschattung_WZ wait 420:600

Du brauchst nur das Ereignis des Öffnens als separaten Zweig anzugeben, dann wird ein Wait abgebrochen.

z.B  DOELSEIF (ZWave_Fenster.Wohnzimmer:"^doorWindow: on"])
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Jack_n