Will using a ‘do once’ node help here? Stick it just before calling that open/close function (just after the cast). To reset the button you could either stick a small delay at the end of that execution chain which loops back to the reset node of DoOnce, or just have your “on end overlap” node (which i assume happens when the player steps off the button?) plug into the reset.