Matter sobre Thread - Descubierto pero no aceptado

Hola a todos, necesitaría vuestra ayuda para integrar una bombilla Matter.
Origen:
IKEA Dirigera, unos 15 dispositivos Matter over Thread (bombillas, sensores de temperatura, mandos a distancia, chips ESP32)
Procedimiento anterior:
Obtener nuevo código de IKEA Dirigera, añadir dispositivo Matter en las integraciones de Gladys, introducir código, iniciar escaneo, añadir.
Ahora, sin embargo:

  1. Bombilla IKEA:

  1. Primer escaneo:

  2. Segundo escaneo:

  1. ¿Otra vez? Vale, un intento:

¿Notáis que Gladys detecta la bombilla en algún momento y parece incluso haberla añadido, pero no aparece entre los dispositivos?

Es extraño, por desgracia no conozco solución por el momento.

Hasta ahora, siempre he conseguido añadir todos los dispositivos Matter de esta manera. La distancia entre la bombilla y el hub es de unos 5 metros. El Wi-Fi funciona. Todos los demás dispositivos funcionan.

Aquí tenéis el extracto correspondiente del registro de Docker:

…

Me encantaría que alguien tuviera una idea para resolver este problema. Gracias de antemano por vuestra atención y apoyo. Un saludo, Tom

¡Hola a todos!

Este tema ahora está en desarrollo.

Se ha abierto una PR para corregir el error de emparejamiento Matter « Node ID X ya está comisionado » (actualización de matter.js a 0.17.9):

No duden en seguir la PR, probar (opcional, especialmente para pequeñas solicitudes) y dar sus comentarios aquí si es necesario.

Hola Tom,

¡Gracias por los logs, son muy claros! El mensaje clave es este:

Error commissioning device: Error: Node ID 1 is already commissioned and can not be reused

luego Node ID 2 ... en el siguiente intento. Por lo tanto, no es tu lámpara, ni el Wi-Fi, ni la Dirigera: el emparejamiento en sí funciona bien (se ve que Gladys habla con la bombilla), es la biblioteca Matter utilizada por Gladys (matter.js 0.17.6) la que asigna a la nueva bombilla un número de nodo ya tomado por uno de tus dispositivos existentes. Tienes 16 nodos (tus dispositivos + la Dirigera), y el contador interno se reinicia en 1: cada intento «quema» un número, falla y vuelve a intentarlo con el siguiente. Es un error de matter.js, corregido en la versión 0.17.7.

He preparado el parche en Gladys (actualización de matter.js a 0.17.9): #3122.

Estará en el próximo lanzamiento.

@ruegerth La corrección está en vivo en Gladys Assistant 5.1.0 :slight_smile:

¡Vaya, vaya, vaya…! Muchas gracias, de verdad, por esta respuesta ultrarrápida y por su ayuda… Ya estaba al borde de la desesperación. Lo probaré mañana y les haré saber.
Atentamente,
Tom

Ya probado, Gladys versión 5.1.0:

Es tan rápido que ni siquiera tienes tiempo de «mirar»… Todo se resuelve en unos segundos.

Excelente trabajo, gracias por su ayuda

ladys | 2026-09-22T00:15:24+0200 matter.handleNode.js:138 (MatterHandler.handleNode) Matter: Node 13 handled, 1 device(s) with features (connected)
gladys | 2026-09-22T00:15:24+0200 matter.handleNode.js:138 (MatterHandler.handleNode) Matter: Node 12 handled, 2 device(s) with features (connected)
gladys | 2026-09-22T00:15:24+0200 matter.handleNode.js:138 (MatterHandler.handleNode) Matter: Node 11 handled, 3 device(s) with features (connected)
gladys | 2026-09-22T00:15:24+0200 matter.handleNode.js:138 (MatterHandler.handleNode) Matter: Node 3 handled, 2 device(s) with features (connected)
gladys | 2026-09-22T00:15:24+0200 matter.refreshDevices.js:30 (MatterHandler.refreshDevices) Matter: Refresh complete, 19 device(s) with features discovered
gladys | 2026-09-22 00:15:59.959 WARN PeerConnection @1:8 udp://[fd1a:9a82:f69e:1:6e6a:3dcd:5d61:badd]:5540 Peer error (retry in 5m): [channel-status-response] (Failure (1) / NoSharedTrustRoots (1)) Received general error status for protocol 0 (Sigma2(Resume))
gladys | 2026-09-22T00:18:05+0200 matter.setValue.js:72 (MatterHandler.setValue) Setting value for node 17, value = 0
gladys | 2026-09-22T00:18:06+0200 matter.setValue.js:72 (MatterHandler.setValue) Setting value for node 17, value = 1
gladys | 2026-09-22T00:19:26+0200 device.getDuckDbMigrationState.js:11 (DeviceManager.getDuckDbMigrationState) Device : getDuckDbMigrationState
gladys | 2026-09-22T00:19:26+0200 system.runHostPowerDbusCommand.js:156 (System.runHostPowerDbusCommand) System: running host power command CanReboot via docker-helper
gladys | 2026-09-22T00:19:26+0200 system.isDocker.js:13 (System.isDocker) System.isDocker: This system is running inside Docker.
gladys | 2026-09-22T00:19:26+0200 device.getDuckDbMigrationState.js:20 (DeviceManager.getDuckDbMigrationState) Device : getDuckDbMigrationState : isDuckDbMigrated: true
gladys | 2026-09-22T00:19:26+0200 device.getDuckDbMigrationState.js:21 (DeviceManager.getDuckDbMigrationState) Device : getDuckDbMigrationState : duckDbDeviceStateCount: 495039
gladys | 2026-09-22T00:19:26+0200 device.getDuckDbMigrationState.js:22 (DeviceManager.getDuckDbMigrationState) Device : getDuckDbMigrationState : sqliteDeviceStateCount: 0
gladys | 2026-09-22T00:19:26+0200 device.getDuckDbMigrationState.js:23 (DeviceManager.getDuckDbMigrationState) Device : getDuckDbMigrationState : sqliteDeviceStateAggregateCount: 0
gladys | 2026-09-22T00:19:27+0200 system.detectHostPowerManagement.js:69 (probeHostPowerCapabilities) System: host power management not reachable via docker-helper: Host power helper container exited with status 1: �Failed to open connection to « system » message bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gladys |
gladys | 2026-09-22T00:19:57+0200 system.isDocker.js:13 (System.isDocker) System.isDocker: This system is running inside Docker.
gladys | 2026-09-22T00:20:27+0200 system.isDocker.js:13 (System.isDocker) System.isDocker: This system is running inside Docker.
gladys | 2026-09-22T00:20:57+0200 system.runHostPowerDbusCommand.js:156 (System.runHostPowerDbusCommand) System: running host power command CanReboot via docker-helper
gladys | 2026-09-22T00:20:57+0200 system.isDocker.js:13 (System.isDocker) System.isDocker: This system is running inside Docker.
gladys | 2026-09-22T00:20:57+0200 system.detectHostPowerMan