My rule “Alarm Wettervorhersage” called by the Rule “Wecker” throws the exception below. Any hints about what I need to change?
rule "Wecker"
when
Item weckerZeitStunde changed or
Item weckerZeitMinute changed or
System started
then
weckerLock.lock()
try {
//Calculation
var int iAlarmTimeMin
iAlarmTimeMin = (weckerZeitStunde.state as DecimalType).intValue * 60 +
(weckerZeitMinute.state as DecimalType).intValue
var int iCurrTimeMin
iCurrTimeMin = now.getMinuteOfDay
if (timerAlarm != null) {
timerAlarm.cancel
timerAlarm = null
logDebug(logCategory, "Timerobjekt gelöscht")
}
iAlarmTime = (iAlarmTimeMin - iCurrTimeMin)
if (iCurrTimeMin > iAlarmTimeMin) {
iAlarmTime = iAlarmTime + 1440
}
timerAlarm = createTimer(now.plusMinutes(iAlarmTime)) [|
var Number day = now.getDayOfWeek
if (((day == 1) && (weckerMontag.state == ON)) ||
((day == 2) && (weckerDienstag.state == ON)) ||
((day == 3) && (weckerMittwoch.state == ON)) ||
((day == 4) && (weckerDonnerstag.state == ON)) ||
((day == 5) && (weckerFreitag.state == ON)) ||
((day == 6) && (weckerSamstag.state == ON)) ||
((day == 7) && (weckerSonntag.state == ON))
) {
if (currNight.state == ON) {
if (weckerOptMusic.state == ON) morningAlarmMusic.sendCommand(ON)
if (weckerOptSpeech.state == ON) morningAlarmSpeech.sendCommand(ON) // calls the rule Aktion Wettervorhersage
if (weckerOptLghtSleep.state == ON) morningAlarmSleeping.sendCommand(ON)
if (weckerOptLghtOther.state == ON) morningAlarmOther.sendCommand(ON)
} else {
if (weckerOptMusic.state == ON) morningAlarmMusic.sendCommand(ON)
//if (weckerOptBlinds.state == ON) gBlndAllLiving.sendCommand(UP)
}
logDebug(logCategory, "Timer wird jetzt ausgeführt"
)
}
timerAlarm.reschedule(now.plusHours(24))
]
weckerAlarmObjektNeu.postUpdate("Timerobjekt neu erstellt")
logDebug(logCategory, "Timerobjekt neu erstellt - Zeit bis Alarm: " + iAlarmTime + " Minuten")
} finally {
weckerLock.unlock()
}
end
rule "Aktion Wettervorhersage"
when
Item morningAlarmSpeech received command ON
then
Thread::sleep(30000) //wait 5 minutes
var String subStr = "."
var String strRight
var String strLeft
var String sTemp = currTemp.state.toString
var int posComma = sTemp.indexOf(subStr, 1)
if (posComma > 0) {
strRight = sTemp.substring(posComma+1)
strLeft= sTemp.substring(0, posComma)
}
var String strMonth= LocalTime_Date.state.format("%1$tB")
sTemp = strLeft //+ " Komma " + strRight
var String sGutenMorgen = "Good morning Vietnam! Heute ist der "
+ now.getDayOfMonth + "."
+ strMonth + " "
+ now.getYear + " und es ist "
+ now.getHourOfDay + " Uhr "
+ now.getMinuteOfHour + " ."
+ " Draussen ist es " + WeatherInformation_Current_Conditions.state
+ " bei rund " + sTemp + " Grad. Heute wird es "
+ WeatherInformation_ForecastToday_Conditions.state + ". Die Regenwahrscheinlichkeit beträgt "
+ WeatherInformation_ForecastToday_PrecipitationProbability.state + " Prozent. "
if (currRain.state == ON) {
sGutenMorgen = sGutenMorgen + "Momentan regnet es."
}
//setMasterVolume(new PercentType(30))
say(sGutenMorgen, "voicerss:deDE", "squeezebox:squeezeboxplayer:240dae70:00042016994d") // Schlafen
end
/* */
rule "Aktionen Morgenalarm Musik"
when
Item morningAlarmMusic received command ON
then
// if (stteServer.state == OFF) {
// cmdOnOffServer.sendCommand(ON)
// Thread::sleep(60000) //wait until server is running
// }
// SqueezeboxSchlafen_PlayPause.sendCommand(ON)
var String startUrl = "http://listen.radiotunes.com/premium/"
var String endUrl = ".pls?listen_key=0ed4e15e27e2ff6e5edfe9f0"
var String[] urls = newArrayList (
startUrl + "chillout" + endUrl,
startUrl + "dreamscapes" + endUrl,
startUrl + "lovemusic" + endUrl,
startUrl + "meditation" + endUrl,
startUrl + "classical" + endUrl,
startUrl + "newage" + endUrl,
startUrl + "relaxation" + endUrl,
startUrl + "relaxingambientpiano" + endUrl,
startUrl + "romantica" + endUrl,
startUrl + "sleeprelaxation" + endUrl,
startUrl + "solopiano" + endUrl,
startUrl + "vocalchillout" + endUrl,
startUrl + "vocalnewage" + endUrl,
startUrl + "world" + endUrl
)
logInfo(logCategory, squeezeSelectedStationWecker.toString)
var stationIndex = ((squeezeSelectedStationWecker.state as DecimalType).intValue - 1)
logInfo(logCategory, stationIndex.toString)
var station = urls.get(stationIndex)
logInfo(logCategory, station)
SqueezeboxSchlafen_Power.sendCommand(ON)
SqueezeboxSchlafen_Volume.sendCommand(50)
SqueezeboxSchlafen_StreamURL.sendCommand(station)
//squeezeboxPlayUrl("Schlafen", station, 55)
logDebug(logCategory, "Alarm Musik ausgelöst")
end
/* */
rule "Aktionen Morgenalarm Schlafzimmer"
when
Item morningAlarmSleeping received command ON
then
var int iTimeSpan = 40
var int iSteps = 20
var int iMaxLux = 20
var int iTimePerStep = iTimeSpan/iSteps * 60 * 1000
var int iLuxPerStep = iMaxLux/iSteps
var int iCurrLuxVal
var int i = 1
while ((i=i+1) <= iSteps) {
iCurrLuxVal = i * iLuxPerStep
lghtSleep.sendCommand(iCurrLuxVal)
Thread::sleep(iTimePerStep)
}
logDebug(logCategory, "Alarm Schlafzimmer ausgelöst")
morningAlarmSleeping.sendCommand(OFF)
end
/* */
[details=Exception]2017-06-01 18:24:28.352 [ERROR] [org.quartz.core.JobRunShell ] - Job DEFAULT.2017-06-01T18:24:28.344+02:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: [ | {
var day
org.eclipse.xtext.xbase.impl.XIfExpressionImpl@18ac229
.reschedule()
} ] threw an unhandled Exception:
java.lang.RuntimeException: The name ‘’ cannot be resolved to an item or type.
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:112)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:864)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:223)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1115)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1045)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:225)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:457)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:243)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:446)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:227)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:189)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.ClosureInvocationHandler.doInvoke(ClosureInvocationHandler.java:46)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.AbstractClosureInvocationHandler.invoke(AbstractClosureInvocationHandler.java:29)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at com.sun.proxy.$Proxy120.apply(Unknown Source)[:]
at org.eclipse.smarthome.model.script.internal.actions.TimerExecutionJob.execute(TimerExecutionJob.java:44)[130:org.eclipse.smarthome.model.script:0.9.0.201705261932]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)[105:org.eclipse.smarthome.core.scheduler:0.9.0.201705261932]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)[105:org.eclipse.smarthome.core.scheduler:0.9.0.201705261932][/details]