Hallo zusammen,
ich habe folgende Regel, die bei mir schon seit Monaten unverändert und problemlos läuft:
Nur wurde sie heute abend plötzlich nicht mehr ausgeführt, stattdessen finde ich im Log folgende Exception:
Da schon die erste Log-Meldung nicht gekommen ist liegt es vermutlich am Aufruf von randomOffset= aber warum?
Der Unterschied von gestern zu heute ist, dass noch eine weitere Regel mit gleichem Trigger in einer anderen Datei dazugekommen ist die einen identischen Aufruf randomOffset= macht, aber auf eigenen lokalen Variablen. Das kann es ja wohl kaum sein.
Vielleicht habt Ihr ja eine Idee, was da falsch laufen könnte?
Schon mal vielen Dank für Eure Hinweise!
ich habe folgende Regel, die bei mir schon seit Monaten unverändert und problemlos läuft:
Code:
... val int LampsNightInterval = 1800 //Sekunden rule "Switch lamps on in the evening" when Item SunDark changed from OFF to ON then var int randomOffset randomOffset = (Math::random()*LampsNightInterval).intValue() logInfo("timer_lampes rules", "Steckdosen_Halle_oben_Schalten - Offset: " + randomOffset) createTimer(now.plusSeconds(randomOffset)) [| sendCommand(Steckdosen_Halle_oben_Schalten, ON) logInfo("timer_lampes rules", "Switch gallery lamp on") ] ... end
Code:
2013-10-10 18:20:01.007 ERROR o.o.c.s.ScriptExecutionThread[:68]- Error during the execution of rule 'Switch lamps on in the evening' java.lang.NullPointerException: null at org.openhab.model.script.lib.NumberExtensions.operator_multiply(NumberExtensions.java:62) at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:729) at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._featureCallOperation(XbaseInterpreter.java:713)
Der Unterschied von gestern zu heute ist, dass noch eine weitere Regel mit gleichem Trigger in einer anderen Datei dazugekommen ist die einen identischen Aufruf randomOffset= macht, aber auf eigenen lokalen Variablen. Das kann es ja wohl kaum sein.
Vielleicht habt Ihr ja eine Idee, was da falsch laufen könnte?
Schon mal vielen Dank für Eure Hinweise!
Kommentar