I've got two very different situations going on here, both firing rules more than once.
1 - "Arrive via Garage": I have two contact sensors on my garage doors (they are old Aeon door sensors using the Generic Zwave contact sensor driver). If either opens, and my interior lights are off, they trigger a 5 minute "wait for the laundry door to open" (same sensor here). If the door opens, the kitchen lights come on. I have the "busy" variable deboucing in there. This rule just triggered 2 times, and the "wait for the door to open" fired 4 times! The sensors here are on my upstairs hub, and the rule and light are on my downstairs hub (the HubConnect server, using Event sockets). The log for this rule firing is included below. Note: on the client hub, the logs show the Laundry door opening twice at that time, 1ms apart.
2 - Driveway motion (and a similar porch motion rule). These use EcoLink motion sensors using the Generic Z-wave motion sensor driver. They are fed into the Zone Motion Controller app, which turns the lights on or off with motion change. I have 2 sensors (garage, porch). They are fed into 2 separate Zones: both -> garage, porch -> porch (so the porch sensor is in both). When there is motion near the garage, the garage lights should come on. If there is motion at the porch, both garage and porch lights come on. The garage motion sensor and garage light are on my upstairs hub, the porch motion sensor and porch light are on the downstairs hub. The garage light rule runs on the upstairs hub (but references the porch motion sensor shared from the server -- that isn't being used in my tests). The porch light rule runs on the downstairs hub, referencing the garage light which is shared from the client.
I can remove the Zone stuff with the trade off of making the rules a bit more complex. But the kitchen light only uses contact sensors, and is having issues. The garage and porch lights only use motion, and are having issues also.
I'm happy to send you anything that might be helpful in terms of logs, config dumps, whatever. If you want to take this off the board you can email me directly.
I need to get this fixed because these are pretty much all my automations, they aren't working, and it is getting very frustrating.
Here are a couple of log snippets:
dev:1322019-09-19 10:34:25.826 infoKitchen - Pendant Lights switch is on
app:1702019-09-19 10:34:25.290 infoAction: Set Busy to false --> delayed: 0:00:02
app:1702019-09-19 10:34:25.284 infoAction: END-IF
app:1702019-09-19 10:34:25.270 infoAction: Set Busy to false --> delayed: 0:00:02
app:1702019-09-19 10:34:25.266 infoAction: Set Busy to false --> delayed: 0:00:02
app:1702019-09-19 10:34:25.261 infoAction: END-IF
app:1702019-09-19 10:34:25.249 infoAction: Set Busy to false --> delayed: 0:00:02
app:1702019-09-19 10:34:25.246 infoAction: END-IF
app:1702019-09-19 10:34:25.245 infoAction: END-IF
app:1702019-09-19 10:34:25.122 infoAction: IF (Laundry door open TRUE) On: Kitchen - Pendant Lights
app:1702019-09-19 10:34:25.117 infoAction: IF (Laundry door open TRUE) On: Kitchen - Pendant Lights
app:1702019-09-19 10:34:25.099 infoAction: IF (Laundry door open TRUE) On: Kitchen - Pendant Lights
app:1702019-09-19 10:34:25.086 infoAction: IF (Laundry door open TRUE) On: Kitchen - Pendant Lights
app:1702019-09-19 10:34:24.998 infoWait over: Laundry door contact open
app:1702019-09-19 10:34:24.905 infoWait over: Laundry door contact open
app:1702019-09-19 10:34:24.861 infoWait over: Laundry door contact open
app:1702019-09-19 10:34:24.859 infoWait over: Laundry door contact open
app:1702019-09-19 10:34:19.440 infoAction: Wait for events: Laundry door open --> timeout: 0:05:00
app:1702019-09-19 10:34:19.440 infoAction: Wait for events: Laundry door open --> timeout: 0:05:00
app:1702019-09-19 10:34:19.410 infoAction: IF (Kitchen Lights(off) is off(T) AND
Laundry door closed(T) [TRUE]) THEN
app:1702019-09-19 10:34:19.410 infoAction: IF (Kitchen Lights(off) is off(T) AND
Laundry door closed(T) [TRUE]) THEN
app:1702019-09-19 10:34:19.306 infoAction: Set Busy to true
app:1702019-09-19 10:34:19.301 infoAction: IF (Variable Busy(false) = true FALSE) Exit Rule (skipped)
app:1702019-09-19 10:34:19.290 infoAction: Set Busy to true
app:1702019-09-19 10:34:19.284 infoAction: IF (Variable Busy(false) = true FALSE) Exit Rule (skipped)
app:1702019-09-19 10:34:19.201 infoArrive via Garage Triggered
app:1702019-09-19 10:34:19.182 infoArrive via Garage: Garage door 1 contact open
app:1702019-09-19 10:34:19.173 infoArrive via Garage Triggered
app:1702019-09-19 10:34:19.161 infoArrive via Garage: Garage door 1 contact open
Could RM have a truly atomic option for a rule that says "Only run one instance of this rule at a time"? That would likely solve all my problems, and obviate the need for this attempted debouncing hack.