Seite 1 von 1

Timer in Rule

Verfasst: 17. Dez 2024 09:31
von HappyDexter
Hallo zusammen,

ich nutze bei mir mehrfach Timer in den Rules, jedoch habe ich diese in einer Datei erstellt, die im Rule Ordner liegt. DOrt kann ich ja wunderbar außerhalb der rule den Timer initieren.

Code: Alles auswählen

var Timer stopEGFlurMotionTimer = null
ich habe für unseren Verein jetzt begonnen die Sporthalle "smarter" zu machen und wollte dort versuchen, alles über die Oberfläche zu machen. Heißt ich habe eine Rule angelegt die ein Inline Script aufruft.
2024-12-17 09_30_18-openHAB.png
Wenn ich hier im Script die Variable erst initiere ist ja falsch!?

Code: Alles auswählen

var Timer stopMailtimer = null
  
if (stopMailtimer == null) {
  stopMailtimer = createTimer(now.plusMinutes(1)) [| 
		sendCommand(Mailtimer, OFF) 	
]	
}
Wie machte ich sowas jetzt an der Oberfläche?

Danke
Happy

Re: Timer in Rule

Verfasst: 17. Dez 2024 20:15
von udo1toni
Ja, das geht so mit der UI nicht.

Wenn Du eine auch nur einigermaßen aktuelle Version von openHAB nutzt, kannst Du die shared oder private Cache Funktion nutzen. Der Cache ist dabei die global definierte Variable. Im Unterschied zu den Text Rules kannst Du dabei auch unterschieden, ob der Cache ausschließlich in der aufrufenden Rule genutzt werden kann, also lediglich von Aufruf zu Aufruf den Wert nicht verliert, oder ob der Cache Rule übergreifend genutzt werden kann (also shared ist) https://www.openhab.org/docs/configurat ... che-preset

Re: Timer in Rule

Verfasst: 18. Dez 2024 09:37
von HappyDexter
Danke für die Infos, dann werde ich mich mal mit dem Cache beschäftigen, oder doch wieder einfach auf textbasierte Files umsteigen. Dachte halt ich nutze mal "nur" die Oberfläche.

System ist erst letzte Woche frisch aufgesetzt und ist ein 4.3.0!