Beschreibung
condition = 73% entspricht seinem Wirkungsgrad (0% → Filterwechsel)
Hallo @pierre-gilles ,
ich habe einen Dyson-Luftreiniger und denke, dass diese Anfrage ein Duplikat der Anfrage zum HEPA-Filter ist. Denn der HEPA-Filter und der Aktivkohlefilter sind der gleiche, also weiß ich nicht, ob es notwendig ist, zwei Überwachungen durchzuführen.
=> https://www.dyson.fr/traitement-de-l-air/accessoires-pour-purificateur
mutmut
5. Juli 2025 um 19:03
3
Hallo @Nagromdark
bei mir sind es zwei verschiedene physische Filter, einer für Aktivkohle und einer für HEPA.
Ich komme nochmal auf dieses Thema zurück, bist du dir sicher @mutmut , dass du 2 Filter wechseln musst? Bei mir am TP09 gibt es nur einen und auf der Dyson-Website steht, dass es für das TP04 dasselbe ist. Könntest du mir bitte sagen, was Matterbridge dir zurückgibt?
Ich habe zum Beispiel das hier:
Der Attribut „inPLaceIndicator“ ist bei mir auf false.
mutmut
11. Oktober 2025 um 10:01
5
pierre-gilles:
image2792×510 68.7 KB
Das ist mein Screenshot des Aktivkohlefilters, und für den HEPA-Filter ist es in diesem Thema .
Ich habe true für HEPA und Aktivkohle.
Kleines Foto meiner 2 Filter:
Danke für das Foto, bei meinem TP09 ist es genau wie bei dir. Und der Filter, den du in deiner Hand hältst, ist also HEPA+Kohle, der andere ist katalytisch laut Dyson:
Also denke ich, dass mein Problem eher beim Matterbridge-Plugin liegt, das für den TP09 falsch implementiert wurde.
Egal, ist nicht schlimm, ich werde die beiden Funktionen einfach selbst codieren.
mutmut
12. Oktober 2025 um 19:50
7
Ich muss dir gestehen, dass ich mit diesen Filtern nicht alles verstehe
Wenn ich die Dyson-App öffne und auf einen meiner Filter klicke, lande ich hier:
daher zwei verschiedene Filter. Aber wenn ich auf den ersten oder zweiten Kaufen klicke, lande ich beim Doppelfilter, den du zeigst.
Ich habe das Gefühl, dass mein TP04 nicht mehr der Jüngste ist und ich ein bisschen Schwierigkeiten haben werde, die richtigen Filter zu finden.
EDIT: Es sind tatsächlich verschiedene Modelle für meinen und deinen
OK perfekt, das erklärt sich von selbst
Ich hab so ein 2-in-1-Filter-Ding, das kostet 100 Taler (der Betrug).
Hallo zusammen!
Dieses Thema ist nun in Entwicklung .
Ein Pull Request wurde eröffnet, um die Matter-Aktivkohlefilter-Verfolgung hinzuzufügen:
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.
Zögert nicht, dem PR zu folgen, es so früh wie möglich zu testen und euer Feedback hier zu hinterlassen.