Hello,
Following a request about external integration, I have brought up these 3 new pieces of information:
Claude had indeed noted the blocking point:
The blocking point
The CLAUDE.md stated that NO₂, O₃, and SO₂ do not have a concentration category in Gladys and that only their sub-index could be published.
Is it possible to add these device functionality categories on par with PM10 and PM2.5, please?
Thank you
The PR is here:
master ← prohand:claude/air-quality-no2-o3-so2-72g6vy
ouvert 08:49AM - 11 Aug 26 UTC
Air quality devices report gaseous pollutant concentrations next to the particul… ate ones, but Gladys could only model PM2.5 and PM10. Add three sibling categories holding the raw mass concentration of NO2, O3 and SO2, with the same plumbing as the particulate categories:
- constants: the three categories with their scope comment, and the mass concentration units they accept (mg/µg/ng per cubic meter)
- front: icon, English/French/German translations, climate history group, MQTT catalog defaults (µg/m³, 0-1000, read only) and preview values
- dashboard badge: a four-level color helper, so the badge turns green / yellow / orange / red on the guideline thresholds of each gas (NO2 40/100/200, O3 100/160/240, SO2 40/100/300 µg/m³)
- MQTT: the matching Home Assistant discovery device classes
- HomeKit: the NitrogenDioxideDensity, OzoneDensity and SulphurDioxideDensity characteristics, merged into the shared AirQualitySensor service
- MCP: the categories join the sensor and history feature lists
Claude-Session: https://claude.ai/code/session_01Lvz85g8gzN3eBXRYnBuDGD
### Description
## Forum
### Checklist
- [ ] Tests pass: `cd server && npm run coverage` (Codecov requires 100% coverage on changed lines) and Cypress (`npm run cypress:run`) if the UI changed
- [ ] Linter and prettier pass on both front and server (`npm run eslint`, `npm run prettier`)
- [ ] No undocumented breaking change
## Summary by CodeRabbit
* **New Features**
* Added support for NO₂, O₃, and SO₂ air-quality sensors.
* Displayed pollutant readings with localized labels, units, icons, and safe/warning/alert color ranges.
* Added sensor history and configuration support, including previews and value ranges.
* Integrated NO₂, O₃, and SO₂ readings with HomeKit and Home Assistant.
* **Tests**
* Added coverage for pollutant value conversion and air-quality notifications.
And Claude’s feedback at the end of development:
Two points to note
Zigbee2MQTT has not been wired: it does not expose a standard property for these gases, I did not want to invent a key name.
Matter also does not: the NitrogenDioxideConcentrationMeasurement clusters are already mapped on the Gladys side to no2-matter-index-sensor (a level 0-4, not a concentration). Connecting them would require reading the MeasuredValue attribute in addition to the LevelValue — feasible, but it’s a separate project.
The badge compares the raw value to thresholds without converting the unit: a feature declared in mg/m³ will be incorrectly colored. This is the current behavior of PM2.5/PM10, I kept it the same rather than diverging on three categories.
And it’s tested with MQTT devices
@pierre-gilles
I fixed what cursor flagged in the PR
Do we also need to fix what coderabbit flagged?
Great!
Just tell Claude « There are comments on the PR » in the conversation where you did the development, and Claude reads all the comments, responds to messages on his own, advises on the feedback to be addressed, and only implements if he agrees with the feedback (not all feedback is relevant, it’s a debate!).
@prohand I’ve checked and it’s good for me, thanks for the PR! It’s merged.
pierre-gilles:
Just tell Claude « Il y a des retours sur la PR » in the conversation where you did the development, and Claude reads all the feedback, and of his own accord responds to the messages, advises on the feedback to be made, and only implements if he agrees with the feedback (not all feedback is relevant, it’s a debate!)
No problem, I’ll do this next time
Thanks
I am closing this post as the feature is available in Gladys Assistant 4.86:
Hi everyone!
Super excited to release Gladys Assistant 4.86.
It’s simple, it’s the biggest version since the start of the project, with 68 PRs merged in one week
It’s just incredible, and it shows the new pace we can keep with AI.
The goal is now clear: catch up with and surpass Home Assistant
I’ll talk about these 68 new features here:
Thanks to all the contributors!!