VMB6IN protocol qq


Just writing a little bit of glue to listen to some VMB6IN buttons and have a couple of questions about the protocol. I’ve read the protocol doc and I also understand the general packet format.

When I hold a switch closed, I get the following pair of raw packets:
0F F8 14 04 00 10 00 00 D1 04
0F F8 14 04 00 00 00 10 D1 04

which makes sense, as the switch 0x10 (10000 Binary, 5 on the device) closes and then a fraction of a second later is recorded as “long press”

When this switch is later released, I get the following packets almost simultaneously (same timestamp):
0F F8 14 04 00 00 10 00 D1 04
0F F8 14 04 00 00 00 00 D1 04

The first packet in this pair makes sense, but what’s the point of the second message?

Another question - will the switch byte in an 0x00 messages always just be for one switch or could it be, for instance, 0x18 to indicate switches 5 and 4 have changed at the same time as they are in the 0xED message where the overall switch status is given?

Many thanks,

You can safely discard this packet and listen for the pressed, long pressed and released packets to know the status

You will receive separate messages for each event, bits will not be combined