Hi,
if you are using hue lights you also have the option to use the transitiontime argument of the hue API.
Unfortunately this argument cannot be set though the hue binding, but you can directly send an HTTP PUT to the hue bridge using openHABs executeCommandLine action and the linux curl tool.
This is how I slowly dim my light until it is off in 60 seconds:
var String hueApiCall = "curl@@-X@@PUT@@-d@@{\"on\": %s, \"transitiontime\": %d}@@http://<hueIP>/api/<yourAPIPassword>/lights/%d/state"
executeCommandLine(String::format(hueApiCall, "false", 600, 2))
postUpdate(Light_CO_Main, OFF) // need to update the item manually after direct API call
The transitiontime has to be defined in 100ms steps, e.g. 1 second would be a transitiontime of 10.
Disadvantage of this approach is that you cannot use the hue configuration from your item files.