Forgive me if I don't explain well, but with a Sylvania+ bulb when I setLevel or setColor, the device subscription returns an arbitrary value. I don't know drivers, but I think it may have to do with the "Transition time" value.
For instance, just as a description:
def initialize(){
subscribe(device,"level",levelChange)
subscribe(device,"hue",hueChange)
subscribe(device,"saturation",satChange)
setLevels()
}
def setLevels(){
device.setColor([hue:10,saturation:10,level:10])
log.debug "set level 10, hue 10, sat 10"
}
def levelChange(){
log .debug "level: $event.value"
}
def hueChange(){
log .debug "hue: $event.value"
}
def satChange(){
log .debug "sat: $event.value"
}
Log:
set level 10, hue 10, sat 10
sat: 15
hue: 2
level: 62