I have implemented de-bounce on many inputs in two different ways.
First : RM version
In this scenario:
I use Fing box to detect my phone.
IFTTT sets the state of ( IFTTT_TriggerMattHomeAway "Virtual Switch" ) my input into HE.
RM debounce rule sets the ( MattK_Present a "Virtual Presence with Switch" ) to finally determine my home/away status.
Since there is a long chain of devices between my phone and HE
(the de-bounce was necessary, as it only takes a blip of indeterminacy anywhere in this chain to cause brief state changes, which we are trying to eliminate)
Phone Wifi => Wifi Access Point => Wired network => Fing Box => Fing Cloud => IFTTT Cloud => HE
I frequently use "Zone Motion Controller" as general purpose timers / debounce circuits
In this scenario I use a Zone Motion controller to detect if any doors have opened in the last 10 minutes.
I use (Door activity Switch a "Virtual Motion with Sensor") device to capture the state of all my doors opening / closing .
Catch any door opening to strobe the door activity switch, and re-trigger the zone controller.
Once any door opens you have 10 minutes before that state of the zone controller returns to false.
I have used multiple presense sensors into a zone motion controller for aggregation as well, with minimum tweaking.