Ich denke nicht, dass man einen Event-Count als Trigger verwenden sollte. Falls doch, frage ich mich, wieso bei einem leicht längeren Tastendruck (und ich meine nicht den longpress) dann das Input-Event kommt und bei einem sehr kurzen Druck nicht?
doch, genau so ist es gedacht.. exakt am InputEventCnt kannst du festmachen, ob ein Input Ereignis erfolgt ist oder es z.B. ein einfaches Coap-Status-Update war..
Beim Tastendruck werden zwei Coap-Nachrichten geschickt, die erste wird vom internen Sensor am Taster ausgelöst, die zweite ist das Ereignis, also der Tastendruck. Dadurch dass 2103 von 7 auf 8 gesprungen ist kann ich mit Sicherheit sagen, dass der Taster gedrückt wurde und zwar mit dem Wert von 2102, also Shortpress.
Event:
,"192.168.178.147:5683","SHIX3-1","A4CF12F46CAF","14940","{"G":[[0,9103,3],[0,2101,0],[0,2102,"S"],[0,2103,7],[0,2201,0],[0,2202,""],[0,2203,0],[0,2301,1],[0,2302,"S"],[0,2303,5]]}"
Event:
,"192.168.178.147:5683","SHIX3-1","A4CF12F46CAF","14941","{"G":[[0,9103,3],[0,2101,0],[0,2102,"S"],[0,2103,8],[0,2201,0],[0,2202,""],[0,2203,0],[0,2301,1],[0,2302,"S"],[0,2303,5]]}"
mach ich das gleiche mit einem Longpress kommen wieder zwei Coap-Nachrichten, die erste vom Sensor mit dem alten Zustand (da steht der Counter noch auf 8 und und der Wert noch auf S, die zweite Nachricht hat den Counter auf 9 hochgezogen und das Event auf L gestellt, also Longpress.
Der Wert 2101 (Input State) wird zwar geändert, hat aber für Taster keine Aussagekraft, denn daraus kann ich nicht ableiten, ob Longpress, Shortpress oder DoublePress getätigt wurden. Der hat ausschließlich den Sinn, den Zustand eines Schalters zu emulieren. Du benutzt aber keinen Schalter sondern einen Taster.
Event:
,"192.168.178.147:5683","SHIX3-1","A4CF12F46CAF","14942","{"G":[[0,9103,3],[0,2101,1],[0,2102,"S"],[0,2103,8],[0,2201,0],[0,2202,""],[0,2203,0],[0,2301,1],[0,2302,"S"],[0,2303,5]]}"
Event:
,"192.168.178.147:5683","SHIX3-1","A4CF12F46CAF","14943","{"G":[[0,9103,3],[0,2101,1],[0,2102,"L"],[0,2103,9],[0,2201,0],[0,2202,""],[0,2203,0],[0,2301,1],[0,2302,"S"],[0,2303,5]]}"
Wie das in ioBrker nun ausgewertet wird /werden muss , kann ich nicht beantworten. Da müsste jemand mit ioBroker-Kenntnissen etwas zu sagen.