Timer expiration causes unhandeld exception

If one of my timers (3 h duration) expires, it throws an unhandled exception.
Any ideas what could be wrong? (openHAB 1.8.2, apt-get install)

Thx.

rule:

rule "set override flag east"
when
    Item FibFGR222_Kitchen_East_Manual_UP_1x received update ON or
    Item FibFGR222_Kitchen_East_Manual_DOWN_1x received update ON or
    Item FibFGR222_Kitchen_East_Manual_UP_2x received update ON or
    Item FibFGR222_Kitchen_East_Manual_DOWN_2x received update ON or
    Item FibFGR222_Kitchen_East received command UP or
    Item FibFGR222_Kitchen_East received command DOWN
then
    if (ShutterOverrideTimerKitchen_East!=null) {
    ShutterOverrideTimerKitchen_East.cancel
    ShutterOverrideTimerKitchen_East = null
    logInfo("SHUTTER", "ShutterOverrideTimerKitchen_East reset")
    }
    ShutterOverrideEast.sendCommand(ON)
    logInfo("SHUTTER", "shading kitchen override flag set")
        ShutterOverrideTimerKitchen_East = createTimer(now.plusMinutes(180)) [|
        ShutterOverrideEast.sendCommand(OFF)
        logInfo("SHUTTER", "override east flag reset after ShutterOverrideTimerKitchen_East has expired")
        ]
        logInfo("SHUTTER", "ShutterOverrideTimerKitchen_East started")
end

Timer start:

2016-06-29 09:50:03 - INFO o.openhab.model.script.SHUTTER[:53]- ShutterOverrideTimerKitchen_East started

Timer ends:

2016-06-29 12:50:03.909 [ERROR] [org.quartz.core.JobRunShell   ] - Job DEFAULT.2016-06-29T12:50:03.869+02:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: org.eclipse.xtext.xbase.impl.XClosureImplCustom@9667f9 (explicitSyntax: true) threw an unhandled Exception: 
java.lang.RuntimeException: The name '<unkown>' cannot be resolved to an item or type.
    at org.openhab.model.script.interpreter.ScriptInterpreter.internalFeatureCallDispatch(ScriptInterpreter.java:67) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateAbstractFeatureCall(XbaseInterpreter.java:658) ~[na:na]
    at sun.reflect.GeneratedMethodAccessor135.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateMemberFeatureCall(XbaseInterpreter.java:545) ~[na:na]
    at sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateBlockExpression(XbaseInterpreter.java:321) ~[na:na]
    at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:204) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.ClosureInvocationHandler.doInvoke(ClosureInvocationHandler.java:46) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.AbstractClosureInvocationHandler.invoke(AbstractClosureInvocationHandler.java:28) ~[na:na]
    at com.sun.proxy.$Proxy90.apply(Unknown Source) ~[na:na]
    at org.openhab.model.script.internal.actions.TimerExecutionJob.execute(TimerExecutionJob.java:44) ~[na:na]
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213) ~[quartz-all-2.1.7.jar:na]
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz-all-2.1.7.jar:na]
2016-06-29 12:50:03.964 [ERROR] [org.quartz.core.ErrorLogger   ] - Job (DEFAULT.2016-06-29T12:50:03.869+02:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: org.eclipse.xtext.xbase.impl.XClosureImplCustom@9667f9 (explicitSyntax: true) threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception.
    at org.quartz.core.JobRunShell.run(JobRunShell.java:224) ~[quartz-all-2.1.7.jar:na]
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz-all-2.1.7.jar:na]
Caused by: java.lang.RuntimeException: The name '<unkown>' cannot be resolved to an item or type.
    at org.openhab.model.script.interpreter.ScriptInterpreter.internalFeatureCallDispatch(ScriptInterpreter.java:67) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateAbstractFeatureCall(XbaseInterpreter.java:658) ~[na:na]
    at sun.reflect.GeneratedMethodAccessor135.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateMemberFeatureCall(XbaseInterpreter.java:545) ~[na:na]
    at sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateBlockExpression(XbaseInterpreter.java:321) ~[na:na]
    at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:204) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.ClosureInvocationHandler.doInvoke(ClosureInvocationHandler.java:46) ~[na:na]
    at org.eclipse.xtext.xbase.interpreter.impl.AbstractClosureInvocationHandler.invoke(AbstractClosureInvocationHandler.java:28) ~[na:na]
    at com.sun.proxy.$Proxy90.apply(Unknown Source) ~[na:na]
    at org.openhab.model.script.internal.actions.TimerExecutionJob.execute(TimerExecutionJob.java:44) ~[na:na]
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213) ~[quartz-all-2.1.7.jar:na]
    ... 1 common frames omitted

Okay, found the problem, two curly brackets were missing :rage:

rule "set override flag east"
when
    Item FibFGR222_Kitchen_East_Manual_UP_1x received update ON or
    Item FibFGR222_Kitchen_East_Manual_DOWN_1x received update ON or
    Item FibFGR222_Kitchen_East_Manual_UP_2x received update ON or
    Item FibFGR222_Kitchen_East_Manual_DOWN_2x received update ON or
    Item FibFGR222_Kitchen_East received command UP or
    Item FibFGR222_Kitchen_East received command DOWN
then
    if (ShutterOverrideTimerKitchen_East!=null) {
    ShutterOverrideTimerKitchen_East.cancel
    ShutterOverrideTimerKitchen_East = null
    logInfo("SHUTTER", "ShutterOverrideTimerKitchen_East reset")
    }
    {
    ShutterOverrideEast.sendCommand(ON)
    logInfo("SHUTTER", "shading kitchen override flag set")
        ShutterOverrideTimerKitchen_East = createTimer(now.plusMinutes(5)) [|
        ShutterOverrideEast.sendCommand(OFF)
        logInfo("SHUTTER", "override east flag reset after ShutterOverrideTimerKitchen_East has expired")
        ]
        logInfo("SHUTTER", "ShutterOverrideTimerKitchen_East started")
    }
end
1 Like