Eliminating redundant device events

Use something like now() to calc the time elapsed after the last event. If the difference is less than 20 ms: Ignore the new event.

Or just wait it out, e.g.:

@Field static Boolean isParsing = false

def parse(...) {
if (isParsing) return
isParsing = true

// do your things here, e.g. fire sendEvent

pauseExecution 20 //ms
isParsing = false
}

2 Likes