Direct White Switch to Lights Matter Binding Works, but not when adjusting via HA / HomeKit

I used the Home Assistant Matter Server Beta to create Matter bindings between my white switch and some Nanoleaf matter-thread downlights. I bound Endpoint 2-30 (Binding) to OnOff and Dimmer endpoints on my lights. This all works to dim and turn the lights on/off from the Inovelli switch.

However…

Adjusting the switch via Home Assistant or Homekit (brightness / on / off) does not propogate to the lights. Is this expected? Is there something else I need to bind to get this to work? For further context, I’m adjusting a group of 5 lights and was hoping to automate the Inovelli switch via HA and have it directly adjust the light states via the matter binding.

1 Like

Can you share how you setup your binding? I’m really interested in setting this up with my white series switches.

I don’t own any Thread devices, but take a look at this post for some details from someone else who used chip-tool for this: White Series Dimmer (VTM31-SN) - Bug/Enhancement Thread - #12 by Andrew123

There might be something there that helps fix it.

I’m starting to look into this too. There is quite a bit of (older) information in: Matter Bindings [script] - Matter/Thread - Home Assistant Community

Why not just group the downlights in HomeKit and control the dimming that way? I don’t see the advantage of doing it through the Inovelli switch in HomeKit for it to then communicate to the downlights when you can communicate directly with the downlights in HomeKit.

I think every platform has this issue. Insteon has this issue of if you setup scenes which create links between devices, you have to use the actual scene to turn on the group of lights from the hub/automation controller (HA is this in this instance) as if you only turn on the particular switch, the other switch won’t do anything and will be out of state. This was expecially an issue with 3 way switches.

The zigbee integration has the concepts of groups at the coordinator level (ZHA, Z2M) and if you create a group it will create local binding between the physical devices so communication goes direct but in HA you use the group as the switch to control it as a single unit.

A solution I use in HA is for any devices I am going to do local binding on my Innovelli white switches, I create an HA light group and I use that group to control those lights I expect to work together. Another option is to download the innovelli blueprint automation and you point and click what lights are controlled by each other.

Since the local binding is most useful to make stuff controllable (especially smart bulbs with a wall switch) even when HA may be down, the extra step is to group the lights somewhere.

In insteon it was in scenes and you use the scene, in zigbee it was a group in ZHA, Z2M and for now until the matter integration supports groups (if it ever will) you can do this in HA.

The person that suggested you group the switches in homekit as a single entity is essentially proposing the same thing in Homekit, but I have done it in HA and then expose the light group to homekit if I want it there.

Yeah that all makes sense. I want to clarify that I don’t have a scene, though. I have directly bound the switch to the lights via Matter bindings outside of Home Assistant. This means the switch itself directly communicates with the lights without going through HA. The problem is that when the switch is controlled via HA / Homekit instead of physically pressing the paddle, the commands are not sent to the lights. I wonder if there is another Matter binding that must be made for a software press vs a hardware press…

Yeah this is common issue–only physically pressing the switch is bound to the target light, but virtual commands coming from HA aren’t bound. There’s been some discussion around it on the HA discord but there isn’t a consensus as to where the problem lies. Seems like it’s more an issue with matter simply not being mature yet than an issue with the switch itself.

@SuperMega i understand what you have setup. my point about scenes in insteon was that was its way of creating local binding. it created direct records in each device so they can control themselves without a hub.

my other point about it is that in the hub if you just turn on 1 of the switches in the scene (2 devices locally bound) that doesn’t tell the other switch to tell its locally bound device to do anything. local binding only gets broadcast from the physical switch and sending an on command from ha doesn’t trigger a physical local press.

so the solution is to control the group or scene. that is the only way ha will send the command to both places. the only way i know this to be solved is at the physical switch with some kind of option you can configure to tell it to execute local bindings based on virtual control.

that has use cases that break other possibilities. like what happens when you create local binding between 2 switches and also have programs that trigger from those switches. if you turn on one switch from a trigger, local binding turns on the other and that triggers your automation again?

This topic was automatically closed 67 days after the last reply. New replies are no longer allowed.