Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Rainer
Beiträge: 114
Registriert: 28. Nov 2017 21:33
Answers: 0

Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag 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?

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag 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?
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Rainer
Beiträge: 114
Registriert: 28. Nov 2017 21:33
Answers: 0

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag 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.
Zuletzt geändert von Rainer am 13. Dez 2021 13:47, insgesamt 1-mal geändert.

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag von PeterA »

In der englischen Community gibt es auch einen Thread zu dem Thema:

https://community.openhab.org/t/shower- ... y/65994/17
- OpenHab 2.4
#PWRUP

Rainer
Beiträge: 114
Registriert: 28. Nov 2017 21:33
Answers: 0

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag von Rainer »

Vielen Dank für den Link. Ich werde das gleich probieren. :!:

Rainer
Beiträge: 114
Registriert: 28. Nov 2017 21:33
Answers: 0

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag 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

Rainer
Beiträge: 114
Registriert: 28. Nov 2017 21:33
Answers: 0

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag 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

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Aktion bei plötzlichem Anstieg der Luftfeuchtigkeit

Beitrag 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
- OpenHab 2.4
#PWRUP

Antworten