Nochmal: Rule mit Timer arbeitet nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
wolliboy
Beiträge: 4
Registriert: 28. Aug 2019 21:33
Answers: 0

Nochmal: Rule mit Timer arbeitet nicht

Beitrag von wolliboy »

Hallo zusammen.

Ich habe nun schon einige Beispiele durchforstet, aber komme nicht drauf warum meine Rule nicht arbeitet:

Code: Alles auswählen

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

Grüße
Wolfgang

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Nochmal: Rule mit Timer arbeitet nicht

Beitrag von udo1toni »

Ist TE_Sued_Shutter ein Rollershutter Item?

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

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Nochmal: Rule mit Timer arbeitet nicht

Beitrag von peter-pan »

Du gibst ja auch keine Logging-Informationen aus. Probiers mal so:

Code: Alles auswählen

// 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

wolliboy
Beiträge: 4
Registriert: 28. Aug 2019 21:33
Answers: 0

Re: Nochmal: Rule mit Timer arbeitet nicht

Beitrag von wolliboy »

Danke Udo.
Das wars! Jetzt geht es.
Wenn man nicht alle Feinheiten kennt, kommt man halt nicht weiter. :)

Danke Peter-Pan für die Info mit dem Log.
Ich werde es bei Gelegenheit nutzen.

Grüße
Wolfgang

Antworten