ich kenne die ioBoker-Implementierung nicht, kann also dazu nicht viel sagen:
mein I3 schickt bei jedem Tastendruck, auch wenn er noch so kurz ist eine Coap-Nachricht und zählt dabei den 2103 (inputEventCnt vom ersten Taster) um 1 nach oben.
Payload vor dem Tastendruck:
{"G":[[0,9103,0],[0,2101,0],[0,2102,"S"],[0,2103,1],[0,2201,0],[0,2202,""],[0,2203,0],[0,2301,1],[0,2302,"S"],[0,2303,5]]}
Payload nach dem (sehr kurzen) Tastendruck:
{"G":[[0,9103,0],[0,2101,0],[0,2102,"S"],[0,2103,2],[0,2201,0],[0,2202,""],[0,2203,0],[0,2301,1],[0,2302,"S"],[0,2303,5]]}
das sieht für mich von Shelly-Seite erstmal vollkommen korrekt aus, denn daraus lässt sich ableiten, dass der erste Taster betätigt wurde (Counter um 1 erhöht) und auch welches Event ausgelöst wurde (2102, S steht für single press)