Description
condition = 73% correspond à son niveau d’efficacité (0% → on change le filtre)
Salut @pierre-gilles ,
j’ai un purificateur Dyson et je pense que cette demande est un doublon avec celle concernant le filtre HEPA. En effet le filtre HEPA et le filtre charbon actif c’est le même, donc je ne sais pas si c’est nécessaire de faire 2 monitoring.
=> https://www.dyson.fr/traitement-de-l-air/accessoires-pour-purificateur
mutmut
Juillet 5, 2025, 7:03
3
Salut @Nagromdark
sur le mien c’est bien 2 filtres physiques différents, un pour le charbon et un hepa.
Je reviens sur ce sujet, t’u es sûr @mutmut que tu as 2 filtres à changer ? Moi sur le TP09 il n’y en a qu’un et c’est marqué sur le site Dyson que pour le TP04 c’est le même. Pourrais tu m’envoyer ce que te renvoi Matterbridge stp ?
Moi par exemple j’ai ça :
L’attribut “inPLaceIndicator” est à false pour moi
mutmut
Octobre 11, 2025, 10:01
5
pierre-gilles:
image2792×510 68.7 KB
c’est mon screenshot du charbon actif, et pour le filtre HEPA c’est dans ce sujet .
J’ai true pour HEPA et charbon.
Petite photo de mes 2 filtres :
Merci pour la photo, pour mon TP09 c’est exactement comme toi. Et donc le filtre que tu tiens dans ta main c’est bien HEPA+charbon, l’autre c’est catalytique d’après Dyson :
Donc mon problème est plutôt du côté du plugin matterbridge à mon avis, qui a mal été implémenté pour le TP09.
Enfin bref c’est pas grave je vais coder les 2 fonctionnalités
mutmut
Octobre 12, 2025, 7:50
7
Je dois t’avouer que je ne comprends pas tout avec ces filtres
Si je passe par l’appli Dyson et que je clique sur un de mes filtres je tombe sur ça :
donc 2 filtres distincts. Mais quand je clique sur le premier ou le second Acheter, je tombe sur le filtre double que tu montres.
J’ai l’impression que mon TP04 n’est pas tout jeune et que je risque de galérer un peu pour trouver les bons filtres.
EDIT : ce sont bien des modèles différents pour le mien et le tien
OK parfait on a l’explication
Moi c’est un filtre 2en1 qui vaut 100balles quoi (l’arnaque)
Salut tout le monde !
Ce sujet est désormais en cours de développement .
Une PR a été ouverte pour ajouter le suivi des filtres à charbon actif Matter :
master ← claude/matter-activated-carbon-filter
ouvert 02:26AM - 17 Aug 26 UTC
Implements feature request: https://community.gladysassistant.com/t/matter-ajout… er-la-gestion-du-monitoring-de-filtre-charbon-actif/9623
### Description
Air purifiers exposed over Matter often carry two distinct physical filters: a HEPA one, already supported through the `HepaFilterMonitoring` cluster, and an activated carbon one reported by the `ActivatedCarbonFilterMonitoring` cluster (`0x0072`). Only the first was mapped, so the remaining life of the carbon filter was invisible in Gladys.
The forum thread confirms both cases exist in the wild: some appliances (Dyson TP04) ship two separate cartridges and expose both clusters, while others (TP09) ship a combined HEPA + carbon cartridge and expose a single one. Mapping the cluster covers both: an appliance simply publishes one feature per cluster it actually reports.
`ActivatedCarbonFilterMonitoring` follows the same Matter Resource Monitoring model as `HepaFilterMonitoring`, so the implementation mirrors it 1:1. Its `Condition` attribute is the remaining efficiency of the filter in percent (100 = new, 0 = to be replaced — the `condition = 73%` from the original post).
What the PR does:
- **Server** — `server/services/matter/`: read `Condition` on device discovery (`convertToGladysDevice`), on the initial state read (`matter.readInitialDeviceStates`) and on state change subscription (`matter.listenToStateChange`), exactly as the HEPA cluster is handled. The cluster row in `server/services/matter/README.md` is flipped to "handled".
- **Taxonomy** — a new `activated-carbon-filter-life-remaining` **type** is added to the **existing** `hepa-filter-monitoring` category, so a purifier with both filters exposes two features the user can actually tell apart, while the same physical quantity is not split across two categories. No new category is introduced.
- **Front** — the new type is registered where the existing one is: feature icon (`front/src/utils/consts.js`), MQTT feature defaults / default unit / preview value (`front/src/routes/integration/all/mqtt/device-page/utils.js`), and `en`/`fr`/`de` translations.
- The category label is reworded from "HEPA filter monitoring" to "Filter monitoring" now that it holds more than the HEPA filter, and each type label is qualified ("HEPA filter life remaining" / "Activated carbon filter life remaining"). This is a **translation-only** change: the `hepa-filter-monitoring` constant value is untouched, so nothing published by integrations breaks.
Notes on scope: only `Condition` is mapped, mirroring the HEPA cluster. `ChangeIndication` / `InPlaceIndicator` are deliberately left out — the replacement need is already conveyed by the condition reaching 0%, and a boolean "needs replacement" feature would deserve its own discussion rather than riding along here. The forum thread also shows `InPlaceIndicator` is inconsistently implemented by bridges, which makes it a poor first citizen.
Design review against `docs/specs/device-feature-categories.md`: the change adds a type to an existing category (rule 4 "reuse before creating", rule 5 "no new category when a new type is enough"), it uses the Matter model as the reference (rule 3), it keeps the same physical quantity in one category (rule 2), the names are kebab-case, English and brand-free (rule 1 and 7), and the full plumbing (inline scope comment on the constant, all i18n files, front icon, MQTT defaults, tests) ships in the same diff (rule 8). The pre-existing inline comment on `MAINTENANCE` already stated that "filter life reported through the Matter Resource Monitoring model (HEPA and activated carbon filters) stays in `HEPA_FILTER_MONITORING`" — this PR follows that documented boundary and now documents the category itself the same way. The `hepa-` prefix of the category value predates activated carbon support and is intentionally left as-is, since renaming it would be breaking.
This PR was produced by an automated run, and has not been tested against a physical device — the code paths are covered by unit tests only.
## Forum
Forum: https://community.gladysassistant.com/t/matter-ajouter-la-gestion-du-monitoring-de-filtre-charbon-actif/9623
### Checklist
- [x] Tests pass: `cd server && npm run coverage` (Codecov requires 100% coverage on changed lines) and Cypress (`npm run cypress:run`) if the UI changed
- [x] Linter and prettier pass on both front and server (`npm run eslint`, `npm run prettier`)
- [x] No undocumented breaking change
Checks run locally: server `prettier-check` + `eslint` (0 errors) and the full `test/services/matter/**` suite (267 passing, including the new cases in `convertToGladysDevice.test.js`, `listenToStateChange.test.js` and `matter.readInitialDeviceStates.test.js`); front `prettier-check`, `eslint`, `compare-translations` and `build`.
---
_Generated by [Claude Code](https://claude.ai/code/session_01REGRUvErzpwtSrsi9gKh4J)_
## Summary by CodeRabbit
- **New Features**
- Added monitoring for remaining activated-carbon filter life on compatible devices.
- Displayed activated-carbon filter life as a read-only percentage with dedicated iconography.
- Added support for initial and live filter status updates from Matter devices.
- **Improvements**
- Clarified filter-monitoring labels in English, German, and French.
- HEPA and activated-carbon filter life now appear as separate measurements.
- **Tests**
- Added coverage for detecting and updating both filter types.
N’hésitez pas à suivre la PR, à tester dès que possible et à faire vos retours ici.