// Kopf der *.rules Datei
// Alle globalen Variablen werden zu Beginn der Datei definiert
var Timer tDelay = null
// Ende der Definition globaler Variablen und Konstanten
// ab hier können Rules stehen
rule "Terrasse Sued schliessen"
when
Item TE_Sued_Shutter changed to UP or
Item TE_Sued_Shutter changed to DOWN
then
tDelay?.cancel // lösche Timer, falls einer existiert
tDelay = createTimer(now.plusSeconds(30), [ |
TE_Sued_Shutter.sendCommand(STOP) // Relais absteuern
])
end
Es wird keinerlei Meldung im Log angezeigt.
Hat jemand eine Idee?
Es gibt in openHAB keinen Status UP oder DOWN. Der Trigger changed wertet aber den Status aus.
Wohl kennt openHAB aber ein Kommando UP oder DOWN (beim Rollershutter Item). Wenn es also um einen Befehl geht, musst Du den Trigger received command verwenden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
// Kopf der *.rules Datei
// Alle globalen Variablen werden zu Beginn der Datei definiert
var Timer tDelay = null
// Ende der Definition globaler Variablen und Konstanten
// ab hier können Rules stehen
rule "Terrasse Sued schliessen"
when
Item TE_Sued_Shutter changed to UP or
Item TE_Sued_Shutter changed to DOWN
then
logInfo("Terasse Sued schliessen", "Triggering Item {} : ", triggeringItem) // welches Item triggerd
tDelay?.cancel // lösche Timer, falls einer existiert
logInfo("Terasse Sued schliessen", "Timer wird initalisiert",) // Timer wird initialisiert
tDelay = createTimer(now.plusSeconds(30), [ |
TE_Sued_Shutter.sendCommand(STOP) // Relais absteuern
])
end
Vielleicht bringt dich das ein Stückchen weiter!?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian