Mein Flur Licht geht nach einer vorbestimmten Zeit ,Timer gesteuert, automatisch aus wenn ein bestimmter Status überschritten wird. Manchmal soll der Timer resetet werden. Ich habe anhand verschiedener beispiel rules eine Lösung zu finden, habe aber noch nicht brauchbares gefunden.
Der aktuelle Versuch sieht so aus.
Im Log sieht es dann so aus.
Der aktuelle Versuch sieht so aus.
Code:
import org.openhab.model.script.actions.Timer import org.joda.time.* import org.openhab.core.library.types.* import org.openhab.model.script.actions.* var Timer timer_Flur = null rule korridortimer when Item KorridorFDimmer received update or Item KorridorDDimmer received update then if (KorridorFDimmer.state > 1 ) { if (KorridorFDimmer.state > 1) { logInfo("runtime.busevents", "set timer") createTimer(now.plusSeconds(10)) [| sendCommand(KorridorFDimmer,0) sendCommand(KorridorDDimmer,0) ]} else { if(timer_Flur != null) timer_Flur.cancel() logInfo("runtime.busevents", "cancel timer") } } end
Code:
08:55:37.468 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:37.494 ERROR o.o.m.s.a.ScriptExecution[:134]- Failed to schedule code for execution. org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'DEFAULT.2014-12-08T08:55:47.469+01:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: org.eclipse.xtext.xbase.impl.XClosureImplCustom@3b1e5cfc (explicitSyntax: true)', because one already exists with this identification. at org.quartz.simpl.RAMJobStore.storeJob(RAMJobStore.java:277) at org.quartz.simpl.RAMJobStore.storeJobAndTrigger(RAMJobStore.java:249) at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:840) at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250) at org.openhab.model.script.actions.ScriptExecution.makeTimer(ScriptExecution.java:130) at org.openhab.model.script.actions.ScriptExecution.createTimer(ScriptExecution.java:92) 08:55:38.519 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:38.532 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:38.559 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:41.622 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:41.628 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:41.672 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:41.716 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:41.723 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:43.066 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:55:43.094 INFO o.o.m.script.runtime.busevents[:53]- set timer 08:56:05.363 INFO o.o.m.script.runtime.busevents[:53]- set timer
Kommentar