# Plugin Matterbridge pour Magic Home et Gladys

**URL:** <https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144>\
**Category:** Configuration\
**Tags:** matter\
**Created:** [Mars 20, 2026, 5:38 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144 "2026-03-20T17:38:15Z")\
**Posts on this page:** 14\
**Page:** 1

<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 20, 2026, 8:56 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/1 "2026-03-20T08:56:13Z")

</div>

Excellent ! Super propre 🙂

Si jamais tu veux faire plus simple, et permettre à d’autres gens d’utiliser cette intégration, tu pourrais écrire un petit plugin [Matterbridge](https://matterbridge.io/) (avec l’aide de l’IA, relativement facile), comme ça cet appareil deviendrait Matter, et donc compatible Gladys (mais pas que!)

Le plugin c’est juste un simple fichier JS où tu mappes tes commandes LED Magic Home à un SDK Matter, et ensuite il faut juste héberger le plugin sur un repo Git pour ensuite l’installer dans Matterbridge.

Matterbridge se lance en un clic dans Gladys :

> **[Matterbridge | Gladys Assistant](https://gladysassistant.com/fr/docs/integrations/matterbridge/)**
>
> Matterbridge est un pont Matter qui permet de connecter des appareils non-Matter à un écosystème Matter. Grâce à ses nombreux plugins, Matterbridge peut exposer des appareils de différents fabricants (Shelly, Somfy, etc.) vers Gladys via le protocole...

---

<div class="post-metadata">

**Author:** ![David-Digitis](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/david-digitis/32/20537_2.png) [@David-Digitis](https://community.gladysassistant.com/u/David-Digitis)\
**Post date:** [Mars 20, 2026, 9:15 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/2 "2026-03-20T09:15:10Z")

</div>

Je t’avoue que j’avais exploré cette possibilité. Mais je me suis heurté à pas mal de problèmes pour activer l’IPv6 sur mon réseau. Et j’ai des services professionnels qui tournent chez moi aussi donc j’ai un peu peur de foutre le bordel.

mais ça peut être intéressant à explorer parce que de toute façon même si ce que j’ai fait fonctionne c’est loin d’être parfait. il y a du délai, et si on veut commencer à changer les couleurs de plusieurs choses à la fois, ça pose problème.

---

<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 20, 2026, 9:21 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/3 "2026-03-20T09:21:59Z")

</div>

En soit, si tu fais juste tourner Matterbridge sur la même machine que Gladys, ça passera même pas sur ton réseau, donc tu peux «&nbsp;ignorer&nbsp;» le warning qui te dit que tu as besoin d’une interface ipv6, à mon avis ça marchera quand même (pas sûr à 100%, mais d’expérience ça marche)

---

<div class="post-metadata">

**Author:** ![David-Digitis](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/david-digitis/32/20537_2.png) [@David-Digitis](https://community.gladysassistant.com/u/David-Digitis)\
**Post date:** [Mars 20, 2026, 5:37 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/4 "2026-03-20T17:37:28Z")

</div>

J’ai créé un plugin Matterbridge custom pour mes bandeaux LED Magic Home (5 contrôleurs RGBWW exposés en `extendedColorLight`). Le on/off et la luminosité fonctionnent parfaitement, mais les couleurs ne passent jamais.

Erreur dans les logs Gladys

ValidationDatatypeMismatchError/128: Expected number, got object.  
at TlvNumberSchema.validate (/src/server/services/matter/node\_modules/@matter/types/src/tlv/TlvNumber.ts:110:19)  
at ObjectSchema.validate (…)  
at Object.ClusterClient.commands. [as moveToHueAndSaturation]  
at MatterHandler.setValue (/src/server/services/matter/lib/matter.setValue.js:160:24)

### Cause identifiée dans `matter.setValue.js` ligne ~160

```javascript
await colorControl.moveToHueAndSaturation({
  hue: matterHue,
  saturation: matterSaturation,
  transitionTime: null, // ← devrait être 0
  optionsMask: { executeIfOff: true }, // ← objet au lieu d'un nombre (bitmap)
  optionsOverride: {}, // ← objet au lieu de 0
});

Le optionsMask est passé comme objet JS, mais ColorControl.moveToHueAndSaturation de la lib @matter/main attend un nombre (bitmap). Le même pattern fonctionne pour LevelControl.moveToLevel parce que ce cluster accepte les objets, mais  
ColorControl les refuse.

Fix proposé

await colorControl.moveToHueAndSaturation({
  hue: matterHue,
  saturation: matterSaturation,
  transitionTime: 0,
  optionsMask: 1,
  optionsOverride: 0,
});

Environnement

- Gladys v4 (image gladysassistant/gladys:v4)
- Matterbridge 3.6.1 (luligu/matterbridge:latest)
- Plugin custom matterbridge-magic-home avec device type extendedColorLight
- NAS Synology DS1520+, Docker, --network=host

```

---

<div class="post-metadata">

**Author:** ![David-Digitis](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/david-digitis/32/20537_2.png) [@David-Digitis](https://community.gladysassistant.com/u/David-Digitis)\
**Post date:** [Mars 20, 2026, 5:38 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/5 "2026-03-20T17:38:15Z")

</div>

Tu veux que je fasse un nouveau poste vu que ce n’est plus vraiment la même intégration ?

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Mars 20, 2026, 5:47 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/6 "2026-03-20T17:47:57Z")

</div>

Je me suis permis de splitter la conversation pour matterbridge et garder le tuto MQTT propre.

---

<div class="post-metadata">

**Author:** ![David-Digitis](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/david-digitis/32/20537_2.png) [@David-Digitis](https://community.gladysassistant.com/u/David-Digitis)\
**Post date:** [Mars 20, 2026, 6:09 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/7 "2026-03-20T18:09:19Z")

</div>

Top merci !

---

<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 22, 2026, 2:04 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/8 "2026-03-22T14:04:48Z")

</div>

Génial le plugin! Tu l’as publié quelque part ?

> [@David-Digitis](#):
>
> mais les couleurs ne passent jamais.
> 
> Erreur dans les logs Gladys
> 
> ValidationDatatypeMismatchError/128: Expected number, got object.  
> at TlvNumberSchema.validate (/src/server/services/matter/node\_modules/@matter/types/src/tlv/TlvNumber.ts:110:19)  
> at ObjectSchema.validate (…)  
> at Object.ClusterClient.commands. [as moveToHueAndSaturation]  
> at MatterHandler.setValue (/src/server/services/matter/lib/matter.setValue.js:160:24)

Ah, à la limite tu peux faire une PR corrective dans Gladys (si c’est dans tes cordes?)

Sinon je peux m’en charger 🙂

---

<div class="post-metadata">

**Author:** ![David-Digitis](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/david-digitis/32/20537_2.png) [@David-Digitis](https://community.gladysassistant.com/u/David-Digitis)\
**Post date:** [Mars 22, 2026, 2:34 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/9 "2026-03-22T14:34:07Z")

</div>

Je peux mais je me dis que ce serait peut-être mieux d’attendre que le système des couleurs fonctionne dans Matter et puis comme ça je publie le plugin terminé.

Je peux regarder pour faire une PR, oui, mais je n’ai fait ça qu’une seule fois, et c’était différent parce que je proposais simplement un build pour Windows sur une application.

---

<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 22, 2026, 2:39 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/10 "2026-03-22T14:39:38Z")

</div>

Comme tu le sens, et n’hésite pas si tu as des questions pour créer une PR ! Sinon je m’en chargerais

---

<div class="post-metadata">

**Author:** ![David-Digitis](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/david-digitis/32/20537_2.png) [@David-Digitis](https://community.gladysassistant.com/u/David-Digitis)\
**Post date:** [Mars 22, 2026, 3:15 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/11 "2026-03-22T15:15:27Z")

</div>

Ok je me lance 😉

---

<div class="post-metadata">

**Author:** ![David-Digitis](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/david-digitis/32/20537_2.png) [@David-Digitis](https://community.gladysassistant.com/u/David-Digitis)\
**Post date:** [Mars 22, 2026, 3:18 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/12 "2026-03-22T15:18:14Z")

</div>

> <https://github.com/GladysAssistant/Gladys/pull/2500>
>
> \## Description of Change
> 
> \`ColorControl.moveToHueAndSaturation\` expects \`options…Mask\` and \`optionsOverride\` as \*\*uint8 numbers\*\* (raw bitmap), unlike \`LevelControl.moveToLevel\` which accepts typed bitmap objects.
> 
> Passing \`{ executeIfOff: true }\` (object) causes a TLV validation crash:
> 
> \`\`\`
> ValidationDatatypeMismatchError/128: Expected number, got object.
> at TlvNumberSchema.validate
> at Object.ClusterClient.commands \[as moveToHueAndSaturation\]
> at MatterHandler.setValue (matter.setValue.js:160)
> \`\`\`
> 
> This breaks \*\*all color changes\*\* on Matter devices. On/off and brightness work fine since they use different clusters.
> 
> \### Fix
> 
> | Parameter | Before (broken) | After (fixed) |
> |---|---|---|
> | \`optionsMask\` | \`{ executeIfOff: true }\` | \`1\` (bit 0 = executeIfOff) |
> | \`optionsOverride\` | \`{}\` | \`1\` (executeIfOff = true) |
> | \`transitionTime\` | \`null\` | \`0\` (instant) |
> 
> Test assertions updated accordingly.
> 
> \### Tested with
> 
> \- Matterbridge devices (Magic Home LED controllers exposed as Matter lights via \[matterbridge-magic-home\](https://github.com/david-digitis/matterbridge-magic-home))
> \- Gladys 4.58 on Docker (Synology NAS)
> 
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*Chores\*\*
> \* Improved light color control parameter handling for internal optimization.

---

<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 23, 2026, 7:54 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/13 "2026-03-23T07:54:49Z")

</div>

Merci pour le correctif @David-Digitis, c’est bon pour moi, c’est mergé et ça partira dans la prochaine version de Gladys 🙂

---

<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:** [Avril 3, 2026, 6:34 UTC](https://community.gladysassistant.com/t/plugin-matterbridge-pour-magic-home-et-gladys/10144/14 "2026-04-03T18:34:38Z")

</div>

Correctif live dans Gladys Assistant 4.72 :

> [@Gladys Assistant 4.72 : IA plus rapide, Homekit stabilisé et plein de correctifs](https://community.gladysassistant.com/t/gladys-assistant-4-72-ia-plus-rapide-homekit-stabilise-et-plein-de-correctifs/10170):
>
> Bonsoir à tous ! Gladys Assistant 4.72.0 est disponible tada Nouvelles fonctionnalités Zigbee : Support du double on/off pour bouton IKEA BILRESA Le bouton IKEA BILRESA est maintenant pleinement supporté via Zigbee2mqtt. IA : Réduction de la latence et des coûts Les images de caméras envoyées à l’IA sont maintenant redimensionnées avant envoi, ce qui réduit la latence et le coût des appels. Liste des intégrations : Ajout de tags Les intégrations sont maintenant taguées (local, cloud, Gla…
