[Matterbridge] - Addition of Energy and Power features - Shelly PRO3EM Three-phase

Description

Hi @Terdious,

We agree that it’s properly handled now since that development, right? :slight_smile:

(Merged in November 2025)

Salut @pierre-gilles,

Dans ma mĂ©moire, ça ne l’était pas, mais je ne peux pas vĂ©rifier car l’intĂ©gration Matter ne fonctionne plus chez moi. Bon je ne l’utilise pas du coup, je passe toujours par Node-Red.

La demande est liĂ©e au triphasĂ© qui utilise des entitĂ©s diffĂ©rentes. J’ai rĂ©alisĂ© le dĂ©veloppement cĂŽtĂ© matterbridge avec le dev qui l’avait intĂ©grer dans cette pĂ©riode. Les entitĂ©s sont donc accessible dans matterbridge :

Mais pas dans Gladys :

Ca c’est pour les PRO3EM (Appareil vu par Gladys), les entitĂ©s sont : main / em:0 (Total) / em:1 (Phase L1) / em:2 (Phase L2) / em:3 (Phase L3) / temperature:0

AprĂšs il y a le Shelly 3EM (Appareil non vu par Gladys) oĂč les entitĂ©s sont diffĂ©rentes : main / relay:0 / emeter:0 (Mesure 1) / emeter:1 (Mesure 2) / emeter:2 (Mesure 3)

Pour ce qui est de Matter, une fois la clĂ© d’appairage fournie, l’inscription se fait bien dans Matterbridge, mais erreur 500 dans Gladys et ensuite c’est une ribambelle de log dans Gladys, obligĂ© de couper matter, sinon au bout d’un moment ça plante avec RAM qui augmente. Est-ce le BigInt qui fait tout plantĂ© ??? !!

2026-03-13T10:47:14+0100 <warn> errorMiddleware.js:68 (errorMiddleware) PairedNode unavailable due to initialization error
      at crashedError (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:605:32)
      at handleRejection (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:312:69)
      at runNextTicks (node:internal/process/task_queues:64:5)
      at processImmediate (node:internal/timers:452:9)
    Caused by: Cannot read properties of undefined (reading 'flatMap')
      at PairedNode.#createDevice (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:1091:59)
      at PairedNode.#initializeEndpointStructure (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:1008:22)
      at PairedNode.#initializeFromStoredData (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:634:20)
      at initializer (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:390:28)
      at invokeInitializer (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:573:30)
      at Construction (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:564:9)
      at new PairedNode (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:387:30)
      at Function.create (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:311:22)
      at CommissioningController.connectNode (/src/server/services/matter/node_modules/@project-chip/matter.js/src/CommissioningController.ts:410:45)
      at runNextTicks (node:internal/process/task_queues:64:5)
      (see parent frames)
TypeError: Do not know how to serialize a BigInt
    at JSON.stringify (<anonymous>)
    at stringify (/src/server/node_modules/express/lib/response.js:1150:12)
    at ServerResponse.json (/src/server/node_modules/express/lib/response.js:271:14)
    at ServerResponse.send (/src/server/node_modules/express/lib/response.js:162:21)
    at errorMiddleware (/src/server/api/middlewares/errorMiddleware.js:72:36)
    at Layer.handle_error (/src/server/node_modules/express/lib/router/layer.js:71:5)
    at trim_prefix (/src/server/node_modules/express/lib/router/index.js:326:13)
    at /src/server/node_modules/express/lib/router/index.js:286:9
    at Function.process_params (/src/server/node_modules/express/lib/router/index.js:346:12)
    at next (/src/server/node_modules/express/lib/router/index.js:280:10)
    at Layer.handle_error (/src/server/node_modules/express/lib/router/layer.js:67:12)
    at trim_prefix (/src/server/node_modules/express/lib/router/index.js:326:13)
    at /src/server/node_modules/express/lib/router/index.js:286:9
    at Function.process_params (/src/server/node_modules/express/lib/router/index.js:346:12)
    at next (/src/server/node_modules/express/lib/router/index.js:280:10)
    at /src/server/node_modules/express/lib/router/index.js:646:15
    at next (/src/server/node_modules/express/lib/router/index.js:265:14)
    at next (/src/server/node_modules/express/lib/router/route.js:136:14)
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/src/server/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/src/server/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/src/server/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/src/server/node_modules/bluebird/js/release/promise.js:725:18)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:93:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:484:21)
2026-03-13T10:47:14+0100 <warn> errorMiddleware.js:68 (errorMiddleware) PairedNode unavailable due to initialization error
      at crashedError (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:605:32)
      at handleRejection (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:312:69)
      at runNextTicks (node:internal/process/task_queues:64:5)
      at processImmediate (node:internal/timers:452:9)
    Caused by: Cannot read properties of undefined (reading 'flatMap')
      at PairedNode.#createDevice (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:1091:59)
      at PairedNode.#initializeEndpointStructure (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:1008:22)
      at PairedNode.#initializeFromStoredData (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:634:20)
      at initializer (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:390:28)
      at invokeInitializer (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:573:30)
      at Construction (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:564:9)
      at new PairedNode (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:387:30)
      at Function.create (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:311:22)
      at CommissioningController.connectNode (/src/server/services/matter/node_modules/@project-chip/matter.js/src/CommissioningController.ts:410:45)
      at runNextTicks (node:internal/process/task_queues:64:5)
      (see parent frames)
TypeError: Do not know how to serialize a BigInt
    at JSON.stringify (<anonymous>)
    at stringify (/src/server/node_modules/express/lib/response.js:1150:12)
    at ServerResponse.json (/src/server/node_modules/express/lib/response.js:271:14)
    at ServerResponse.send (/src/server/node_modules/express/lib/response.js:162:21)
    at errorMiddleware (/src/server/api/middlewares/errorMiddleware.js:72:36)
    at Layer.handle_error (/src/server/node_modules/express/lib/router/layer.js:71:5)
    at trim_prefix (/src/server/node_modules/express/lib/router/index.js:326:13)
    at /src/server/node_modules/express/lib/router/index.js:286:9
    at Function.process_params (/src/server/node_modules/express/lib/router/index.js:346:12)
    at next (/src/server/node_modules/express/lib/router/index.js:280:10)
    at Layer.handle_error (/src/server/node_modules/express/lib/router/layer.js:67:12)
    at trim_prefix (/src/server/node_modules/express/lib/router/index.js:326:13)
    at /src/server/node_modules/express/lib/router/index.js:286:9
    at Function.process_params (/src/server/node_modules/express/lib/router/index.js:346:12)
    at next (/src/server/node_modules/express/lib/router/index.js:280:10)
    at /src/server/node_modules/express/lib/router/index.js:646:15
    at next (/src/server/node_modules/express/lib/router/index.js:265:14)
    at next (/src/server/node_modules/express/lib/router/route.js:136:14)
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/src/server/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/src/server/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/src/server/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/src/server/node_modules/bluebird/js/release/promise.js:725:18)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:93:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:484:21)
2026-03-13T10:47:20+0100 <info> scene.triggers.js:61 (Object.device.new-state) Scheduling timer to check for device_feature "zigbee2mqtt-detecteur-de-presence-cuisine-motion-sensornary-presence" state in 1800000ms
2026-03-13T10:47:20+0100 <warn> errorMiddleware.js:68 (errorMiddleware) PairedNode unavailable due to initialization error
      at crashedError (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:605:32)
      at handleRejection (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:312:69)
      at runNextTicks (node:internal/process/task_queues:64:5)
      at processImmediate (node:internal/timers:452:9)
    Caused by: Cannot read properties of undefined (reading 'flatMap')
      at PairedNode.#createDevice (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:1091:59)
      at PairedNode.#initializeEndpointStructure (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:1008:22)
      at PairedNode.#initializeFromStoredData (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:634:20)
      at initializer (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:390:28)
      at invokeInitializer (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:573:30)
      at Construction (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:564:9)
      at new PairedNode (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:387:30)
      at Function.create (/src/server/services/matter/node_modules/@project-chip/matter.js/src/device/PairedNode.ts:311:22)
      at CommissioningController.connectNode (/src/server/services/matter/node_modules/@project-chip/matter.js/src/CommissioningController.ts:410:45)
      at runNextTicks (node:internal/process/task_queues:64:5)
      (see parent frames)
TypeError: Do not know how to serialize a BigInt
    at JSON.stringify (<anonymous>)
    at stringify (/src/server/node_modules/express/lib/response.js:1150:12)
    at ServerResponse.json (/src/server/node_modules/express/lib/response.js:271:14)
    at ServerResponse.send (/src/server/node_modules/express/lib/response.js:162:21)
    at errorMiddleware (/src/server/api/middlewares/errorMiddleware.js:72:36)
    at Layer.handle_error (/src/server/node_modules/express/lib/router/layer.js:71:5)
    at trim_prefix (/src/server/node_modules/express/lib/router/index.js:326:13)
    at /src/server/node_modules/express/lib/router/index.js:286:9
    at Function.process_params (/src/server/node_modules/express/lib/router/index.js:346:12)
    at next (/src/server/node_modules/express/lib/router/index.js:280:10)
    at Layer.handle_error (/src/server/node_modules/express/lib/router/layer.js:67:12)
    at trim_prefix (/src/server/node_modules/express/lib/router/index.js:326:13)
    at /src/server/node_modules/express/lib/router/index.js:286:9
    at Function.process_params (/src/server/node_modules/express/lib/router/index.js:346:12)
    at next (/src/server/node_modules/express/lib/router/index.js:280:10)
    at /src/server/node_modules/express/lib/router/index.js:646:15
    at next (/src/server/node_modules/express/lib/router/index.js:265:14)
    at next (/src/server/node_modules/express/lib/router/route.js:136:14)
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/src/server/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/src/server/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/src/server/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/src/server/node_modules/bluebird/js/release/promise.js:725:18)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:93:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:484:21)

Puis logs d’appareils non créés (normal) ultra verbeux avec 1000 lignes Ă  la seconde (je ne sais pas en vrai ^^ mais beaucoup) => Donc on voit bien qu’il est connectĂ©, mais aucune liste d’appareils, surement trop long Ă  remonter toutes les datas, j’en ai beaucoup ^^

2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:33:144:current not fo
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:33:144:power not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:33:144:power not foun
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:34:144:current not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:34:144:current not fo
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:34:144:power not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:34:144:power not foun
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:35:144:voltage not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:35:144:voltage not fo
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:35:144:current not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:35:144:current not fo
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:35:144:power not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:35:144:power not foun
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:36:144:voltage not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:36:144:voltage not fo
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:36:144:current not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}
2026-03-13T10:53:21+0100 <error> index.js:16 (process.<anonymous>) NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:36:144:current not fo
    at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
    at EventEmitter.emit (node:events:519:28)
    at Event.emit (/src/server/lib/event/index.js:18:16)
2026-03-13T10:53:21+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> NotFoundError: DeviceFeature matter:13824859988393482622:1:child_endpoint:32:child_endpoint:36:144:power not found
      at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:18:11)
      at EventEmitter.emit (node:events:519:28)
      at Event.emit (/src/server/lib/event/index.js:18:16)
}

EDIT :

Quand je dis ça, c’était l’état il y a 4 ou 5 mois lorsque Matter fonctionnait encore. Aujourd’hui j’ai supprimĂ© les devices du coup.

It’s a bug in the matter.js dependency. We need to see if it has been fixed in more recent versions :slightly_smiling_face:

For info, I’m currently updating matter.js in Gladys to fix this kind of issue. Work is in progress in this PR:

Recent versions of matter.js introduce several breaking changes, so I’m gradually adapting the code.

1 Like

Ok, thanks for your feedback, I’ll test again when it’s available.

Hi @Terdious :slightly_smiling_face:

I don’t know if you saw, but I published an image with the latest version of Matter.js!

On my side, the update is working fine.

However, one user encountered an issue while migrating Matter files. I reported the error to the maintainer of Matter.js, and I’m waiting for their response.

In the meantime, I’m looking for more testers to see if there are other issues:

1 Like