Lüftung mit DOIF steuern

Begonnen von Seidenschnabel, 19 Januar 2019, 14:54:08

Vorheriges Thema - Nächstes Thema

Seidenschnabel

Hallo Gemeinde,

ich steuere meinen Lüfter im Bad mit einem Bewegungsmelder und einem Feuchtigkeitssensor. Das funktioniert soweit auch schon ganz gut. Ich verwende dazu einen DOIF.

DEF: (([Temp_Feucht_Bad:humidity] >65) or ([Motion_Bad] eq "on")) (set Luefter_Bad on) DOELSE (set Luefter_Bad off)
Attr: wait 40:180

Also, Lüfter an wenn die Feuchtigkeit über 65% steigt oder wenn jemand im Raum ist. Einschalten mit 40 Sekunden Verzögerung, dann hat man Ruhe beim kleinen Geschäft. Laufzeit dann 180 Sekunden vor dem Ausschaltbefehl.

Jetzt möchte ich jedoch gerne die Verweildauer mit einbeziehen. Also, wenn jemand länger als 1 Minute im Raum, dann Lüfter an. So möchte ich vermeiden, wenn jemand nur etwas aus dem Bad holt, immer der Lüfter anspringt. Kann ich das irgendwie mit in den DOIF schreiben?

Morgennebel

Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Seidenschnabel

Den Wait habe ich ja schon eingeschaltet. Er wartet mit dem Einschalten des Lüfters 40 Sekunden. Ich wollte eher eine Veränderung der Bedingung vom Bewegungsmelder. Also eine Auswertung der Zeit "ON". Dann könnte man darauf aufbauen. Mit dem WAIT bekomme ich das nicht gesteuert. Oder habe ich da einen Denkfehler?

Ellert

#3
Nimm ein zusätzliches DOELSEIF  ohne Befehl und trigere auf Motion off und state nicht auf cmd_1 dann wird wait 40 abgebrochen.

Seidenschnabel

Alles klar, das werde ich mal ausprobieren. Vielen Dank.

Seidenschnabel

Geschafft! :)

Habe es jetzt mal so eingebaut:

(([Temp_Feucht_Bad:humidity] >65) or ([Motion_Bad_1] eq "on")) (set Luefter_Bad on) DOELSE (set Luefter_Bad off) DOELSEIF (([Motion_Bad_1] eq "off") AND ([Luefter_Bad] eq "off") AND ([Temp_Feucht_Bad:humidity] <65))

Wait auf 90:120

Der Bewegungsmelder bleibt immer eine Minute an, wenn jemand den Raum betritt. Bleibt eine Person nur 30 Sekunden, bleibt der Lüfter aus, bleibt er länger, geht der Lüfter für zwei Minuten an. Luftfeuchtigkeit wir abgearbeitet und erst nach unterschreiten von 65% geht der Lüfter nach ener Verzögerung von 120 Sekunden aus.

Sicher gibt es eine elegantere Methode, so funktioniert es aber erst einmal für mich.

Ellert

Die Position von DOELSE und die Schreibung der Operatoren ist nicht beliebig und verwende bitte Code-Tags, die Raute # über dem Textfeld.

Seidenschnabel

Danke für die Rückmeldung, werde ich das nächste Mal beachten