Prevent repetitive switch pushes?

var Timer doorbellTimer = null

rule "Doorbell"
when
    Item Doorbell received command
then
    if(doorbellTimer == null || doorbellTimer.hasTerminated) {
        doorbellTimer = createTimer(now.plusSeconds(15), [|
            doorbellTimer = null
        ])
        // alert code goes here
    }
    // ignore while there is a timer active
}
2 Likes