Einfach mit && verknüpfen.
Um zu verhindern, dass Du mit Meldungen zugemüllt wirst, bietet es sich an, dass die Rule sich merkt, ob sie schon eine Nachricht verschickt hat.
Code: Alles auswählen
var boolean bSent = false
rule "AGAMEN_ALL_WATTAGE"
when
Item AGAMEN_ALL_WATTAGE changed
then
if ((AGAMEN_ALL_WATTAGE.state as Number) < 1) && now.getMinuteOfDay >= 9*60+30 && now.getMinuteOfDay <= 22*60+30) {
if(!bSent) {
sendMail("MEINEADRESSE", "Bartagamen Beleuchtungsproblem", "")
bSent = true
}
} else if((AGAMEN_ALL_WATTAGE.state as Number)>= 20) { //
bSent = false
}
end
Du kannst sogar dafür sorgen, dass Du z.B. stündlich eine neue Warnmeldung bekommst, indem Du mit einem Timer die Variable wieder zurück setzt.
Der letzte Teil der Rule setzt schon mal die Variable zurück, sobald die Leistung über 20 (Watt?) steigt, also offensichtlich das Problem beseitigt wurde.
Welche Werte Du konkret setzen musst, musst Du natürlich selbst wissen

also wie gering darf die Leistung sein, ohne dass der Alarm los geht, wie hoch muss die Leistung sein, damit bei erneutem Einbruch (innerhalb des Zeitfensters) wieder Alarm gegeben wird.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet