A temporary hack:
// Determine OS intended behaviors based on value behaviors (urrgghhh.....ST!)
def upLevel
if (!state.lastLevelUpDown)
state.lastLevelUpDown = 0 // If it isn't defined lets baseline it
if ((state.lastLevelUpDown == 1) && (value == 1)) // Last time it was 1 and again it's 1 its increase
upLevel = true
else if ((state.lastLevelUpDown == 0) && (value == 0)) // Last time it was 0 and again it's 0 then it's decrease
upLevel = false
else if ((state.lastLevelUpDown == -1) && (value == -1)) // Last time it was -1 and again it's -1 then it's decrease
upLevel = false
else if ((value - state.lastLevelUpDown) > 0) // If it's increasing then it's up
upLevel = true
else if ((value - state.lastLevelUpDown) < 0) // If it's decreasing then it's down
upLevel = false
else
log.error "UNDEFINED STATE, CONTACT DEVELOPER. Last level $state.lastLevelUpDown, Current level, $value"
state.lastLevelUpDown = value // Save it