Now that I’m done reviewing the latest Matter devices from Nanoleaf, it’s time to turn my attention back to Home Assistant. Since I haven’t taken a deep dive on this open source smart home platform in a few years, I recently set it up on a spare Raspberry Pi. Aside from a simpler setup experience, I’m liking the new dashboard, which this week added new user interface designs for a number of devices.

But what I really wanted to sink my teeth into next is Matter support on Home Assistant. It’s in beta, and there are disclaimers that things can break when using it. However, after getting some hands on time with the Matter beta, I’m impressed!
To add the Matter beta to my Home Assistant instance, all it took was a single click from this support page. By clicking the “Add Integration” button, Matter support was added.
Interestingly, at least to me, is that this integration installs a Matter server on the local server, i.e.: my Raspberry Pi.
In a sense, this turns Home Assistant into a Matter controller of sorts. While my Pi doesn’t have a Thread radio, it can communicate over Wi-Fi to other Thread routers using Matter specified data.

After that, I followed the standard Matter process of linking or sharing my currently commissioned Matter devices in my smart home. Note that currently, you have to use the Home Assistant mobile app; you can’t add Matter devices in the web dashboard.

To attach Matter devices to another platform, Apple HomeKit uses a sharing code while Google Home provides a QR code or a pairing code. Using these with the Home Assistant mobile app pulled them into this platform’s “fabric”.
Surprisingly, I hadn’t heard that term before, but it makes sense. Here’s how the Home Assistant’s Matter page describes it:
“Each Matter network is called a fabric. Each home automation controller that controls Matter devices has its own fabric. You can add devices directly to the fabric of your Home Assistant instance, or share them from another fabric (ie Google, Apple) to Home Assistant’s fabric.”
Regardless of the nomenclature, I quickly provisioned three Matter devices and set them up in Home Assistant in a “Matter” area for testing:

Controlling any of the Matter devices with the Home Assistant dashboard or mobile app works just as well as in Apple Home or Google Home. Response times are quick and I haven’t had a single issue with any commands.
I can even change the light colors and color temperature of the two Nanoleaf Essentials Matter products; something that wasn’t possible just two months ago. This functionality was added in the March software update for Home Assistant.
Here’s the Nanoleaf Essentials Matter bulb dialog, for example:

As I noted towards the beginning of this article, I’m quite impressed so far by the Matter beta in Home Assistant. Perhaps what’s really astonishing is the pace of progress here. While we’ve seen other device makers and platforms postpone Matter implementations, Home Assistant is chugging forward with increased momentum.
Aside from the updated Matter support I’ve shown, there’s also a new Thread panel to view your Thread networks; I mean “fabrics”, for example.

Matter bridges are now supported as well, so if your Philips Hue Bridge has the Matter update, you can connect it to Home Assistant over Matter. No, I haven’t yet gotten this update on my bridge, which currently requires a developer account.
I can even see the JSON data from my Matter devices and Thread networks. On my other platforms, Matter is a basically a black box, so I appreciate this informational insight.

From where I stand, Matter is currently more exciting on Home Assistant than it is on the other platforms I use.
Yes, it helps when you’re talking about an open source project with a technically talented and passionate community. Regardless, it feels like Home Assistant is running laps around the “big names” in the smart home space right now.
Interesting report: thank you! I especially appreciate the level of detail you went into, it makes it very clear.
I was just saying today that I expect Amazon won’t turn on full matter support until everything is easy and pretty much invisible to the end customer, so right now we are dependent on the power user projects, including home assistant, to see how some of the features work in practice.
The following is supertechnical, but I do think the definition of “fabric” is a little different than what you have described. It’s a term that the Thread group has used for a long time to deal with the fact that the same security key is shared among devices on completely different networks, like a Wi-Fi device and a thread device. Or even just between two thread partitions that happen to be on different frequencies. They called it “fabric“ because devices on different networks could be woven together using the same security key.
(note that it’s not the networks themselves being woven together, it’s in the application layer above that. You could have two Wi-Fi smart plugs on the same Wi-Fi network, but only one of them is matter-compatible, and only that one would participate in the “fabric“ established by the Matter Controller acting as admin.)
Here’s the official thread border router white paper, which explains:
https://www.threadgroup.org/Portals/0/documents/support/ThreadBorderRouterWhitePaper_07192022_4001_1.pdf
“In matter, devices are paired to a controller known as an admin. Devices become interoperable when they are paired with the same admin. {this is when the security key is exchanged.} examples of Admins are popular smart home platforms and apps that are interested in configuring, controlling, and listening to smart home devices. Groups of such devices are known as a “fabric“ of devices, since the IPv6 messages can be woven across many different physical networks, like Wi-Fi, thread, and ethernet.
This woven nature of matter fabrics is why thread border routers are so crucial to the success of matter with Thread devices, in particular. In principle, a thread mesh without a border router can use matter if configured properly; however, in practice, a border router is required to enable the majority of use cases. This is especially true today, since the vast majority of smart speakers, smartphones, and computers do not have direct Thread capabilities, so they must communicate with Matter over thread devices through a thread border router.”
So a Matter “fabric” is all the devices that are allowed to send messages to each other, regardless of their specific network, because they have all been enrolled to the same admin, and are using the same security key.
the “multi admin” feature in matter means that one device can be enrolled to multiple fabrics at the same time. Note that it might be on the same WiFi or Thread network the whole time, but it’s enrolling individually with different admins, like once with Apple home, and once with home assistant. Again, that’s because matter is in a layer above the transport network.
So it’s not that the thread with matter smart plug is joining a new network when you enroll it with a new controller. It’s joining a new fabric. It’s on the same physical network it was before, but now it has permission to exchange messages with all of the Matter devices that have been enrolled with that new admin, regardless of their individual networks. So that’s why we needed a new term, in this case “fabric,“ because we are talking about a Message exchange method which operates above the level of the physical Networks.
I hope that’s not too technical. Again, all of this will be invisible to most people once matter is fully deployed. But some people may find the engineering details Interesting.
Thanks, JD! You’re absolutely correct and this is a great explanation of Matter fabrics vs networks. I also received a message from Paulus at Home Assistant telling me that I wasn’t quite right on this topic. I’ll make a correction in the post and point folks to your detailed comment here. Cheers!
Two more links for those who like to get REALLY deep into the technical details…
Nordic Semiconductor uses the term “operational network” synonymously with “fabric” and Cisco Networks sometimes uses “virtual network” and both mean the same thing: the set of devices which are allowed to exchange messages based on their IP addresses, even if they are on different physical networks.
When you add a new Matter device to your account, you are “commissioning it“ to the specific matter fabric controlled by that Administrator. But in order to simplify adding new devices, the matter specification also allows that administrator to add the device to the appropriate physical Network (WiFi or Thread at this time) so that the end-user doesn’t have to first add it to the Thread/WiFi network and then add it to the matter fabric. It’s two separate steps, one at the physical layer, and one at the application layer, but the end user only has to make one request, and the administrator takes care of everything.
The following article from Nordic semiconductor details how this two-step process works behind the scenes:
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/matter/overview/commissioning.html#ug-matter-network-topologies-commissioning
So the device gets added to a physical Network, and then gets added to the virtual fabric, but this might all look like one request to the end-user.
And then the following article from the same source explains what happens behind the scenes if you want to add one device to two different fabrics, for example, to google home and to home assistant.
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/matter/overview/multi_fabrics.html
Again, these are highly technical articles, and most people won’t be interested in this level of detail, but it does explain why it’s so easy to get confused.
Your new Thread with Matter device will be added to a physical thread Network (which might have multiple thread border routers) and it will be added to a virtual Matter fabric.
Then, when you go to add it to a second platform, it will be added to a different virtual fabric, but it stays on the same physical Thread Network.
From a network engineering standpoint, the interesting thing is that the two fabrics don’t have to use the same security codes. It’s just that the end device becomes a trusted member of each of the fabrics.
I think you’re lying, since you first state you haveny looked into HA in a few years, but then state “something that wasn’t possible just two months ago”. To know this you must have digged just as deep.
The reason I know this is because I reviewed the release notes for the last two software updates searching for any Matter references. It took me all of five minutes. Cheers!
I’m excited to see the progress being made with the Matter beta for Home Assistant! It’s great to have a unified standard for smart home devices that can work across different platforms. Can’t wait to see how this develops further.
I love that my thread devices are online through apple TV but are in all my other non thread Matter controllers including Home Assistant. #buildwithmatter
The phone is used to commission because you need to be within Bluetooth range of the device. You can’t carry the RaspPi around. It should be possible to use the device sharing code (share from Apple Home or Google Home) at the web console if they have implemented that.
Thread has nothing to do with Matter. Thread is just another IP network like Wifi and Ethernet. Matter simply runs on top of Thread like it runs on top of Wifi.
Fabrics are how Matter implements multi-vendor support. Each vendor lives on its own fabric. Fabrics are encryption partitions. For each house and each vendor there is a Root Certificate Authority (RCAC) which issues the encryption certificates (NOC – node operational certificate) for the devices. So if you have a device on three vendor fabrics (Google, Apple, HA) it has three NOCs installed.
https://www.youtube.com/watch?v=bnHbJLMGgTs&ab_channel=ConnectivityStandardsAlliance
The NOC is generated and installed when you commission the device.
I’m wondering if you did anything special to get Nanoleaf Matter bulbs in HA. Because I just got 3 of those bulbs, but I could only add them in HomeKit, couldn’t share them to HA.
I have successfully setup Eve Energy before for both HomeKit and HA. I tried to do the same for the Nanoleaf Matter bulbs but the pairing process when adding to HA would always fail.
I’m digging into it but want to know how the process of pairing Nanoleaf Matter bulbs to HA went for you.
Same problem here, did you ever figure it out
I’ve been impressed with Matter support on HA so far. I just purchased the Matter-enabled version of Eve’s motion sensor and, after initially setting the unit up with Google Home, I linked the sensors (motion and light) to Home Assistant and they work fine. And, unlike Google Home which doesn’t currently seem to allow the sensor to act as an automation trigger, the sensor works well as both a trigger or condition in HA automations. Worth the wait.