Please use the code fences when posting code.
There is a stray space at the end of your cron string. That may be the reason.
This is your rule tidied up a bit.
I have used the sendCommand method instead of the action.
There is no issue with your use of the timer.
rule "Wake Timmy and Dennis Monday to Friday"
when
Time cron "0 40 06 ? * MON-FRI"
then
if (Wakeup.state == ON) {
logInfo("WAKEUP.RULES", "wakeup state is on so Dennis/Timmy alarm")
Sonos_Shuffle.sendCommand(ON)
Sonos_Favorite.sendCommand("Alarm")
Sonos_Volume.sendCommand(15)
timmy_music.sendCommand(ON)
createTimer(now.plusSeconds(5), [ |
dennis_music.sendCommand(ON)
Lt_Dennis_Mezz.sendCommand(ON)
Lt_Timmy_Walls.sendCommand(ON)
])
} else {
logInfo("WAKEUP.RULES", "wakeup state is off")
}
end