Hi Andreas,
leider kann ich deine Frage zur Verwendung auch (noch) nicht beantworten, aber ich freue mich auf alle Fälle auch über konstruktive Tester!
Im Moment möchte ich zunächst den Übergang in den eigenen namespace vollziehen und rausfinden, warum das Triggern nicht mehr sauber funktioniert. Für letzteres muss irgendein implizites Verhalten verantwortlich sein, das vom Gefühl her vermutlich gar nicht als solches bekannt war, es hat halt so funktioniert...
Wenn man nach package geht, besteht immer die Gefahr, dass man irgendeine Funktion beim importieren übersieht, was dann direkt zum Absturz führt, wenn die betreffende Funktion aufgerufen wird. Von daher wäre mir schon viel geholfen, wenn du einfach die hier gepostete Fassung mal auf verbose 5 stellst und den Verstärker eifrig hin- und herschaltest (v.a. über FHEM). Wenn dann kein crash passiert, bin ich an der Stelle schon viel weiter!
Das mit dem trigger kann nicht das große Problem sein, ich brauche aber mal eine stille Stunde, um mir das anzusehen.
Was mir bei der ersten Durchsicht aufgefallen war, ist der sehr repetitive Code. Würde annehmen, dass man das auch anders lösen könnte und das ganze dann deutlich übersichtlicher werden würde. Mal sehen. Wäre dann aber zu einem guten Teil auch eine Fleißaufgabe, das umzustellen

.