Thread Event reaching matter server addon, but not HA

Hi,

I was wondering why my Bilresa Button only shows a single Button press when the wheel is rotated much more.

Here is what I can see in the history (ignore the press at 14:54:20):

Looking into the matter server logs, I see much more events:

-----------------------------------------------------------
 Add-on: Matter Server
 Matter WebSocket Server for Home Assistant Matter support.
-----------------------------------------------------------
 Add-on version: 8.2.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 17.1  (amd64 / qemux86-64)
 Home Assistant Core: 2026.2.3
 Home Assistant Supervisor: 2026.02.3
-----------------------------------------------------------
[…]
2026-02-28 14:54:21.827 INFO   ClientEventEmitter   Received event switch.multiPressComplete on server-2-134b.@1:13.ep4 previousPosition: 1 totalNumberOfPressesCounted: 6
2026-02-28 14:54:52.877 INFO   ClientEventEmitter   Received event switch.initialPress on server-2-134b.@1:13.ep4 newPosition: 1
2026-02-28 14:54:53.949 INFO   ClientEventEmitter   Received event switch.shortRelease on server-2-134b.@1:13.ep4 previousPosition: 1
2026-02-28 14:54:53.961 INFO   ClientEventEmitter   Received event switch.shortRelease on server-2-134b.@1:13.ep4 previousPosition: 1
2026-02-28 14:54:53.971 INFO   ClientEventEmitter   Received event switch.shortRelease on server-2-134b.@1:13.ep4 previousPosition: 1
2026-02-28 14:54:53.982 INFO   ClientEventEmitter   Received event switch.initialPress on server-2-134b.@1:13.ep4 newPosition: 1
2026-02-28 14:54:53.982 INFO   ClientEventEmitter   Received event switch.initialPress on server-2-134b.@1:13.ep4 newPosition: 1
2026-02-28 14:54:53.983 INFO   ClientEventEmitter   Received event switch.multiPressOngoing on server-2-134b.@1:13.ep4 newPosition: 1 currentNumberOfPressesCounted: 2
2026-02-28 14:54:53.983 INFO   ClientEventEmitter   Received event switch.multiPressOngoing on server-2-134b.@1:13.ep4 newPosition: 1 currentNumberOfPressesCounted: 4
2026-02-28 14:54:54.972 INFO   ClientEventEmitter   Received event switch.initialPress on server-2-134b.@1:13.ep4 newPosition: 1
2026-02-28 14:54:54.984 INFO   ClientEventEmitter   Received event switch.multiPressOngoing on server-2-134b.@1:13.ep4 newPosition: 1 currentNumberOfPressesCounted: 5
2026-02-28 14:54:54.998 INFO   ClientEventEmitter   Received event switch.shortRelease on server-2-134b.@1:13.ep4 previousPosition: 1
2026-02-28 14:54:55.020 INFO   ClientEventEmitter   Received event switch.multiPressComplete on server-2-134b.@1:13.ep4 previousPosition: 1 totalNumberOfPressesCounted: 5

multiPressOngoing is fine, as it counts up the clicks up.

But according to the documentation, the switch position should give a pulse with each click (limited to one click every 500ms on the Bilresa), but the four initialPress/shortRelease combinations are only converted into one single switch position pulse.

Any hints where to look further?

Okay, I just dug a bit further into it, enabled Thread debug logs. There really seems to be a problem in the communication towards the HA core.

I got all three possible outcomes, from all working to only button or only switch working. (thread server logs are reduced to the relevant lines):


2026-02-28 15:10:48.369 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:10:48.407 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198694, priority: 1, timestamp: 183892477, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:10:48.627 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:10:48.642 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198695, priority: 1, timestamp: 183892517, timestamp_type: 1, data: { previousPosition: 1 } }

2026-02-28 15:10:48.859 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:10:48.873 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198696, priority: 1, timestamp: 183892977, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:10:48.998 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:10:49.013 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 5, event_number: 198697, priority: 1, timestamp: 183893011, timestamp_type: 1, data: { newPosition: 1, currentNumberOfPressesCounted: 3 } }
2026-02-28 15:10:49.027 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198698, priority: 1, timestamp: 5, timestamp_type: 1, data: { previousPosition: 1 } }

2026-02-28 15:10:49.359 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:10:49.374 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198699, priority: 1, timestamp: 183893477, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:10:49.548 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:10:49.563 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 5, event_number: 198700, priority: 1, timestamp: 183893512, timestamp_type: 1, data: { newPosition: 1, currentNumberOfPressesCounted: 4 } }
2026-02-28 15:10:49.576 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198701, priority: 1, timestamp: 3, timestamp_type: 1, data: { previousPosition: 1 } }

2026-02-28 15:10:49.852 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:10:49.865 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198702, priority: 1, timestamp: 183893977, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:10:50.133 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:10:50.154 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 5, event_number: 198703, priority: 1, timestamp: 183894010, timestamp_type: 1, data: { newPosition: 1, currentNumberOfPressesCounted: 5 } }
2026-02-28 15:10:50.169 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198704, priority: 1, timestamp: 4, timestamp_type: 1, data: { previousPosition: 1 } }

2026-02-28 15:10:50.405 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 6, event_number: 198705, priority: 1, timestamp: 183894477, timestamp_type: 1, data: { previousPosition: 1, totalNumberOfPressesCounted: 5 } }

2026-02-28 15:20:09.211 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 5/59/1 1
2026-02-28 15:20:09.227 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 5, cluster_id: 59, event_id: 1, event_number: 198706, priority: 1, timestamp: 184453225, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:20:09.484 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 5/59/1 0
2026-02-28 15:20:09.496 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 5, cluster_id: 59, event_id: 3, event_number: 198707, priority: 1, timestamp: 184453265, timestamp_type: 1, data: { previousPosition: 1 } }
2026-02-28 15:20:09.508 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198708, priority: 1, timestamp: 5, timestamp_type: 1, data: { newPosition: 1 } }
2026-02-28 15:20:09.519 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198709, priority: 1, timestamp: 5, timestamp_type: 1, data: { previousPosition: 1 } }
2026-02-28 15:20:09.709 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 5, cluster_id: 59, event_id: 6, event_number: 198710, priority: 1, timestamp: 184453724, timestamp_type: 1, data: { previousPosition: 1, totalNumberOfPressesCounted: 1 } }
2026-02-28 15:20:09.888 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198711, priority: 1, timestamp: 184453770, timestamp_type: 1, data: { newPosition: 1 } }
2026-02-28 15:20:09.903 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 5, event_number: 198712, priority: 1, timestamp: 5, timestamp_type: 1, data: { newPosition: 1, currentNumberOfPressesCounted: 3 } }
2026-02-28 15:20:09.915 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198713, priority: 1, timestamp: 3, timestamp_type: 1, data: { previousPosition: 1 } }
2026-02-28 15:20:10.251 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 6, event_number: 198714, priority: 1, timestamp: 184454270, timestamp_type: 1, data: { previousPosition: 1, totalNumberOfPressesCounted: 3 } }

2026-02-28 15:22:53.274 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:22:53.287 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198715, priority: 1, timestamp: 184617068, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:22:53.396 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:22:53.408 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198716, priority: 1, timestamp: 184617108, timestamp_type: 1, data: { previousPosition: 1 } }

2026-02-28 15:22:53.773 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:22:53.788 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198717, priority: 1, timestamp: 184617568, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:22:53.914 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:22:53.927 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 5, event_number: 198718, priority: 1, timestamp: 184617602, timestamp_type: 1, data: { newPosition: 1, currentNumberOfPressesCounted: 4 } }
2026-02-28 15:22:53.939 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198719, priority: 1, timestamp: 5, timestamp_type: 1, data: { previousPosition: 1 } }

2026-02-28 15:22:54.270 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:22:54.281 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198720, priority: 1, timestamp: 184618068, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:22:54.518 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:22:54.582 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 5, event_number: 198721, priority: 1, timestamp: 184618106, timestamp_type: 1, data: { newPosition: 1, currentNumberOfPressesCounted: 8 } }
2026-02-28 15:22:54.637 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198722, priority: 1, timestamp: 6, timestamp_type: 1, data: { previousPosition: 1 } }

2026-02-28 15:22:54.764 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 1
2026-02-28 15:22:54.780 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 1, event_number: 198723, priority: 1, timestamp: 184618568, timestamp_type: 1, data: { newPosition: 1 } }

2026-02-28 15:22:54.924 DEBUG  WebSocketC~erHandler [0] Sending attribute_updated event for Node @?:13 4/59/1 0
2026-02-28 15:22:54.938 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 5, event_number: 198724, priority: 1, timestamp: 184618602, timestamp_type: 1, data: { newPosition: 1, currentNumberOfPressesCounted: 10 } }
2026-02-28 15:22:54.949 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 3, event_number: 198725, priority: 1, timestamp: 6, timestamp_type: 1, data: { previousPosition: 1 } }
2026-02-28 15:22:55.283 DEBUG  WebSocketC~erHandler [0] Sending node_event for Node @?:13 { node_id: 19, endpoint_id: 4, cluster_id: 59, event_id: 6, event_number: 198726, priority: 1, timestamp: 184619068, timestamp_type: 1, data: { previousPosition: 1, totalNumberOfPressesCounted: 10 } }

There are more events going out then shown in the HA data.

The Matter integration does not expose some of the events for buttons with multi-press and it’s also limited to 8x-press.

There’s a PR to bring them back:

1 Like