Guten Morgen,
Ich würde gerne eine Art Zeitsperre für einen Item Change einrichten.
In meinem Fall starte ich bei einem Change Ereignis eine Rule.
Diese soll aber nur ausgeführt werden wenn ein Timer auf NULL steht.
Wechselt also innerhalb der 30 Sekunden erneut der Item Status soll nicht getriggert werden.
Kann ich den Timer und das Change Ereignis mit UND verknüpfen?
Also Grundsätzlich du kannst einen Trigger nicht mit und Verknüpfen denn das Ereignis müsste auf die Millisekunde genau gleichzeitig eintreten.
somit ist im when Teil nur ein auslösender Trigger erlaubt/möglich.
Du musst die Unterscheidung dann im Then Teil machen hierzu wäre aber das genaue Change gut zu wissen um dir eventuell besser helfen zu können.
Das Change Ereignis betrifft die Tür u. Fenstersensoren in den Räumen. Mit diesen Signalen möchte ich die Heizungssteuerung (HomaticIP) ansteuern. Ich möchte aber vermeiden das bei einen kurzzeitigen öffnen u. wieder schließen (Timerlaufzeit) die Heizungsteuerung angesteuert wird.
var Timer timeFenster1 = null // Am Anfang der Datei Schreiben
rule "Fenster 1 wurde geöffnet"
when
Item KZ1_FensterSensor changed // wenn Fenster Status geändert wird
then
if(KZ1_FensterSensor.state == 1){
timeFenster1?.cancel //Ein laufender Timer wird abgebrochen
timeFenster1 = createTimer(now.plusSeconds(60))[| //Ein neuer Timer wird gestartet
HM_KZ1_FensterStatus.sendCommand("opened")]} //Nach Ablauf des Timer wird Kommando ausgeführt
if(KZ1_FensterSensor.state == 0){
timeFenster1?.cancel
timeFenster1 = createTimer(now.plusSeconds(60))[|
HM_KZ1_FensterStatus.sendCommand("closed")]}
end
Das ganze geht natürlich schöner aber ich bin auch Anfänger die Richtigen Spezies hier prüfen halt noch ob ein Timer läuft usw. aber grundsätzlich sollte es funktionieren