This is a quick update for anyone using Home Assistant and White Series switches.
Next week, (probably a week from tomorrow ie. around June 23rd), Home Assistant will release Revision 9.0.0 of the Home Assistant Matter Server App which encompasses version 1.0.0 (now 1.1.0) of the new matter.js server.
This will be the first version of the HA Matter Server App where the default (and only) matter stack in HA will be the new matter.js based server. The “old” Python-based stack (which has not been updated in a year or so) will be removed.
The new matter.js server stack, (which is based on the latest Matter 1.5 specs) has many, many fixes and enhancements as well as a Matter visualization tool that shows the topology of your Thread network.
My experience (I was just one of many, many beta testers) is that the new stack is a lot faster and has fewer reliability issues than the old (Python) one.
Note: HA will be releasing an FAQ on this that answers many more questions than this short post and here I’m just trying to give you some quick highlights.
Note 2: The content of this post has not been specifically approved by the HA team, though I did discuss what I planned to say in this post with the lead matter.js developer and he had no objections to it.
First Recommendation: - ensure that you take an HA backup (including all apps) before the install.
Second Recommendation: - make sure that when HA updates the Matter server that it takes a backup of the old 8.5.0 server first. This is particularly important if you have not previously been part of the matter.js beta program.
OK… what does this mean to you?
If you were already part of the matter.js beta program
Not a lot; on first start after the upgrade, HA will remove the old Python server and clean up it’s database. Expect to see a slightly slower startup if you have a large number of Matter devices. You will see this even if you have matter.js server 1.0.0 installed (under the beta program) since HA still has to clean house.
If you were not part of the matter.js beta program
First a warning; The RAM requirement for HA has been 2GB (minimum) and 4GB or more (recommended) for quite a while. I know however, that there are a number of users out there “skating by” on 1GB Pi3s, Pi4s etc.
The matter.js server uses a little more RAM than the Python server, so if you have a 1GB HA platform this change may “push you over the edge” as far as RAM usage is concerned. This is dependent on how many matter devices (WiFi and Thread) that you have and what else you are running on HA. However, you may well want to consider moving HA to hardware with 4GB of RAM (or more) before the upgrade.
On first run after the update, the matter.js server will install itself and will port each of your devices from the old Python framework to the new matter.js server one at a time (Matter pairings and all of the rest of the info for your devices will be retained).
For lower CPU power systems, and where there a lot of Matter devices to move this will take a while so expect the first startup to be rather slow. If you are going to have memory issues this is probably where it will show first. If you watch the matter server logs you will be able to see the matter.js server migrate each of your devices one at a time and then start up the provisioning process to bring up each of the devices.
My recommendation is that unless the conversion stalls out completely (probably due to lack of memory) give it time rather the restarting things in mid flow.
I will post a link to the official upgrade FAQ when it is released.
I updated to the beta only a few days ago, and it is worlds better than the python Matter server. It finds Nodes quicker, is less prone to time outs, has node naming inside the server web interface, and of course the Thread Network Mesh Visualizer.
Yes… just goto: Settings => Apps => Matter Server and then click on “Configuration” at the top of the page. Then select the “Use the latest beta version” option and then “Save”. Accept the restart request and the server will load the beta matter.js version.
A “late breaking” update… the matter.js team has just added a much improved tool for handling Matter binding. It adds the ability to clean up existing bindings (fix ACLs) and also to remove “stray” ACLs left behind by the Python server. The UI for adding a new binding is also much improved. This will be released as part of the HA Matter App 9.0.0 next week (assuming no issues turn up before then) and is available as beta 1.1.0 now.
See screenshots below (Note: to have Node names displayed you have to add them via the Matter Server UI, they will then persist through power cycles as long as the device firmware retains the name… all Inovelli devices do (as would be expected) some (like a number of Aqara devices) do not:
As it happens, I was planning to factory reset a VTM36 canopy this afternoon since it had “stray” ACLs (curtesy of the VTM35 beta binding issue). The new UI was able to remove them instead
First, thank you for posting this. It’s extremely helpful.
Second, while you mentioned the memory issues; I want to make sure people don’t ignore this. I am running HA Yellow and had 2GB of memory. My thread network was horribly unstable with devices dropping constantly, the entire network crashing, etc for weeks. Finally realized it was due to memory issues, upgraded to 8GB (although 4GB would’ve probably worked just as well) and my thread network has been rock solid ever since. I am running matter.js. I highly recommend that everyone review their current memory usage before upgrading and if you are close to max, upgrade memory BEFORE you upgrade matter.
It seems that the new matter.js stack handles networking differently than the old Python based stack. If you have a complicated/not quiet matter-compliant network configuration you may experiencing some issue. For example, I run matter.js in a container and my TBR is on a different VLAN, and while the python matter server was able to pair new devices, I haven’t figured out the tweaks needed to pair new devies with the matter.js server. I do not suspect a bug with the matter.js server, but instead suspect a network configuration that happen to work before even though it was out of spec in some way.
Otherwise, I completely agree that the matter.js server appears to be more stable than the Python based version.
put your matter.js container on the same vlan. I run matter.js in docker using a macvlan that puts the matter server on the same vlan as my Apple TVs acting as TBR. Also, it is almost always more reliable to put your phone on the TBR VLAN when pairing a device. My setup is HA is on a Server VLAN, TBR and MATTER.JS on a trusted IOT VLAN, all wifi matter devices on an UNTRUSTED IOT VLAN. HA can talk to both VLANS, Trusted VLAN can talk to UNTRUSTED and UNTRUSTED can’t talk to anyone. Home phones and devices are on a different VLAN that can talk to everything as well.
The HA Matter Server App version 9.0.2 was released this morning. You will see it offered by HA sometime over the next few hours. To reiterate if your HA platform has less than 2GB of RAM or you have a large number of Matter devices you should consider updating to a platform with more RAM (4GB min) before updating.
Here is a link to the FAQ published by the matter.js team.
Note, one change from my original post. If you were already using the matter.js server as part of the beta program the beta flag will stay switched on. So if you want to stay part of the beta program then you do not need to do anything. If however, you do not want to stay part of the beta program and only want to get future updates to the matter.js server via HA Matter Server App updates then you will need to turn off the “Use the latest beta version” flag on the Matter Server configuration page and click on “Save”.
If you have a large number of devices… before doing the update, turn off the app “Watchdog” in the Matter Server App main page. That way, if the initial start (during the device migration) takes “a while” the Watchdog will not restart the Matter App in mid-conversion. After the first startup you can turn the Watchdog back on.
If you have the “Use the latest beta version” flag set to off moving forward, the matter server will start up a little faster (than if the flag is on) since the server does not have download build tools and download the latest beta and then compile it. It also means that the matter server can startup correctly even if the Internet is not available on startup.
Note: both of these tips came from the matter.js developers this morning.