Hi. I am trying to get one of the IKEA matter devices connected. I have a large zigbee network with zigbee2mqtt and that works very well, but I am trying to get a weatherproof door sensor to tell if my pool cover is open or closed, and IKEA made a weatherproof zigbee version, but it drains it's battery very rapidly. They have a new Matter compatible sensor that supposedly is much better, and that's why I am trying to make this work.
I have a locked down home network with multiple VLANs. No external IPv6 connectivity is allowed, and I had no IPv6 allowed on my internal networks. I do have a large number of Google home devices, and they run on a separate VLAN. They do IPv6 chatter on the VLAN, but it's not supposed to be able to escape. I use PFsense as a router, and IPv6 forwarding is blocked. Avahi runs with IPv6 support disabled.
I am running 2026.5.4, and I have 2 ethernet interfaces, running HAOS as a guest on a Proxmox Host. The main interface has IPv4 only, and one that has IPv4 and IPv6 (automatic) enabled on a separate VLAN with an SMlight SLZB-06M flashed as a thread router.
I have a set of BLE proxies across the house that covers the area well. They primary pickup data from air quality sensors, but they seem to function well.
I have the OTBR thread app running on HA, and it's interface is set to use the IPv6 enabled interface. It connects correctly to the SMLight Thread instance, and seems to work fine. The thread menu on HA sees that thread PAN ID and it's selected as preferred. It does see the Google PAN and 2 border routers devices, and I don't understand why because it's on an ipv4 only VLAN that HA does not have an interface on.
The matter app doesn't have an explicit interface selection field like the OTBR app does. It tries to use the primary interface, even though IPv6 is disabled on it. I have try to add the parameters for matter startup as an extra server arg ""--primary-interface enp6s19", but the matter app ignores this.
Is there a way for me to enable the matter server to use the IPv6 interface instead of the IPv4 only network interface?
What I have seen from the developer's, they state that in general the Matter Server does not need a primary interface to operate on as it will use which ever interface is appropriate so in general it ignores the primary interface....However, there is one corner case that deals with commissioning a Matter WiFi device using an Android app in which case Android only provides a link-local address of the device to the Matter Server, so the Matter Server doesn't know which interface to apply it to, so it guesses by picking the primary interface to communicate with that device.
I don't understand this. When the server comes up, it says which interface it's listening on. And that interface has no IPv6 support. I get nowhere trying to either manually or through android add a device.
If I change the system primary interface to the one that has both IPv6 and IPv4, then it sees the device I am trying to add, but fails for a different reason. But that changes how I have configured ACL's in the network, so I don't really want to change the network configuration for this.
If matter requires IPv6, why would it pick an interface without IPv6 support to start up on? And why does the OTBR app allow you set an inetrface while the MAtter server does not?
My understanding is that the Matter Server listens on all interfaces and that the primary interface is just for the corner case.
Here is something else too .... I don't use the Python version anymore, but I can say that for the Matter.js version (i.e. Beta version) it shows the following in its log: 2026-05-22 13:23:07.361 WARN MatterServer WebSocket server is listening on all network interfaces. Use --listen-address to restrict access. Ensure your environment (firewall, network) prevents unauthorized access.
So that I understand, when you say "system primary interface", do you mean the one specified using the --primary-interface or do you mean something else?
I think its an architectural issue with HAOS. The Matter Server asks the HA Supervisor for the primary interface, and the Matter Server picks from the interfaces that have IPv4.
BTW, if you are using the --primary-interface enp6s19 and the Matter Server is coming up saying the primary interface is something else, then seems to be a bug or it didn't like the environmental config, but here is a reference.
Thanks. Yes, I use the --primary-interface argument as part of the matter server extra arguments option to select the interface that has both IPv4 and IPv6 configured on it, and it's clearly ignoring it. I will file a bug.
It may listen on all interfaces, but on startup I see this in the log:
[18:26:59] INFO: Using 'enp6s18' as primary network interface.
[18:26:59] INFO: Successfully send discovery information to Home Assistant.
That is the IPv4 only interface. And I have this in the config
matter_server_args: "--primary-interface enp6s19"
I'll file a bug.
I hate all this IPV6 nonsense. Why did they make this so bloody complicated? There is no need for IPv6 in the home - it adds no value, only complexity...
Would like to understand this as well - I had to create another network adapter so HA can talk to my Apple TV for Thread devices - the problem with both adapter enabled I have some strange problem WiFi devices - I’d like to dedicate matter server to use the specific interface.
How do you configure --primary-interface? Don’t see there is any configuration option for matter-server. Thanks