Vermutlich wäre es das einfachste, eine zweite Rule dafür anzulegen:
Code: Alles auswählen
// Globale Variablen und Konstanten zu Beginn der Datei definieren!
val Number nHumGrenz = 45 // Grenzwert für Luftfeuchte
rule "Luftfeuchte"
when
Item FussbodenheizungBadezimmer1HUMIDITY changed
then
if(!(previousState instanceof Number)) return;
if(!(newState instanceof Number)) return; // geht erst ab OH 2.5, sonst statt newState FussbodenheizungBadezimmer1HUMIDITY.state
val Number nFeucht = (newState as Number).floatValue // evtl. gehts auch ohne .floatValue
if(((previousState as Number).floatValue > nHumGrenz) && nFeucht <= nHumGrenz) {
if(FensterBadezimmer1STATE.state != OPEN) { // sicher, dass die Richtung stimmt? Ich würde hier ein == erwarten...
sendTelegram("paevbot", "Das Fenster im Bad ist noch offen, aber die Luftfeuchte ist auf "+nFeucht.toString+"% gesunken!")
WindowTimer?.cancel
}
}
end
Die Kommentare sind nur Erläuterung bzw. Fragen

das kann also auch weg gelassen werden.
Funktionsweise: Wenn sich der Sensorwert geändert hat, prüft die Rule, ob der alte Sensorwert über dem Grenzwert lag und der neue Sensorwert unter dem Grenzwert liegt (oder gleich dem Grenzwert ist). Ist das der Fall, prüft die Rule, ob das Fenster geöffnet ist und sendet gegebenenfalls eine Nachricht. Zusätzlich wird der Timer gestoppt, falls einer vorhanden ist. (Die Schreibweise WindowTimer?.cancel entspricht if(WindowTimer !== null) WindowTimer.cancel)
Anmerkungen am Rande: Ich habe bei mir nur einen Lüfter, der läuft nach dem Duschen 15 Minuten und das ist manchmal sogar etwas knapp. Vielleicht ist das bei weit geöffnetem Fenster schneller erledigt, aber mir schien die Zeitspanne etwas gering...
Je nach Wetterlage kann es sein, dass die Luftfeuchte niemals unter einen fixen Grenzwert sinkt. Normalerweise müsste man den Taupunkt berechnen und danach die Meldung ausgeben. Es gibt mindestens im offiziellen deutschen Forum (hier ist das inoffizielle - aber hier ist wesentlich mehr los

) und im englischen Forum dazu einige Threads mit konkreten Rules, um den Taupunkt zu berechnen und auch Alarm zu geben.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet