Node-red-matter-controller is giving me a headache

Hi Folks,

I've started some testing with node-red-matter-controller from @sammachin and after some trial and error, I have it working, but the experience is a bit flaky.

TL:DR -> After moving into a new home, I started to deploy smart lightbulbs in the lamps.
Now, each lamp could have more than one lightbulb and for the smart lightbulb(s) to be integrated into the smart home (using google home / MATTER) they do need a constant power connection. The question: how to integrate the physical light switches in the room, that would normally operate the power to the lamps but still have the lamps available in google home at the same time?
My solution: I've attached a shelly mini behind each switch and configured the shelly to disconnect the physical switch input from its relais; then I wanted to connect each lamp/light-bulb with a secondary matter-controller, using node-red-matter-controller and use the switch-input from the shelly to send a toggle command to the lamp/lightbulb when the switch input from the shelly changes (using mqtt for that integration).

Here are my findings/issues so far:

  1. Being aware that MATTER is relying on IPv6, I did set-up a VM on my NAS (unraid, KVM) with Node-Red an a dedicated, physical Ethernet connecetion on passthrough. However, only with latest Ubuntu 24.0.4 LTS the network connection seems to be stable. With Debian 13, for example, when deploying the matter-controller the NR Web-UI gets disconnected and the Ethernet port is being forced to reconnect - which results in "Server unavailable" Messages from NR Web-UI and the matter controller connection to already commissined devices to disapear. I did not find a pattern as to when that happens, but it is definitly linked to using the DeviceManager Node in commissioning operation. As said, Ubuntu LTS seems stable.
  2. Using the DeviceManager Node, when setting up a Contoller - the Name given in the "Name" parameter field won't stick - the result is always, that there is only one "Contoller" available, named "Controller".

  3. I had a test flow running, with a single light bulb (a new IKEA MATTER bulb) and integrated the shelly input via mqtt, being able to send toggle commands to the light bulb, either via inject node or via the shelly input. This was doing fine for the last week.
    However, today I installed new lamps in my home and had to disconnect the power (via the electric fuse) in that room. This also included to shutdown the WiFi for some time, but not the NR-VM that is running the working flow.
    After the installation, when power and wifi was back online:
    • the light buld still worked with google home, without problems - it was also, according to google home. still commissioned to the secondary NR-controller but
    • the switch / NR flow did not work any more (claiming, that the device was not connected).
    • the Manager Node, however, would still report the device ID as available, with a "list device" operation
    • after a restart of the VM and hence the NR flow, the situation did not change
    • after a "get device" operation inside the DeviceManager Node, the Node reported the device details just fine

      ... and the toggle command suddenly started working again :zany_face:
    • in the command node, however, the device is not listed anymore
      (although the command for the formerly configured device still works) :grimacing:

I am worried and confused, as to how I would go about to enhance my flow with the other 20+ lightbulbs :thinking:

Any comments / suggestions/ help?

P.S.: Sorry for that long post, but I have no clue as to the inner works of MATTER.

Just to check - you did select the circle arrows to update the Device & Cluster dropdowns?

I also think that once the Controller has been connected to Matter you cannot change the name. I seem to remember reading about it but I cannot find where. There are a few discussions about the Matter controller & bridge if you search the forum with Matter

1 Like

Yes, I used the circles, after I first ran the commissioning sequence on the Controller.
By then, everything was there/selectable, but not after the glitch with the power loss and restart/get devices run on the VM later.

I am fine to use only one controller but the loss of connectivity, while the primary controller Google Home is still working flawless and also thinking that the NR-controller is commissioned as well/still but the NR-command is telling that the device is not connected, is not hoping for a good WAF.

I'd rather know if the problem is on my side or on the state if the current implementation of the nodes, before I continue using it in "production".
An Alternative would be to look into the Matter -Server Implementation from HA, but that is a bigger, not lean solution I'd rather avoid