So wie ich einen Interrupt verstehe ist das eine Subroutine die aufgerufen wird sobald ein Signal anliegt. Ich gestehe die Python Syntax nicht zu kennen aber dein Code sieht nicht nach Interrupt aus denn du legst das Programm schlafen bis etwas passiert. Vielleicht ist das dein Problem, dass du den Pin als Interrupt-Trigger schaltest und ihn dann aber doch anders abrufst?
Hab auch schon einen Kondensator 33n dazwischen geklemmt, sollte es prellen.
Das würde ich per Software entprellen. Wenn ein Signal kommt, ignoriere den Eingang für die nächsten paar Sekunden und schalte ihn dann erst wieder scharf. Darfst halt kein olympisches Feuer betreiben das den Zähler schneller dreht als dein Programm ihn abfragt.
Ob der Kondensator wirklich alles entprellt müsstest du am besten am Oszi anschauen. Wie hast du den Wert bestimmt?
Hast du das als erstes mit einem einfachen Schalter versucht? Damit testet es sich viel einfacher.