I have an array of mysensors around the house. Sometimes bad things happen and i want OH2 to notify me if the sensors hasn’e sent any update for a set period of time. Searching throught the forums and examples i’ve built up a rule below.
At first it didn’t work but i figured that was due to rrd4 as a default persistance. So i’ve changed it to mysql which i use. Now i get a long error shown below
rule "Check sensors"
when
Time cron "* */30 * * * ?"
then
if(!sense_bedro_temp.changedSince(now.minusMinutes(50)))
{
sendTelegram("botX","Mysensor bedroom")
logDebug("SENSOR SPAL")
}
if(!sense_child_temp.changedSince(now.minusMinutes(50)))
{
sendTelegram("botX","Mysensor kid")
logDebug("SENSOR KID")
}
if(!sense_balko_temp.changedSince(now.minusMinutes(50)))
{
sendTelegram("botX","Mysensor balc")
logDebug("SENSOR BALK")
}
if(!sense_kitch_temp.changedSince(now.minusMinutes(50)))
{
sendTelegram("botX","Mysensor kitch")
logDebug("SENSOR KITCH")
}
end
log
2016-06-26 09:30:59.026 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Check sensors
org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=1, size=1
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:346)[64:org.eclipse.emf.common:2.11.0.v20150805-0538]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1114)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[124:org.eclipse.smarthome.model.script:0.8.0.b5]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:864)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:223)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:446)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:227)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:459)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:243)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:446)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:227)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:189)[140:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.runtime.internal.engine.ScriptImpl.execute(ScriptImpl.java:77)[125:org.eclipse.smarthome.model.script.runtime:0.8.0.b5]
at org.eclipse.smarthome.model.rule.runtime.internal.engine.ExecuteRuleJob.execute(ExecuteRuleJob.java:60)[123:org.eclipse.smarthome.model.rule.runtime:0.8.0.b5]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)[103:org.eclipse.smarthome.core.scheduler:0.8.0.b5]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)[103:org.eclipse.smarthome.core.scheduler:0.8.0.b5]