[SOLVED] Rule exception: The name '<unkown>' cannot be resolved to an item or type

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]

Is timerAlarm defined anywhere (val/var) ? It will need to be global, outside of any rule, so that it can reference itself 24 hours later.

Thanks rossko57 for answering.

The variable var Timer timerAlarm is defined in the rules file above the first rule.

The funny thing is that the structure of the voice rule is the same as one of the other morning alarm rules. Both start after a certain amount of time. The other rule turns some lights on whereas the new one should play a sound.

That’s why I assume that this is related to the java voice code. Unfortunately, I am not a developer so I am a bit swampet with this challenge… I have no idea how to tackle the issue.

Below, you will find the first lines of my rules file:


/*
 * Alarm clock control
 * 
 * Cron: Seconds | Minutes | Hours | Day-of-Month Month | Day-of-Week | Year (optional)
 * 
 */

import java.util.concurrent.locks.ReentrantLock
import org.eclipse.smarthome.core.library.types.DecimalType
import org.eclipse.smarthome.model.script.actions.Timer
import org.joda.time.DateTime

val String logCategory = "alarm"

var ReentrantLock weckerLock = new ReentrantLock()
var int iAlarmTime
var int iAlarmStunde
var int iAlarmMinute
var String sAlarmZeit
var Timer timerAlarm = null

Actually now I think on it, I see the problem (it is the reschedule() in the exception that is the clue)

You cannot reschedule an already expired timer, i.e. when your timer code runs after 24 hours it cannot reschedule itself, since it has already expired.

There is more than one possible way round that.
You might have the timer update a proxy Item when it completes, and a rule triggered by the proxy creates a new timer.

Or there is a convoluted way to have timers recreate themselves

Thanks again for your time.

The issue is solved now. The timer works again as expected.

Stupid me… As I couldn’t hear the voice triggered by the voice rule, I thought the voice command caused the exception. Now, I realize that I couldn’t hear the voice because I had added a day/night switch triggering different rules. And I was hunting a bug in the night rather in the day tree :-/.

G.