Do the white Switches support Matter Group Binding

I’m curious if the VTM 30 and VTM 31 support matter group bindings. I think it would be supe awesome if they did @EricM_Inovelli. I’m participating in an effort to test it out using Home Assistant and the new Matter Server.

1 Like

If the groups work similar to how they do on Zigbee then after creating the group you need to bind the Level Control and On/Off cluster from EP2 on the Inovelli to the group in order to control the group from the switch.

Hi Eric,

I tried to setup a group binding between an Inovelli white switch and a set of Nanoleaf lights. I didn’t have much luck.

I used chip-tool to configure the devices. I was able to toggle a group of lights using the chip-tool client, but not the White dimmer. As far as I can tell the dimmer wasn’t sending out multicast commands.

Here’s the basic process I used:

  1. Use the matter UI to share the devices to a new fabric.
  2. Add the devices to the chip-tool fabric
./chip-tool pairing code 68 12345678910 --bypass-attestation-verifier true # Light
./chip-tool pairing code 69 12345678910 --bypass-attestation-verifier true # Light
./chip-tool pairing code 50 12345678910 --bypass-attestation-verifier true # Dimmer
  1. Create the group and keys on the chip-tool client:
./chip-tool groupsettings add-group Office 0x4141
./chip-tool groupsettings add-keysets 0xAAAA 0 0x000000000021dfe0 hex:d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
./chip-tool groupsettings bind-keyset 0x4141 0xAAAA
  1. Add the group, keys, and ACLs to the lights
./chip-tool groups add-group 0x4141 Office 68 1
./chip-tool groups add-group 0x4141 Office 69 1

./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 42, "groupKeySecurityPolicy": 0, "epochKey0": "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 68 0 
./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 42, "groupKeySecurityPolicy": 0, "epochKey0": "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 69 0

./chip-tool groupkeymanagement write group-key-map '[{"groupId": 16705, "groupKeySetID": 42}]' 68 0
./chip-tool groupkeymanagement write group-key-map '[{"groupId": 16705, "groupKeySetID": 42}]' 69 0

./chip-tool accesscontrol write acl '[{"fabricIndex": 3, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null},{"fabricIndex": 3, "privilege": 3, "authMode": 2, "subjects": [50], "targets": [{"cluster": 3, "endpoint": 1, "deviceType": null}, {"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}]}, {"fabricIndex": 3, "privilege": 3, "authMode": 3, "subjects": [16705], "targets": [{"cluster": 3, "endpoint": 1, "deviceType": null}, {"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}]}]' 68 0
./chip-tool accesscontrol write acl '[{"fabricIndex": 3, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null},  {"fabricIndex": 3, "privilege": 3, "authMode": 3, "subjects": [16705], "targets": [{"cluster": 3, "endpoint": 1, "deviceType": null}, {"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}]}]' 69 0
  1. Test multicast group commands using the chip-tool client:
./chip-tool onoff toggle 0xffffffffffff4141 1

  1. Setup the group, bindings, and keys on the White dimmer:
./chip-tool groups add-group 0x4141 Office 50 1

./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 42, "groupKeySecurityPolicy": 0, "epochKey0": "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 50 0
 
./chip-tool groupkeymanagement write group-key-map '[{"groupId": 16705, "groupKeySetID": 42}]' 50 0  ./chip-tool binding write binding '[{"fabricIndex": 3, "group": 16705}]' 50 2

./chip-tool binding write binding '[{"group": 16705, "fabricIndex": 3}]' 50 2

This should be sufficient to toggle the group using the dimmer, but no luck.

I can subscribe to one of the light nodes and see that the chip-tool client sends multicast messages toggle them. I don’t see anything from the Inovelli switch.

./chip-tool onoff subscribe on-off 1 100 69 1 --keepSubscriptions true

I can create a direct binding to confirm that the fabric and some other basics work normally:

 ./chip-tool binding write binding '[{"node": 68, "endpoint": 1, "fabricIndex": 3},{"node": 69, "endpoint": 1, "fabricIndex": 3}]' 50 2

I’m not sure what else to try, short of buying some other binding compatible matter clients.

Please let me know if there’s any additional information I could provide.

Once you add the Inovelli to the group, does it respond to group commands:

The direct binding from endpoint 2 to the two bulbs works though, just not the group binding?

Direct binding works for me in homeassistant with several lights (I see a popcorn effect)

Group binding (using Matter Binding Helper in Home Assistant) does not.

It seems that @securejangle is encountering the same issue as I have, and has gone further by using the chip-tool to try things manually (look at what I linked to at the start of the thread).

it be wicked cool if the Inovelli switch has matter group binding support. I was looking for a confirmation that it does, so that when matter controllers support it I’d be able to use that functionality

1 Like

Hello, I just want to add that I also tried to setup group binding using inovelli white and Ikea light bulbs, using the Matter Binding integration on home assistant, and it is also not working.

If I can help with something, I can do some troubleshooting. I would really like to get this working.

Hi Eric,

Once you add the Inovelli to the group, does it respond to group commands:

Yes. If I add endpoint 6 to the group, I can toggle the dimmer LED using group commands.

./chip-tool groups add-group 0x4141 Office 50 6

./chip-tool accesscontrol write acl '[{"fabricIndex": 3, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null},{"fabricIndex": 3, "privilege": 3, "authMode": 2, "subjects": [50], "targets": [{"cluster": 3, "endpoint": 6, "deviceType": null}, {"cluster": 6, "endpoint": 6, "deviceType": null}, {"cluster": 8, "endpoint": 6, "deviceType": null}]}, {"fabricIndex": 3, "privilege": 3, "authMode": 3, "subjects": [16705], "targets": [{"cluster": 3, "endpoint": 6, "deviceType": null}, {"cluster": 6, "endpoint": 6, "deviceType": null}, {"cluster": 8, "endpoint": 6, "deviceType": null}]}]' 50 0

./chip-tool onoff toggle 0xffffffffffff4141 

I confirmed that the dimmer does not control the LED using a group binding.

The direct binding from endpoint 2 to the two bulbs works though, just not the group binding?

Yes, that’s correct. Direct bindings worked when I set them up using chip-tool.

./chip-tool binding write binding '[{"node": 68, "endpoint": 1, "fabricIndex": 3},{"node": 68, "endpoint": 1, "fabricIndex": 3}]' 50 2

./chip-tool binding write binding '[{"node": 69, "endpoint": 1, "fabricIndex": 3},{"node": 69, "endpoint": 1, "fabricIndex": 3}]' 50 2

I also confirmed that a direct binding between endpoint 2 and 6 on the dimmer works as expected.

Thanks for the feedback. I will work with our team to see if we can get this feature working.

1 Like

Thank you Eric, I’m excited to hear that!

1 Like

That would be epic!

This is literally would enable my setup to be perfect (turning a group of lights on without a popcorn effect)

2 Likes