Seite 1 von 1
Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 9. Dez 2021 11:14
von Rainer
Hallo,
ich möchte in meinem Badezimmer die Lüftung über die Luftfeuchtigkeit steuern. Wenn ich das mit fixen Werten steuere bekomme ich im Sommer/Winter Probleme und muss die Werte anpassen. Daher dachte ich, dass der Ventilator nur bei einer plötzlichen Veränderung anspringt bis der vorangegangene Wert wieder erreicht ist. Hat jemand so etwas schon mit einer Rule realisiert? Oder kann mir mit einem Link helfen?
Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 9. Dez 2021 18:48
von int5749
Rainer hat geschrieben: ↑9. Dez 2021 11:14
Hallo,
ich möchte in meinem Badezimmer die Lüftung über die Luftfeuchtigkeit steuern. Wenn ich das mit fixen Werten steuere bekomme ich im Sommer/Winter Probleme und muss die Werte anpassen. Daher dachte ich, dass der Ventilator nur bei einer plötzlichen Veränderung anspringt bis der vorangegangene Wert wieder erreicht ist. Hat jemand so etwas schon mit einer Rule realisiert? Oder kann mir mit einem Link helfen?
Hallo,
welche Hardware und Items/Things hast Du denn zur Verfügung? Womit erfasst Du die Luftfeuchtigkeit, wie wird der Lüfter angesteuert?
Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 10. Dez 2021 09:50
von Rainer
int5749 hat geschrieben: ↑9. Dez 2021 18:48
welche Hardware und Items/Things hast Du denn zur Verfügung? Womit erfasst Du die Luftfeuchtigkeit, wie wird der Lüfter angesteuert?
Luftfeuchte misst ein Shelly. Ein weiter Shelly soll den Ventilator steuern der zudem an einen Taster angeschlossen wird um bei Bedarf einen manuellen Start durchführen zu können.
Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 13. Dez 2021 11:57
von PeterA
In der englischen Community gibt es auch einen Thread zu dem Thema:
https://community.openhab.org/t/shower- ... y/65994/17
Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 13. Dez 2021 13:46
von Rainer
Vielen Dank für den Link. Ich werde das gleich probieren.

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 15. Dez 2021 17:26
von Rainer
Hier werden 2 Sensoren benutzt. So hatte ich mir das eigentlich nicht vorgestellt.
Code: Alles auswählen
var logname = "FanRule"
var Timer t_mbr_fan = null
val hdelta = 4 // 4% Humidity
val humdiff = 7 // 7% Difference to avg. in Home
val int fanTime = 60
rule "Fan Bathroom"
when
Item Sensor_Multi_Master_Bathroom_Humidity received update
then
val pastHum = Sensor_Multi_Master_Bathroom_Humidity.historicState(now.minusMinutes(15),"influxdb").state as Number
val currHum = Sensor_Multi_Master_Bathroom_Humidity.state as Number
val delta = currHum - pastHum
val avgHum = (((Sensor_Multi_Hallway_Office_Humidity.state as Number) + (Sensor_Multi_Hallway_Garage_Humidity.state as Number) + (ecobee_off_actual_humidity.state as Number) + (ecobee_mbr_actual_humidity.state as Number)) / 4 )
val hdiff = currHum - avgHum
// logInfo(logname, "avgHum: " + avgHum "- currHum: " + currHum "- pastHum: " + pastHum; "- delta: " + delta)
logInfo(logname, "avgHum: {}, hdiff:{}, currHum: {}, pastHum: {}, delta: {}", avgHum, hdiff, currHum, pastHum, delta)
if(pastHum < currHum) {
if(delta > hdelta) {
if(hdiff > humdiff) {
if(Switch_Fan_Light_Master_Bathroom_Fan.state != ON) Switch_Fan_Light_Master_Bathroom_Fan.sendCommand(ON) // only send ON if OFF
if (t_mbr_fan !== null) t_mbr_fan.cancel // cancel timer if started
t_mbr_fan = createTimer(now.plusMinutes(fanTime), [ | // start timer
Switch_Fan_Light_Master_Bathroom_Fan.sendCommand(OFF) // when elapsed send OFF
t_mbr_fan = null // reinitialize Timer
])
}
}
}
end
Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 16. Dez 2021 13:53
von Rainer
Ich habe die ganze Rule mal etwas geändert. Erst einmal wollte ich nicht mit mehreren Messgeräten arbeiten. Zweitens wollte ich nicht den Ventilator eine exakt bestimmte Zeit laufen lassen.
Code: Alles auswählen
rule "Ventilator"
when
Item Bad_Luftfeuchtigkeit received update
then
val pastHum = Bad_Luftfeuchtigkeit.historicState(now.minusMinutes(120)).state as Number * 100
val currHum = Bad_Luftfeuchtigkeit.state as Number *100
if(pastHum +5 < currHum) {
if(BadezimmerVent_Betrieb.state != ON) BadezimmerVent_Betrieb.sendCommand(ON)
}
else
if(pastHum >= currHum) {
if(BadezimmerVent_Betrieb.state != OFF) BadezimmerVent_Betrieb.sendCommand(OFF)
}
end
So springt der Ventilator an wenn sich die Luftfeuchtigkeit plötzlich um 5 Punkte ändert. Den Referenzwert pastHum habe ich auf 120 Minuten festgelegt damit, wenn ein oder mehrere Personen sehr lang Duschen, tatsächlich ein Wert mit normaler Luftfeuchte angenommen wird. Ausgeschaltet wird der Ventilator wenn der Referenzwert wieder erreicht ist.
Wird der Taster betätigt läuft ein Timer durch eine zweite Rule
Code: Alles auswählen
rule "Bierschiss"
when
Channel 'shelly:shelly1:c45bbe56cc59:relay#button' triggered
then
if(BadezimmerVent_Betrieb.state != OFF)
createTimer(now.plusMinutes(10)) [|
sendCommand(BadezimmerVent_Betrieb, OFF)
]
end
Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit
Verfasst: 16. Dez 2021 15:32
von PeterA
Ich finde ja besondere Namen für Rules auch klasse
Mal sehen ob ich das für meinen Badheizkörper umsetzen kann.
Denn diesen lasse ich auch in Abhängigkeit der Luftfeuchte einschalten und (über einen einfachen Timer im Shelly)
wieder abschalten.
Gruß Peter