# \[Matter\] Ajouter la gestion du Formaldehyde

**URL:** <https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635>\
**Category:** Demandes livrées\
**Tags:** matter\
**Created:** [Juillet 9, 2025, 12:02 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635 "2025-07-09T12:02:46Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Juillet 9, 2025, 12:02 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/1 "2025-07-09T12:02:46Z")

</div>

**Description**

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

Barème CH2O (mg/m3)  
0 - 0.099 : Bonne  
0.1 - 0.299 : Assez bonne  
0.3 - 0.499 : Médiocre  
0.5+ : Très médiocre

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Septembre 23, 2025, 11:56 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/2 "2025-09-23T11:56:05Z")

</div>

Salut,

je travaille sur cette demande mais ça me soulève quelques questions. Dans le barème que j’avais indiqué l’unité de mesure est en mg/m3 alors que pour les PM10 et PM2.5 c’est en µg/m3 (à mon avis c’est un choix de Dyson pour ne pas trop affoler car c’est mieux d’indiquer 0,099 mg que 99µg ^^).  
Bref je vois dans le plugin matterbridge-dyson-robot qu’il envoi bien la valeur en µg, et c’est là que je me suis dis mais qu’est-ce que j’en sais que c’est du µg ??  
J’ai donc lu la doc matter et j’ai appris que c’est l’attribut MeasurementUnit qui se charge de donner l’unité :

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

Et je me dis qu’est-ce qui empêche un appareil d’envoyer des valeurs en mg/m3 ? Il pourrait très bien le faire s’il transmet bien l’attribut MeasurementUnit = 3.  
Partant de là je regarde dans Gladys comment on transforme cette valeur reçue et je n’arrive pas à comprendre à quel moment on regarde cet attribut MeasurementUnit.  
J’ai l’impression qu’on dit en dur que les PM10 et PM2.5 reçus c’est forcément du µg/m3 ou alors il y a un truc qui m’échappe et j’aimerai comprendre.

Merci d’avance si quelqu’un peut m’aider ^^

---

<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:** [Septembre 23, 2025, 5:34 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/3 "2025-09-23T17:34:34Z")

</div>

> [@Nagromdark](#):
>
> J’ai donc lu la doc matter et j’ai appris que c’est l’attribut MeasurementUnit qui se charge de donner l’unité :

Effectivement, tu as raison, ce n’est pas géré actuellement !

J’avais l’impression que dans certains cas, Matter imposait une unité fixe et que chaque constructeur devait respecter cette unité pour l’envoi de données, et que c’était au consommateur de gérer l’affichage dans d’autres unités.

Mais dans le cas des particules, il y a bien une unité (disponible dans Matter.js également, voir [doc ici](https://matter-js.github.io/docs/enums/_matter_main.clusters_concentration_measurement.ConcentrationMeasurement.MeasurementUnit.html)).

Tu penses que tu pourrais faire une petite PR pour ça ? 🙂

En gros, il faut rajouter une fonction de conversion en fonction de l’unité pour n’envoyer que du µg/m3 dans Gladys

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Septembre 23, 2025, 6:57 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/4 "2025-09-23T18:57:18Z")

</div>

oui je veux bien regarder 🙂 , attention je débute en js mais j’ai envie d’apprendre ^^

Tu souhaites donc que Gladys affiche toujours ces valeurs de particules en µg et non pas selon ce qu’à envoyé l’appareil ?

---

<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:** [Septembre 23, 2025, 7:55 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/5 "2025-09-23T19:55:32Z")

</div>

En fait, il y a toujours 2 options :

- Soit on stocke dans l’unité de base et ensuite on fait la conversion côté frontend : c’est ce qu’on fait pour les températures par exemple, car sur une même instance, on peut avoir un utilisateur qui préfère voir en °F, et un autre en °C.
- Soit on convertit avant d’enregistrer la valeur : c’est ce qu’on fait pour les couleurs par exemple, pour avoir un color picker unifié quel que soit la marque.

Dans le cas des particules fines, j’avoue que je ne me rends pas trop compte quel type de capteurs renvoient en fait la valeur en PPT ou en PM3. Est-ce que ça fait sens d’afficher ces valeurs dans leur unité de base, ou faut-il convertir ?

---

<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:** [Septembre 23, 2025, 8:00 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/6 "2025-09-23T20:00:14Z")

</div>

En y réfléchissant, c’est vrai que ça fait peut être plus sens de ne pas convertir la valeur mais par contre de définir l’unité dynamiquement dans Gladys 😄

Si tu es motivé pour faire une PR c’est avec plaisir !

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Septembre 24, 2025, 6:50 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/7 "2025-09-24T06:50:17Z")

</div>

Je regarde mais bon je galère déjà à récupérer l’attribut measurementUnit 😅

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Septembre 24, 2025, 9:35 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/8 "2025-09-24T09:35:43Z")

</div>

C’est bon je pense avoir trouvé, je vous tiens au courant 😉

---

<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:** [Septembre 24, 2025, 12:39 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/9 "2025-09-24T12:39:46Z")

</div>

c’est top, tu vas pouvoir faire des PR pour le NO2 et les COV aussi 😉😜

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Septembre 25, 2025, 8:10 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/10 "2025-09-25T20:10:28Z")

</div>

Dév en cours, pour le moment j’ai rajouté la possibilité de choisir l’unité dans les devices PM :

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

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Septembre 26, 2025, 7:30 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/11 "2025-09-26T07:30:22Z")

</div>

J’ai codé la transco de l’unité Matter vers l’unité Gladys en auto quand on ajoute des devices Matter à Gladys. Il y a les 8 unités comme décrit dans la doc Matter mais honnêtement ça m’étonnerait que quelqu’un utilise le Becquerel 😅, c’est pourquoi pour les devices Matter on pourra avoir les 8 mais pour les devices créés manuellement j’ai mis que les 3 unités (Cf. capture précédente).  
Je code les tests et je pourrai te faire la PR 😉

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Septembre 30, 2025, 12:36 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/12 "2025-09-30T12:36:30Z")

</div>

PR pour la gestion du Measurement unit attribut en auto :

> <https://github.com/GladysAssistant/Gladys/pull/2357>
>
> \### 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:
> 
> \- \[x\] If your changes affects code, did your write the tests?
> \- \[x\] Are tests passing? (\`npm test\` on both front/server)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new features/services, did you run 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 (\[french forum\](https://community.gladysassistant.com/)/\[english forum\](https://en-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!

---

<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:** [Octobre 1, 2025, 7:08 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/13 "2025-10-01T07:08:01Z")

</div>

Merci pour la PR @Nagromdark, c’est top 🙂

J’ai juste un petit retour :

> <https://github.com/GladysAssistant/Gladys/pull/2357#pullrequestreview-3287833102>
>
> \### 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:
> 
> \- \[x\] If your changes affects code, did your write the tests?
> \- \[x\] Are tests passing? (\`npm test\` on both front/server)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new features/services, did you run 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 (\[french forum\](https://community.gladysassistant.com/)/\[english forum\](https://en-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!

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Octobre 2, 2025, 7:01 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/14 "2025-10-02T07:01:11Z")

</div>

C’est corrigé 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:** [Octobre 3, 2025, 7:36 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/15 "2025-10-03T07:36:43Z")

</div>

C’est bon pour moi, merci pour la PR 🙌

Tu as testé cette PR avec du vrai matériel / ou au moins le plugin Matterbridge example ?

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Octobre 3, 2025, 7:38 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/16 "2025-10-03T07:38:51Z")

</div>

J’ai testé avec du vrai matos et aussi le plugin example 😉

---

<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:** [Octobre 3, 2025, 7:53 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/17 "2025-10-03T07:53:05Z")

</div>

Parfait, c’est mergé et ça partira dans la prochaine release de Gladys 😉

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Octobre 3, 2025, 12:03 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/18 "2025-10-03T12:03:04Z")

</div>

J’ai vu que tu as noté «&nbsp;Matter: Add formaldehyd sensor&nbsp;» mais cette PR ne concerne que la transformation de l’unité. J’ai une autre PR à te soumettre concernant l’ajout de Formaldehyd

---

<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:** [Octobre 3, 2025, 12:03 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/19 "2025-10-03T12:03:52Z")

</div>

ah mince je me suis emmêlé les pinceaux sur les titres 😛

---

<div class="post-metadata">

**Author:** ![Nagromdark](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/nagromdark/32/17758_2.png) [@Nagromdark](https://community.gladysassistant.com/u/Nagromdark)\
**Post date:** [Octobre 6, 2025, 2:59 UTC](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635/20 "2025-10-06T14:59:34Z")

</div>

Voici la PR:

> <https://github.com/GladysAssistant/Gladys/pull/2362>
>
> \### 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 affects code, did your 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)
> 
> \### Description of change
> 
> Add Formaldehyde sensors

[Page suivante](https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-formaldehyde/9635.md?page=2)
