Also es gibt ja - durch den Shelly-Adapter bereitgestellt - das Objekt "Input" und "longpush". Eigentlich sollte es so sein, dass man hier einen Trigger (also eine Objektänderung) an diese beiden Werte hängen kann und man so einen einzelnen Tasterdruck (egal wie kurz) oder einen langen Tasterdruck auswerten können soll.
Der Event-Count ist natürlich nett, aber auch nicht so schön in der Verwendung. Wenn sich Input auf True und beim loslassen wieder auf False ändern würde, könnte man die Dauer des Tastendrucks ermitteln. Das ist beim Event-Count nicht möglich. Ebenso ist der longpush nicht Auswertbar, weil der Wert nie auf false zurückspringt. Wenn man mit Event und EventCount arbeitet, muss man unschön irgendwelche Zeichenketten vergleichen, anstatt boolsche Werte zu verwenden. Bei einem einzelnen Blockly Skript kann man das mal machen. Ich habe hier zum Beispiel wenn ich fertig bin 44 Shelly Komponenten und insgesamt 69 Inputs und 61 Switches. Die Skripte werden eh schon umfangreich genug. Da ist das einfach der lange weg, wenn man immer Zusatzprüfungen machen muss.
Wenn Input hier nicht verwendet werden soll, dann sollte das Objekt auch nicht zur Verfügung stehen. Jeder, der sich in die Materie erst einarbeitet wird genau in diese Falle tappen, dass Input zwar auslöst, aber eben dann doch nicht immer. Manchmal "trifft" man den Taster auch einfach nur nicht gut und rutscht halt nur drüber, hat ihn aber schon weit genug gedrückt. Da es eine Schaltverzögerung gibt (Bedingt durch die Technik und die Logik z.B. im ioBroker) sollte man sich aber sicher sein können, dass auch etwas passiert.
Ich verstehe aber auch nicht, wieso Input sich bei einem i3 oder im Detached Mode anders verhalten soll, als im Momentary, Push oder welchem Modus auch immer. Das macht einfach so gar keinen Sinn und hilft auch niemandem Weiter. Den Event-Count weiter auswerten zu können ist schön und das man das Original Event noch sehen kann, mag einem in der ein oder anderen Situation helfen. Aus Anwendersicht ist das aber ein Bug und es wäre ein leichtes die "zusätzlichen" Input-Events zu liefern und den longpush zu reparieren (senden von "false", sobald der Taster runter geht und dann ein senden von "true", sobald die Longpush Time erreicht wurde).
Btw: Ich will hier nicht meckern und bin dir wirklich sehr dankbar, dass du dir die Zeit nimmst.