Das Skript:
Code: Alles auswählen
var Timer tDim = null
rule "VolumeDown"
when
Item Audio__Bad_Bad_Rth_Taster_links_unten_Radio_VolDown received command
then
logDebug("Radio Volume","Rule VolumeDown triggered")
if(tDim === null) // only when there is no running timer
logDebug("Radio Volume","timer was null")
tDim = createTimer(now.plusMillis(100) [| // start timer fast
logDebug("Radio Volume","dimmer timer executed")
var Number nDim = 0 // helper var
if(SqueezeBox_Player_Volume.state as Number) > 0) { // dimmer is not 100%
logDebug("Radio Volume","dimm up from {}%",SqueezeBox_Player_Volume.state)
SqueezeBox_Player_Volume.sendCommand((SqueezeBox_Player_Volume.state as Number) - 1) // dim down
nDim = 1 // set dim time to 1 Second
}
else {
logDebug("Radio Volume","Volume ist <= 0 {}%",SqueezeBox_Player_Volume.state)
nDim = 1
}
if(nDim > 0) // check of nDim was set
logDebug("Radio Volume","reschedule timer with {} Second(s)",nDim)
tDim.reschedule(now.plusSeconds(nDim)) // nDim was set, so reschedule timer
else // nDim wasn't set
logDebug("Radio Volume","delete timer.")
tDim = null // so delete timer
])
end
Der Fehler:
Code: Alles auswählen
[INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'VolumeDown.rules'
[WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'VolumeDown.rules' has errors, therefore ignoring it: [17,54]: no viable alternative at input '>'
[17,57]: missing ']' at ')'
[22,3]: mismatched input 'else' expecting 'end'