# \[Matterbridge\] - Ajout fonctionnalités Energie et Puissance - Shelly PRO3EM Triphasé

**URL:** <https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561>\
**Category:** Demande de fonctionnalités\
**Tags:** matter\
**Created:** [Juin 5, 2025, 3:05 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561 "2025-06-05T15:05:11Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Juin 5, 2025, 3:05 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561/1 "2025-06-05T15:05:11Z")

</div>

**Description**

> <https://github.com/Luligu/matterbridge-shelly/pull/152>
>
> \# \[shelly\] Add full support for Shelly Pro3EM in three-phase mode
> 
> \## Descript…ion
> 
> This PR extends Matterbridge's support for the Shelly Pro3EM by adding full three-phase (triphase) support.  
> It builds upon the previous work for monophase (see \[#38\](https://github.com/Luligu/matterbridge-shelly/pull/38)), and now enables:
> 
> \- \*\*Automatic detection and handling of three-phase Pro3EM devices\*\*
> \- \*\*Separation of each total, phase and neutral as individual PowerMeter components\*\* (\`em:0\`, \`em:1\`, \`em:2\`, \`em:3\`, \`em:4\`)
> \- \*\*Correct mapping of all phase-prefixed properties\*\* (\`total\_\`, \`a\_\`, \`b\_\`, \`c\_\`, \`n\_\`) for both power and cumulative energy
> \- \*\*Consistent update logic\*\* for both real-time and cumulative data, matching the 3EM behavior
> \- \*\*Backward compatibility\*\* with monophase and other Shelly devices
> 
> \## Details
> 
> \- The code now parses the single object returned by Pro3EM in triphase mode, splitting it into five virtual components (total + one per phase + neutral).
> \- Updates and status are mapped to the correct component, ensuring UI and API consistency.
> \- The component IDs remain stable (\`em:0\`, \`em:1\`, \`em:2\`, \`em:3\`, \`em:4\`) regardless of which phases are present, for robust integration.
> \- The implementation is fully backward compatible with the previous monophase support and other Shelly 3EM devices.
> !\[image\](https://github.com/user-attachments/assets/a688aed2-fa82-41d7-a37a-80f36fb3a9d7)
> 
> \## Motivation
> 
> This change allows users to monitor and control each phase of their Pro3EM devices individually, just like with the 3EM, and to benefit from accurate, phase-specific energy and power readings in all Matterbridge integrations.
> 
> \## Related
> 
> \- Builds on the monophase support introduced in \[#38\](https://github.com/Luligu/matterbridge-shelly/pull/38)
> 
> \*Feel free to edit or add more technical details if needed!\*

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 13, 2026, 9:42 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561/2 "2026-03-13T09:42:01Z")

</div>

Salut @Terdious,

On est d’accord que c’est bien géré désormais depuis ce développement ? 🙂

> [@\[Matter\] Ajouter la consommation électrique d'un appareil](https://community.gladysassistant.com/t/matter-ajouter-la-consommation-electrique-dun-appareil/9783/2):
>
> Hello à tous slight_smile J’ai développé une PR sur ce sujet, entièrement à l’aveugle, en me basant sur ce que j’ai trouvé dans Matter.js. @Nagromdark Est-ce que tu peux regarder la PR et me dire ce que tu en penses ? Si jamais tu as du matériel pour tester, je suis preneur aussi smiley@jmarandet J’aurais besoin de ton aide. Dans Matterbridge, pour les Shelly, tu vois quoi comme «&nbsp;supported\_feature&nbsp;» ? Normalement, c’est une information que tu peux trouver dans chaque device. Je veux…

(Mergé en Novembre 2025)

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 13, 2026, 10:18 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561/3 "2026-03-13T10:18:47Z")

</div>

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 :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/a/6/a66fdf19c79428379a7623606c646030ad5892a1.png)

Mais pas dans Gladys :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/f/f/ff0cc9b0fbb109d369ffa89e1ffd46e3f3b072e4.png)

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é ??? !!

```auto
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 ^^

```auto
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 :**

> [@Terdious](#):
>
> Mais pas dans Gladys :

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.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 13, 2026, 3:08 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561/4 "2026-03-13T15:08:48Z")

</div>

> [@Terdious](#):
>
> 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é ??? !!

C’est un bug dans la dépendance matter.js. Il faut voir s’il a été corrigé dans les versions plus récentes 🙂

Pour info, je suis justement en train de mettre à jour matter.js dans Gladys afin de corriger ce type de problème. Le travail est en cours dans cette PR :

> <https://github.com/GladysAssistant/Gladys/pull/2429>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[\] If your changes affect the code, did you write the tests?
> \- \[\] Are tests passing? (\`npm test\` on both front/server)
> \- \[\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new feature/service, did you run the integration comparator? (\`npm run compare-translations\` on front)
> \- \[\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to the community (\[forum\](https://community.gladysassistant.com/)) for testing before merging.
> \- \[\] If your changes modify the API (REST or Node.js), did you modify the API documentation? (Documentation is based on comments in code)
> \- \[\] If you are adding a new features/services which needs explanation, did you modify the user documentation? See \[the GitHub repo\](https://github.com/GladysAssistant/v4-website) and the \[website\](https://gladysassistant.com).
> \- \[\] Did you add fake requests data for the demo mode (\`front/src/config/demo.js\`) so that the demo website is working without a backend? (if needed) See \[https://demo.gladysassistant.com\](https://demo.gladysassistant.com).
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> Please provide a description of the change here. It's always best with screenshots, so don't hesitate to add some!
> 
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*Chores\*\*
> \* Bumped Matter dependencies to v0.16.9 for improved compatibility and stability.
> 
> \* \*\*Refactor\*\*
> \* Device handling now uses accessor-based APIs and stricter device-data validation for more robust behavior.
> 
> \* \*\*Bug Fixes / Improvements\*\*
> \* More reliable state reporting for sensors and actuators (color, power, energy, temperature, humidity, occupancy, window covering, levels) with improved unit handling and conversions.

Les versions récentes de matter.js introduisent plusieurs changements breaking, donc je suis en train d’adapter le code petit à petit

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 13, 2026, 6:52 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561/5 "2026-03-13T18:52:17Z")

</div>

> [@pierre-gilles](#):
>
> Pour info, je suis justement en train de mettre à jour matter.js dans Gladys afin de corriger ce type de problème. Le travail est en cours dans cette PR :
> 
> [Upgrade Matter.js to 0.16 by Pierre-Gilles · Pull Request #2429 · GladysAssistant/Gladys · GitHub](https://github.com/GladysAssistant/Gladys/pull/2429)
> 
> Les versions récentes de matter.js introduisent plusieurs changements breaking, donc je suis en train d’adapter le code petit à petit

Ok, merci pour ton retour, je testerais de nouveau quand ce sera disponible.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 26, 2026, 3:03 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561/6 "2026-03-26T15:03:07Z")

</div>

Salut @Terdious 🙂

Je ne sais pas si tu as vu, mais j’ai publié une image avec la dernière version de Matter.js !

De mon côté, la mise à jour fonctionne bien.

Un utilisateur a toutefois rencontré un souci lors de la migration des fichiers Matter. J’ai remonté l’erreur au mainteneur de Matter.js, et j’attends son retour.

En attendant, je suis preneur d’autres testeurs pour voir s’il y a d’autres problèmes :

> [@Mise à jour de Matter.js vers 0.16](https://community.gladysassistant.com/t/mise-a-jour-de-matter-js-vers-0-16/10149/23):
>
> Bon, j’ai refais une PR du coup ce matin, et effectivement avec le autoConnect qui fonctionne, ça change tout, j’ai pu supprimer 50% du code que j’avais écris pour cette migration smiley Un nouveau build est disponible sur un nouveau tag : gladysassistant/gladys:upgrade-matter-latest J’en ai profité pour faire quelques améliorations pratiques : 1/ Dans les logs, les messages d’avertissement quand un appareil n’est pas encore ajouté à Gladys sont désormais affichés sur une seule ligne, au n…

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mai 17, 2026, 3:21 UTC](https://community.gladysassistant.com/t/matterbridge-ajout-fonctionnalites-energie-et-puissance-shelly-pro3em-triphase/9561/7 "2026-05-17T15:21:44Z")

</div>

Salut @Terdious,

Est-ce que tu peux vérifier que c’est bon, maintenant que Matter refonctionne chez toi ?

Si c’est bon, on peut fermer le ticket !
