Seite 1 von 1

Timer in rule "zurücksetzen"

Verfasst: 27. Dez 2017 18:36
von chris_007
Ich habe folgendes Problem. Ich möchte in meinem Flur eine Zeitschaltung fürs Licht einrichten. Bin jetzt soweit das es einschaltet und nach einer bestimmten Zeit wieder ausgeht. Ich möchte aber das wenn ich den Taster erneut drücke der Timer quasi zurückgesetzt wird, genauso wie es ein Zeitrelais eben tut.

Meine Rule die ich bis jetzt verwende sieht so aus. Ich hoffe ihr könnt mir helfen werde aus Suchergebnissen nicht schlau :cry:

Code: Alles auswählen

rule "Licht Flur"

when 

Item Taster_Flur  changed to CLOSED

then

Licht_Flur.sendCommand(ON)
Thread::sleep(10000)
Licht_Flur.sendCommand(OFF)

end

Re: Timer in rule "zurücksetzen"

Verfasst: 29. Dez 2017 13:21
von seppy
Hi,

Du baust Dir am besten einen Timer:

Code: Alles auswählen

var Timer timer = NULL
rule "Licht Flur"
 when 
Item Taster_Flur  changed to CLOSED
then
 Licht_Flur.sendCommand(ON)
 timer = createTimer(now.plusMinutes(2), [|
            Licht_Flur.sendCommand(OFF)
            timer = NULL
 ])
 end
Hier würde das Licht zwei Minuten anbleiben.

Grüße,
Seppy

Re: Timer in rule "zurücksetzen"

Verfasst: 29. Dez 2017 21:24
von chris_007
Ja das funktioniert ja bei mir auch schon ich möchte nur, das wenn ich den Taster nochmal drücke, der Timer wieder von vorne startet und der erste Timer abgebrochen wird

Re: Timer in rule "zurücksetzen"

Verfasst: 30. Dez 2017 12:39
von Cyrelian
Hi Chris,

das sollte mit

Code: Alles auswählen

timer.reschedule
klappen. Dann müsstest Du noch ne IF Abfrage vor dem Licht_Flur.sendCommand(ON) einbringen.

CU
Cyrelian