🚀 Matter & Gladys Assistant: Here we go!

I’m testing your image but I have an issue detecting Matterbridge.
In the Gladys logs I have:

2025-04-18T17:11:24+0200 \u003cinfo\u003e index.js:26 (Object.start) Matter started

2025-04-18 17:11:24.871 DEBUG  MdnsScanner          Adding operational device 35EC047701FDF413-0128075BC537D05C._matter._tcp.local in cache (interface ovs_eth0, ttl=120) with TXT data: SII: 500 SAI: 300 SAT: 4000 T: 0 ICD: 0

2025-04-18 17:11:24.873 DEBUG  MdnsScanner          Added 1 IPs for operational device 35EC047701FDF413-0128075BC537D05C._matter._tcp.local to cache (interface ovs_eth0): type: udp ip: 192.168.1.xxx port: 58410

@pierre-gilles can you shed some light?
For info, my Matterbridge is on a different IP (yyy) and on port 8283.

After checking the logs, I have much more info (different ports, IPv6, etc.), I’ll send that to you directly if you agree.

EDIT: I was able to gather a bit more info from the service startup

Summary
2025-04-18T17:59:36+0200 \u003cinfo\u003e index.js:18 (Object.start) Starting Matter service

2025-04-18T17:59:36+0200 \u003cinfo\u003e index.js:24 (Object.start) Matter is enabled, starting...

2025-04-18T17:59:36+0200 \u003cinfo\u003e matter.init.js:17 (MatterHandler.init) Matter.init: storagePath: /var/lib/gladysassistant/matter

2025-04-18 17:59:36.733 DEBUG  NodejsChannel        Socket created and bound remoteAddress: undefined:undefined localAddress: :::34569

2025-04-18 17:59:36.733 DEBUG  NodejsChannel        Socket created and bound remoteAddress: undefined:34569 localAddress: 0.0.0.0:34569

2025-04-18 17:59:36.734 WARN   Commission~ontroller BLE is not supported on this platform

2025-04-18 17:59:36.742 INFO   CertificateAuthority Loaded stored credentials with ID 0

2025-04-18 17:59:36.742 INFO   MatterController     Creating new fabric

2025-04-18 17:59:36.751 DEBUG  Fabric               FabricBuilder setOperationalCert: nodeId=15793203375871523453, fabricId=1, caseAuthenticatedTags=undefined

2025-04-18 17:59:36.760 DEBUG  DeviceAdvertiser     Announcing fabricIndex: 1 fabricId: 1

2025-04-18 17:59:36.775 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: ovs_eth0

2025-04-18 17:59:36.775 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: tun0

2025-04-18 17:59:36.776 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker-e064cf4f

2025-04-18 17:59:36.776 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker-f3495583

2025-04-18 17:59:36.777 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker0

2025-04-18 17:59:36.777 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker-b6cf5548

2025-04-18 17:59:36.778 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker9338364

2025-04-18 17:59:36.778 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker4a5fb01

2025-04-18 17:59:36.779 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: dockerf2bdb97

2025-04-18 17:59:36.779 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker5556e90

2025-04-18 17:59:36.780 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: dockereaeceda

2025-04-18 17:59:36.781 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker0b3851b

2025-04-18 17:59:36.782 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker9e42dee

2025-04-18 17:59:36.782 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker9713203

2025-04-18 17:59:36.783 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker7e9e39f

2025-04-18 17:59:36.784 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker2e58836

2025-04-18 17:59:36.784 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker4be77fa

2025-04-18 17:59:36.785 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker777be96

2025-04-18 17:59:36.786 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-DB2CBACB5C527A7D qname: 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local port: 34569 interface: docker6059a87

2025-04-18T17:59:36+0200 \u003cinfo\u003e matter.init.js:36 (MatterHandler.init) Matter controller started

2025-04-18T17:59:36+0200 \u003cinfo\u003e index.js:26 (Object.start) Matter started

2025-04-18 17:59:36.837 DEBUG  MdnsScanner          Adding operational device 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local in cache (interface ovs_eth0, ttl=120) with TXT data: SII: 500 SAI: 300 SAT: 4000 T: 0 ICD: 0

2025-04-18 17:59:36.838 DEBUG  MdnsScanner          Added 1 IPs for operational device 35EC047701FDF413-DB2CBACB5C527A7D._matter._tcp.local to cache (interface ovs_eth0): type: udp ip: 192.168.1.xxx port: 34569

@mutmut How did you start Gladys? Are you using network=host?

@mutmut I wanted to be sure everything works so I did a test on my development mini-PC at home, and it works fine!

I started Gladys like this:

sudo docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--cgroupns=host \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=80 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:matter-integration

(It’s just the docker run from the site modified with the correct image)

Then, I ran matterbridge like this:

sudo docker run --name matterbridge \
  -v /root/matterbridge/docker_data/Matterbridge:/root/Matterbridge \
  -v /root/matterbridge/docker_data/.matterbridge:/root/.matterbridge \
  --network host --restart always -d luligu/matterbridge:latest

(Of course, the /root/matterbridge/docker_data volume you should change to the local path on your system), on my system the user is « root Â» so I just create a matterbridge folder:

Then in the Matterbridge interface (the URL is in the Matterbridge logs, on my system it’s http://192.168.0.99:8283/), I find the pairing code:

I copy-paste it into Gladys:

And then I have all the devices:

@Terdious I used the JSON you sent me to integrate all your devices, and I noticed there was a temperature sensor :eyes:

Result: integrated in 5 minutes, tests included (and without AI :grinning_face_with_smiling_eyes:)

:backhand_index_pointing_right: See the commit

I just pushed a new Docker image with support for temperature sensors.

To update, as usual:

sudo docker pull gladysassistant/gladys:matter-integration
sudo docker stop gladys
sudo docker rm gladys

Then restart the container with the same docker run command as before.

1 Like

@mutmut Since your use case is roller shutters, I looked into roller shutters in Matter!

As with everything else, it’s pretty well done and well documented.

I’ve pushed an update to the image that manages the roller shutters :slight_smile:

Tested with Matterbrige but would welcome testers with real hardware :smiley:

1 Like

Thanks @

In Docker Compose on my Synology via a project.
The only thing that differs from your docker run is --cgroupns=host and I am indeed on network=host
![Screenshot 2025-04-20 at 17:39:28|638x500](upload://yfNxnr8z2nINZ0yE5oIuyf

@pierre-gilles
j’ai suivi ton tuto pour l’intĂ©gration mais ça ne fonctionne toujours pas :

  • j’active l’intĂ©gration Matter
  • je copie/colle mon « sharing code Â»
  • j’ajoute et 
 rien.

Par contre j’ai plus de choses dans les logs et je vois que ça essaye de discuter en IPV6, c’est normal ?
Je te poste le log de la manip ci-dessus :

Logs
2025-04-20T17:27:48+0200 <info> index.js:36 (Object.stop) Stopping Matter service
2025-04-20 17:27:48.651 INFO   InsecureSession      End insecure session insecure/5319374307222107336
2025-04-20 17:27:48.652 INFO   InsecureSession      End insecure session insecure/538266064137479259
2025-04-20 17:27:48.653 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: ovs_eth0
2025-04-20 17:27:48.655 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: tun0
2025-04-20 17:27:48.657 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker-e064cf4f
2025-04-20 17:27:48.660 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker-f3495583
2025-04-20 17:27:48.662 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker0
2025-04-20 17:27:48.665 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker-b6cf5548
2025-04-20 17:27:48.668 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker9338364
2025-04-20 17:27:48.670 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker4a5fb01
2025-04-20 17:27:48.672 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: dockerf2bdb97
2025-04-20 17:27:48.674 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker5556e90
2025-04-20 17:27:48.676 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: dockereaeceda
2025-04-20 17:27:48.678 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker0b3851b
2025-04-20 17:27:48.680 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker9e42dee
2025-04-20 17:27:48.682 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker9713203
2025-04-20 17:27:48.685 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker7e9e39f
2025-04-20 17:27:48.688 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker2e58836
2025-04-20 17:27:48.690 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker4be77fa
2025-04-20 17:27:48.692 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker6059a87
2025-04-20 17:27:48.695 DEBUG  MdnsServer           Expiring records instanceName: 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local port: 33916 netInterface: docker1a4141b
2025-04-20 17:27:48.703 DEBUG  MdnsScanner          Removing operational device 35EC047701FDF413-AE1F32B0DFA9259F._matter._tcp.local from cache (interface ovs_eth0) because of ttl=0
2025-04-20T17:27:49+0200 <warn> handleMqttMessage.js:115 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt device prise_02 not configured in Gladys.
2025-04-20T17:27:56+0200 <warn> handleMqttMessage.js:115 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt device relais_clim not configured in Gladys.
2025-04-20T17:28:01+0200 <warn> handleMqttMessage.js:115 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt device relais_clim not configured in Gladys.
2025-04-20T17:28:06+0200 <warn> handleMqttMessage.js:115 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt device relais_clim not configured in Gladys.
2025-04-20T17:28:43+0200 <info> index.js:18 (Object.start) Starting Matter service
2025-04-20T17:28:43+0200 <info> index.js:24 (Object.start) Matter is enabled, starting...
2025-04-20T17:28:43+0200 <info> matter.init.js:17 (MatterHandler.init) Matter.init: storagePath: /var/lib/gladysassistant/matter
2025-04-20 17:28:43.321 DEBUG  NodejsChannel        Socket created and bound remoteAddress: undefined:undefined localAddress: :::35697
2025-04-20 17:28:43.322 DEBUG  NodejsChannel        Socket created and bound remoteAddress: undefined:35697 localAddress: 0.0.0.0:35697
2025-04-20 17:28:43.323 WARN   Commission~ontroller BLE is not supported on this platform
2025-04-20 17:28:43.331 INFO   CertificateAuthority Loaded stored credentials with ID 0
2025-04-20 17:28:43.333 INFO   MatterController     Creating new fabric
2025-04-20 17:28:43.342 DEBUG  Fabric               FabricBuilder setOperationalCert: nodeId=6657403808540653605, fabricId=1, caseAuthenticatedTags=undefined
2025-04-20 17:28:43.351 DEBUG  DeviceAdvertiser     Announcing fabricIndex: 1 fabricId: 1
2025-04-20 17:28:43.368 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: ovs_eth0
2025-04-20 17:28:43.368 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: tun0
2025-04-20 17:28:43.369 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker-e064cf4f
2025-04-20 17:28:43.370 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker-f3495583
2025-04-20 17:28:43.370 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker0
2025-04-20 17:28:43.371 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker-b6cf5548
2025-04-20 17:28:43.371 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker9338364
2025-04-20 17:28:43.372 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker4a5fb01
2025-04-20 17:28:43.372 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: dockerf2bdb97
2025-04-20 17:28:43.373 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker5556e90
2025-04-20 17:28:43.373 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: dockereaeceda
2025-04-20 17:28:43.374 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker0b3851b
2025-04-20 17:28:43.375 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker9e42dee
2025-04-20 17:28:43.375 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker9713203
2025-04-20 17:28:43.376 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker7e9e39f
2025-04-20 17:28:43.376 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker2e58836
2025-04-20 17:28:43.377 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker4be77fa
2025-04-20 17:28:43.377 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker6059a87
2025-04-20 17:28:43.378 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker1a4141b
2025-04-20T17:28:43+0200 <info> matter.init.js:36 (MatterHandler.init) Matter controller started
2025-04-20T17:28:43+0200 <info> index.js:26 (Object.start) Matter started
2025-04-20 17:28:43.419 DEBUG  MdnsScanner          Adding operational device 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local in cache (interface ovs_eth0, ttl=120) with TXT data: SII: 500 SAI: 300 SAT: 4000 T: 0 ICD: 0
2025-04-20 17:28:43.420 DEBUG  MdnsScanner          Added 1 IPs for operational device 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local to cache (interface ovs_eth0): type: udp ip: 192.168.1.xxx port: 35697
2025-04-20T17:30:27+0200 <info> matter.pairDevice.js:38 (MatterHandler.pairDevice) Commissioning device with options: {"commissioning":{"regulatoryLocation":0,"regulatoryCountryCode":"XX","regulatoryLocationType":0},"discovery":{"identifierData":{"shortDiscriminator":8},"discoveryCapabilities":{"ble":false}},"passcode":20521600,"commissioningTimeoutSeconds":60,"commissioningAttempts":3,"commissioningRetryDelayMs":1000}
2025-04-20 17:30:27.650 INFO   PeerCommissioner     Commissioning device with identifier {"shortDiscriminator":8} and 1 scanners and knownAddress "undefined"
2025-04-20 17:30:27.650 INFO   ControllerDiscovery  Start Discovering devices using identifier {"shortDiscriminator":8} ...
2025-04-20 17:30:27.651 INFO   ControllerDiscovery  Found 1 devices using identifier {"shortDiscriminator":8}
2025-04-20 17:30:27.651 DEBUG  ControllerDiscovery  Server addresses to try: udp://[fe80::be24:xxxx:xxxx:xxxx%ovs_eth0]:5540 (Matterbridge),udp://[2a01:e0a:2ea:c4f0:be24:xxxx:xxxx:xxxx]:5540 (Matterbridge)
2025-04-20 17:30:27.652 DEBUG  ControllerDiscovery  Try to communicate with udp://[fe80::be24:xxxx:xxxx:xxxx%ovs_eth0]:5540 ...
2025-04-20 17:30:27.652 INFO   PeerCommissioner     Commissioning device SII: 500 SAI: 300 SAT: 4000 T: 0 DT: 14 PH: 33 ICD: 0 VP: 65521+32768 DN: Matterbridge PI: 
2025-04-20 17:30:27.654 DEBUG  MessageExchange      New exchange channel: udp://[fe80::be24:xxxx:xxxx:xxxx%ovs_eth0]:5540 on session insecure/10044258618895852303 protocol: 0 exId: 30401 sess: insecure/10044258618895852303 peerSess: 0 SAT: 4000 SAI: 300 SII: 500 maxTrans: 5 MRP I
2025-04-20 17:30:27.656 DEBUG  ExchangeManager      Message » for: SC/PbkdfParamRequest msgId: 0/30401/114417383 type: 0x0/0x20 reqAck size: 76 payload: 1530012018f090baff5a046be15e5d3b9e6515b7fb5edc3a900c6306cb0099ce5c48f88225028dcb240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2025-04-20 17:30:28.214 DEBUG  DeviceAdvertiser     Resubmission started, re-announce node 10044258618895852303
2025-04-20 17:30:28.215 DEBUG  DeviceAdvertiser     Announcing fabricIndex: 1 fabricId: 1
2025-04-20 17:30:28.216 DEBUG  MessageExchange      Resubmit message 114417383 (retransmission attempt 1, backoff time 568ms))
2025-04-20 17:30:28.216 DEBUG  ExchangeManager      Message » for: SC/PbkdfParamRequest msgId: 0/30401/114417383 type: 0x0/0x20 reqAck size: 76 payload: 1530012018f090baff5a046be15e5d3b9e6515b7fb5edc3a900c6306cb0099ce5c48f88225028dcb240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2025-04-20 17:30:28.236 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: ovs_eth0
2025-04-20 17:30:28.240 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: tun0
2025-04-20 17:30:28.240 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker-e064cf4f
2025-04-20 17:30:28.243 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker-f3495583
2025-04-20 17:30:28.243 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker0
2025-04-20 17:30:28.244 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker-b6cf5548
2025-04-20 17:30:28.245 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker9338364
2025-04-20 17:30:28.246 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker4a5fb01
2025-04-20 17:30:28.246 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: dockerf2bdb97
2025-04-20 17:30:28.247 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker5556e90
2025-04-20 17:30:28.248 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: dockereaeceda
2025-04-20 17:30:28.248 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker0b3851b
2025-04-20 17:30:28.249 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker9e42dee
2025-04-20 17:30:28.249 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker9713203
2025-04-20 17:30:28.250 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker7e9e39f
2025-04-20 17:30:28.251 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker2e58836
2025-04-20 17:30:28.251 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker4be77fa
2025-04-20 17:30:28.252 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker6059a87
2025-04-20 17:30:28.252 DEBUG  MdnsBroadcaster      Announcement Generator: Fabric id: 35EC047701FDF413-5C63D97DCE65F825 qname: 35EC047701FDF413-5C63D97DCE65F825._matter._tcp.local port: 35697 interface: docker1a4141b
2025-04-20 17:30:28.860 DEBUG  MessageExchange      Resubmit message 114417383 (retransmission attempt 2, backoff time 1005ms))
2025-04-20 17:30:28.861 DEBUG  ExchangeManager      Message » for: SC/PbkdfParamRequest msgId: 0/30401/114417383 type: 0x0/0x20 reqAck size: 76 payload: 1530012018f090baff5a046be15e5d3b9e6515b7fb5edc3a900c6306cb0099ce5c48f88225028dcb240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2025-04-20 17:30:29.868 DEBUG  MessageExchange      Resubmit message 114417383 (retransmission attempt 3, backoff time 1729ms))
2025-04-20 17:30:29.868 DEBUG  ExchangeManager      Message » for: SC/PbkdfParamRequest msgId: 0/30401/114417383 type: 0x0/0x20 reqAck size: 76 payload: 1530012018f090baff5a046be15e5d3b9e6515b7fb5edc3a900c6306cb0099ce5c48f88225028dcb240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2025-04-20 17:30:31.599 DEBUG  MessageExchange      Resubmit message 114417383 (retransmission attempt 4, backoff time 2354ms))
2025-04-20 17:30:31.600 DEBUG  ExchangeManager      Message » for: SC/PbkdfParamRequest msgId: 0/30401/114417383 type: 0x0/0x20 reqAck size: 76 payload: 1530012018f090baff5a046be15e5d3b9e6515b7fb5edc3a900c6306cb0099ce5c48f88225028dcb240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2025-04-20 17:30:33.956 DEBUG  MessageExchange      Message 114417383: Wait additional 3875ms for processing time and peer resubmissions after all our resubmissions
2025-04-20 17:30:37.831 DEBUG  ControllerDiscovery  Failed to communicate with udp://[fe80::be24:xxxx:xxxx:xxxx%ovs_eth0]:5540, try other servers ... Operation timed out
  at MessageExchange.#retransmitMessage (/src/server/services/matter/node_modules/@matter/protocol/src/protocol/MessageExchange.ts:556:45)
  at StandardTimer.callback (/src/server/services/matter/node_modules/@matter/protocol/src/protocol/MessageExchange.ts:547:36)
  at Timeout._onTimeout (/src/server/services/matter/node_modules/@matter/general/src/time/Time.ts:180:18)
  at listOnTimeout (node:internal/timers:594:17)
  at processTimers (node:internal/timers:529:7)
2025-04-20 17:30:37.833 DEBUG  ControllerDiscovery  Try to communicate with udp://[2a01:e0a:2ea:c4f0:be24:xxxx:xxxx:xxxx]:5540 ...
2025-04-20 17:30:37.834 INFO   PeerCommissioner     Commissioning device SII: 500 SAI: 300 SAT: 4000 T: 0 DT: 14 PH: 33 ICD: 0 VP: 65521+32768 DN: Matterbridge PI: 
2025-04-20 17:30:37.835 DEBUG  MessageExchange      New exchange channel: udp://[2a01:e0a:2ea:c4f0:be24:xxxx:xxxx:xxxx]:5540 on session insecure/689298833812823304 protocol: 0 exId: 30402 sess: insecure/689298833812823304 peerSess: 0 SAT: 4000 SAI: 300 SII: 500 maxTrans: 5 MRP I
2025-04-20 17:30:37.836 DEBUG  ExchangeManager      Message » for: SC/PbkdfParamRequest msgId: 0/30402/114417384 type: 0x0/0x20 reqAck size: 76 payload: 153001208f912a8d35e7f1ab70404c81ecc21c97d80fa0454c03ce1b483ca52ddd26f22925028ecb240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2025-04-20T17:30:37+0200 <error> matter.pairDevice.js:50 (MatterHandler.pairDevice) Error commissioning device: Error: send ENETUNREACH 2a01:e0a:2ea:c4f0:be24:xxxx:xxxx:xxxx:5540

Je vais regarder en ajoutant matterbridge directement dans mon docker compose de test pour voir ce que ça raconte.

EDIT : test effectuĂ© sur mon syno pour un matterbridge en docker et j’arrive Ă  ajouter le serveur (ajout appareil).
Et quand je regarde les logs, je vois que ça discute en IPV4 (pas d’IPV6 activĂ©) :

2025-04-20 18:15:10.414 DEBUG  InteractionClient    Sending read request: attributes: 0x0/OperationalCredentials(0x3e)/fabrics(0x1) and events: undefined
2025-04-20 18:15:10.414 DEBUG  MessageExchange      New exchange channel: udp://[192.168.1.xxxx]:5540 on session secure/45960 protocol: 1 exId: 38049 sess: secure/45960 peerSess: 12269 SAT: 4000 SAI: 300 SII: 500 maxTrans: 5 MRP I
2025-04-20 18:15:10.415 DEBUG  InteractionClient    Sending read request to udp://[192.168.1.xxxx]:5540 on session secure/45960 for attributes 0x0/OperationalCredentials(0x3e)/fabrics(0x1) and events undefined
2025-04-20 18:15:10.416 DEBUG  ExchangeManager      Message » for: I/ReadRequest msgId: 12269/38049/132772016 type: 0x1/0x2 reqAck size: 21 payload: 1536001724020024033e2404011818290324ff0c18
2025-04-20 18:15:10.424 DEBUG  MessageExchange      Message « for: I/ReportData msgId: 45960/38049/258840267 type: 0x1/0x5 acked: 132772016 reqAck size: 145 payload: 1536011535012600e522bc7c370124020024033e2404011836021530014104fa9e2e840a6c47755ec73c7f4f82e62383b6c740af09458cd790023ec59adc4b666a9ae2805beebba962e13694c8e56697884816e42fecac18b7c31a7e96bd2b2502f1ff2403012704ecea71d67ee646772c0510476c6164797320417373697374616e7424fe011818181818290424ff0c18
2025-04-20 18:15:10.426 DEBUG  InteractionClient    Received read response with attributes 0x0/OperationalCredentials(0x3e)/fabrics(0x1) = [{"rootPublicKey":"04fa9e2e840a6c47755ec73c7f4f82e62383b6c740af09458cd790023ec59adc4b666a9ae2805beebba962e13694c8e56697884816e42fecac18b7c31a7e96bd2b","vendorId":65521,"fabricId":"1","nodeId":"8594810371321228012","label":"Gladys Assistant","fabricIndex":1}] and events
2025-04-20 18:15:10.426 DEBUG  ExchangeManager      Message » for: SC/StandaloneAck msgId: 12269/38049/132772017 type: 0x0/0x10 acked: 258840267
2025-04-20T18:15:10+0200 <info> matter.pairDevice.js:42 (MatterHandler.pairDevice) Successfully commissioned device with nodeId 8594810371321228012
2025-04-20T18:15:10+0200 <info> convertToGladysDevice.js:43 () Matter pairing - Cluster client 29
2025-04-20T18:15:10+0200 <info> convertToGladysDevice.js:120 () Matter pairing - Cluster client 29 (Descriptor) not supported

I’m continuing the tests.
My Somfy roller shutters have been added in matterbridge, are correctly recognized in matterbridge and seen in Gladys :


However nothing visible in Matter devices :

EDIT: after disabling the Matter integration and re-enabling it, the roller shutters appeared!


and it works like a charm :heart_eyes:
Opening:



And closing to 21%:


Well we get a slightly different result in the Tahoma mobile app, and I don’t know exactly what the matter-somfy plugin does:

Bravo @pierre-gilles, these advances are awesome!!


2 general remarks:

  • it would be nice to have the % displayed on the slider (in general) because it’s a bit hard to aim precisely :wink:
  • the control button should no longer be grayed-out (pressed) when you activate it (or when the command has finished). If we refresh the page, the gray goes away.
2 Likes

Hi @mutmut,

Thanks for your tests, these results are very encouraging :slight_smile:

Do all the buttons work? Open / stop / close?

I have the impression that the open/close percentage is reversed on your side, compared to your app, no?

For these points, I’d like you to create another thread, it’s just related to the management of roller shutters in Gladys, not to Matter :slight_smile: But they’re good points!

Yes for all three, and I just noticed that when you click Open the text changes to Opened, same for Close which changes to Closed.

2 Likes

Ok, so everything’s fine!

And on the configuration side, I see you struggled at the beginning — what did you end up changing to make it work?

I really want the experience to be as simple as possible for the end user, so I’d like to put information in the UI if the container configuration needs to be modified for Matter!

I have 3 differences:

  • the first is that matterbridge was in lxc on one side and in docker on the other
  • the second is that my docker had the same IP as the Gladys docker (except for the port, both on my Synology)
  • the third (the one I suspect the most) is that the lxc had IPv4+IPv6 and the docker only IPv4

In summary, I need to test:

  • remove IPv6 from my lxc
  • install a remote Docker

In my opinion, a matterbridge container launched by Gladys shouldn’t cause any problems (same machine, IPv4, different port).
I don’t know if it’s possible but the pairing with matterbridge should happen automatically after the creation and start of the container (automatic retrieval of the id and addition of the device), from a UX perspective that would be awesome! (yes, yes, I’m not a dev but a big dreamer :sweat_smile: )

Matter works exclusively on IPv6, so indeed you need IPv6!

I need to check whether I can verify from inside the Gladys container if IPv6 is OK or not.

For matterbridge, that will be the subject of a separate development, but clearly the goal would be for it to be as simple as possible :blush:

IPv6 removed and my Matterbridge in LXC was added without issues (the second one in the screenshot) :

So for adding a device you would need to force communication over IPv4 (I don’t know if that’s possible), or there is something I don’t know/master about communication over IPv6 and adding devices.

in my Docker I don’t have IPv6, nor in my LXC now, and it works.

EDIT: I’m reposting the end of the log I posted above about the IPv6 error

2025-04-20 17:30:37.831 DEBUG  ControllerDiscovery  Failed to communicate with udp://[fe80::be24:xxxx:xxxx:xxxx%ovs_eth0]:5540, try other servers ... Operation timed out
  at MessageExchange.#retransmitMessage (/src/server/services/matter/node_modules/@matter/protocol/src/protocol/MessageExchange.ts:556:45)
  at StandardTimer.callback (/src/server/services/matter/node_modules/@matter/protocol/src/protocol/MessageExchange.ts:547:36)
  at Timeout._onTimeout (/src/server/services/matter/node_modules/@matter/general/src/time/Time.ts:180:18)
  at listOnTimeout (node:internal/timers:594:17)
  at processTimers (node:internal/timers:529:7)
2025-04-20 17:30:37.833 DEBUG  ControllerDiscovery  Try to communicate with udp://[2a01:e0a:2ea:c4f0:be24:xxxx:xxxx:xxxx]:5540 ...
2025-04-20 17:30:37.834 INFO   PeerCommissioner     Commissioning device SII: 500 SAI: 300 SAT: 4000 T: 0 DT: 14 PH: 33 ICD: 0 VP: 65521+32768 DN: Matterbridge PI: 
2025-04-20 17:30:37.835 DEBUG  MessageExchange      New exchange channel: udp://[2a01:e0a:2ea:c4f0:be24:xxxx:xxxx:xxxx]:5540 on session insecure/689298833812823304 protocol: 0 exId: 30402 sess: insecure/689298833812823304 peerSess: 0 SAT: 4000 SAI: 300 SII: 500 maxTrans: 5 MRP I
2025-04-20 17:30:37.836 DEBUG  ExchangeManager      Message » for: SC/PbkdfParamRequest msgId: 0/30402/114417384 type: 0x0/0x20 reqAck size: 76 payload: 153001208f912a8d35e7f1ab70404c81ecc21c97d80fa0454c03ce1b483ca52ddd26f22925028ecb240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2025-04-20T17:30:37+0200 \u003cerror\u003e matter.pairDevice.js:50 (MatterHandler.pairDevice) Error commissioning device: Error: send ENETUNREACH 2a01:e0a:2ea:c4f0:be24:xxxx:xxxx:xxxx:5540

EDIT 2:
so I just found why my test Gladys (on my Synology) didn’t want to pair with the matterbridge with IPv6 enabled (in LXC).

The reason is simple: I hadn’t enabled IPv6 on my Synology :confused:
So I decommissioned the matterbridge LXC, reactivated IPv6 on the LXC, enabled IPv6 on my Synology, restarted the pairing which worked correctly.

1 Like

Some notes for improving the Matter integration WITH matterbridge:

  • check that the host of the Gladys Docker has IPv6 enabled OR disable IPv6 on the matterbridge host
  • disable then re-enable the Matter integration after any plugin/device change made in matterbridge (if the association is already done, of course) to make new devices appear (for example)
  • the search/filter/magnifying glass function currently does not work in Devices
  • remove one of the 2 arrows from the Back button in Add a device
  • have a status indicator (green/red) for the Matter node(s) in Settings, like for the Z2M or MQTT integration, for example
1 Like

Thanks for this very thorough feedback! :slight_smile: I’ll work on all of that and I’ll come back with an improved version.

I’ll also try to see whether it’s possible to handle logs in this version of Matter.js; otherwise we’ll have to wait for the next Matter.js release to ship the Matter integration in Gladys

1 Like

Hi @pierre-gilles,

I think you hadn’t seen my message above — as I mentioned, the temperature present in my JSON is a device temperature, not a room temperature sensor. Which gives:

Otherwise everything works very well; I confirm that the commands also work now. Just the issue with names: each trio controls 3 lights and is named in Matterbridge. They are all separated into independent devices allowing them to be placed in different rooms.

EDIT: Everything works whether in Bridge mode or in Childbridge.

I did see it! Sorry I forgot to reply :stuck_out_tongue: I need to see if I have a way to tell whether it’s a device sensor, I hope it’s a different category in Matter :sweat_smile: