Introducing Node-RED-Matter: Create Virtual Devices with Ease for the Matter Protocol!

I'm not running in virtual machine :slight_smile:
This is my WIn11 desktop computer

[edit] I do have a virtualbox VM running on the machine but the NR install is running on main machine

I've only see @PdeJ on this thread trying this out with Alexa and their's didn't seem to work either. And they are using plain Pi setup

I'm sorry it's not working, I don't have Alexa so can't really test it, but the matter.js project works with it so I don't see why here it shouldn't :frowning:


I just published 0.2.6 with initial support for aggregated devices / bridges:

1 Like

still no luck with alexa and 0.2.5 here.
but has anyone tried pairing a device with Homeassistant?
The behavior in HA should be pretty similar for everyone.

It still fails for me but at least it seems like its trying to pair the device and the two systems talk to each other.
Node-red-log shows following error when HA is trying to add the device:

2023-08-30 18:12:03.539 ERROR PaseServer An error occured during the commissioning (1/2) Received general error status (0)
    at PaseServerMessenger.throwIfErrorStatusReport (/home/optic/.node-red/node_modules/@project-chip/matter.js/dist/cjs/protocol/securechannel/SecureChannelMessenger.js:91:19)
    at PaseServerMessenger.<anonymous> (/home/optic/.node-red/node_modules/@project-chip/matter.js/dist/cjs/protocol/securechannel/SecureChannelMessenger.js:38:18)
    at Generator.next (<anonymous>)
    at fulfilled (/home/optic/.node-red/node_modules/@project-chip/matter.js/dist/cjs/protocol/securechannel/SecureChannelMessenger.js:10:58)

It would probably make sense to open an issue on the matter.js github repository as they will be able to help more than I can.

I think the best way to report the issue would be to run the DeviceNode.ts example and try to pair to it. This way any problem that may be introduced by my plugin is out.

I'm on Version 0.2.5, not updated yet, with Node.js v 18.17.1.

I can set up a matter-device-node and Alexa recognizes it as a Matter device when asked to "discover new devices" so that I receive a notification on my iPhone to connect via the Alexa App. But it makes no difference as whether I then use the QR code, or the manual pairing code, Alexa fails to connect to the device.

Interesting Home Assistant is now mentioned. I would have thought that was getting to be more widely used then Google Home or the Apple offering. I guess the cloud server concerns are still an issue if using Nabu Casa. Good luck with your Matter node development.

I should have emphasised that Alexa succeeds in discovering the Node-Red-Matter virtual devices, but fails to connect to them and doesn't show them post discovery in the list of devices on the Lexa App. Once discovered those device instances cannot be rediscovered. Hope this helps with understanding of what is happening.

I setup a Home assistant server and I'm experiencing the same, so at least I have a way to reproduce it.

@PdeJ I published 0.2.7 with some improvements around aggregators/bridges. I was able to pair a bridge to Home Assistant both starting from a QR Code generated by Node-RED and one generated by Apple Home (after the bridge was paired to Apple Home first).

I noticed pairing to Home Assistant takes up to 3 minutes, while on Apple Home it's usually instant.

May you test the new version and report back please?


0.2.8 is out with more bug fixes around flows mixing aggregators and devices


I reported some slowness I experienced while pairing on Home Assistant and it looks like HA is doing something wrong, I wonder if Alexa is doing the same?

No Joy with 0.2.8 and comes up with the following

2023-08-31 16:32:43.411850: W tensorflow/core/framework/cpu_allocator_impl.cc:80] Allocation of 8640000 exceeds 10% of free system memory.
2023-08-31 16:32:43.469276: W tensorflow/core/framework/cpu_allocator_impl.cc:80] Allocation of 8640000 exceeds 10% of free system memory.
2023-08-31 16:32:43.493841: W tensorflow/core/framework/cpu_allocator_impl.cc:80] Allocation of 8640000 exceeds 10% of free system memory.type or paste code here

I've reverted back to 0.2.5 which doesn't report above, and retested. I may have been mistaken about the 'discovery', on reflection that may have been another device being found that flashed up a notification on my iPhone, since I am unable to reproduce that behaviour.

The Tensorflow message is unrelated to my plug-in.

Sorry was trying to respond in haste, without looking at the actual context of the message. I'm have one other flow on the pi which uses a TensorFlow.js node to run CoCo for object recognition.

alexa can see the device now, but cant connect it.
Home Assistant tries to add it and still gives this error as i mentioned yesterday.

ERROR PaseServer An error occured during the commissioning (1/2) Received general error status (0)
    at PaseServerMessenger.throwIfErrorStatusReport (/home/optic/.node-red/node_modules/@project-chip/matter.js/dist/cjs/protocol/securechannel/SecureChannelMessenger.js:91:19)
    at PaseServerMessenger.<anonymous> (/home/optic/.node-red/node_modules/@project-chip/matter.js/dist/cjs/protocol/securechannel/SecureChannelMessenger.js:38:18)
    at Generator.next (<anonymous>)
    at fulfilled (/home/optic/.node-red/node_modules/@project-chip/matter.js/dist/cjs/protocol/securechannel/SecureChannelMessenger.js:10:58)

You said it works for you in HA.
What Version did you try it with?

I am on the most recent version, maybe its a general issue with the latest HA and matter.js?
Home Assistant 2023.8.4
Supervisor 2023.08.1
Operating System 10.5
Frontend 20230802.1 - latest

I just tried 0.2.8 and I asked Alexa to discover devices and it said it had found a Matter light :slight_smile:

But when I go into the node configuration - I don't see any QR or numeric code anymore

I see there's a problem with the rendering of that config page, do you see any errors in the Node red console or the browser console?

uninstalled/reinstalled and added a Matter Server this time

Pairing QR code there this time

log

31 Aug 21:28:25 - [warn] [matter-server:282c520cb60a82c5] Not all devices were added to the server, starting anyway but in a potentially unstable state
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] Starting matter server
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] Connecting all commissioning controllers
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] Matter server started
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] Added commissioning server for 62243ddd5ecae88d
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] All related nodes added (1/1)
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] Starting matter server
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] Connecting all commissioning controllers
31 Aug 21:28:25 - [info] [matter-server:282c520cb60a82c5] Matter server started

No errors in browser console
Couldn't pair from Alexa

To cut a VERY long story short, upgraded to NR 3 - and Nodejs 18... so now Im looking in here and wondering why as I want it to work with my Google Home Speaker - in the upgrade I lost the use of the node-red-contrib-eWelink nodes and gained this - comment suggesting not doing much with Google Home - oh well... at least it pushed me to upgrade Node-Red from v2 and nodejs from v14.

I'm glad someone else has got that far. I was able to do the same on v0.2.5 but earlier today I couldn't reproduce the finding on either 0.2.5 or or 0.2.8!

Reading your @cymplecy experience I had another go and this time I was once again successful as far as discovering a device and failing to connect. This time I did not associate a server with the node before attempting discovery, which seems to work.

I get the impression that once a matter server starts then the devices become undiscoverable, and this would seem to explain why I could not reproduce their discovery earlier today.

Without a server the accessory cannot work. Make sure each device has a server or an aggregator assigned.

I noticed something off in the logs you guys provided, I'll make some changes to ensure everything runs in the right order today (unless the logs came from 0.2.5 and then I already fixed the issue)

What version did you install?