Bonjour,
Suite à une demande sur l’intégration externe j’ai fais remonter ces 3 nouvelles informations :
Claude avait effectivement relevé le point bloquant :
Le point qui bloquait
Le CLAUDE.md disait que NO₂, O₃ et SO₂ n’ont pas de catégorie de concentration dans Gladys et que seul leur sous-indice était publiable.
Est-il possible de rajouter ces catégorie de fonctionnalité de l’appareil au même titre que PM10 et PM2.5 svp ?
Voici les différents seuils donnés par l’IA :
Pour Gladys, je ferais encore plus simple
Si ton but est de déclencher des scénarios domotiques, je mettrais 4 seuils :
NO₂
< 40 µg/m³
40–100
100–200
> 200
O₃
< 100 µg/m³
100–160
160–240
> 240
SO₂
< 40 µg/m³
40–100
100–300
> 300
Merci
La PR est ici :
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.
Et le retour de claude à la fin du dev:
Deux points à connaître
Zigbee2MQTT n’a pas été câblé : il n’expose pas de propriété standard pour ces gaz, je n’ai pas voulu inventer un nom de clé.
Matter non plus : les clusters NitrogenDioxideConcentrationMeasurement etc. sont déjà mappés côté Gladys sur no2-matter-index-sensor (un niveau 0-4, pas une concentration). Les brancher supposerait de lire l’attribut MeasuredValue en plus du LevelValue — faisable, mais c’est un chantier distinct.
Le badge compare la valeur brute aux seuils sans convertir l’unité : une feature déclarée en mg/m³ sera mal colorée. C’est le comportement actuel de PM2.5/PM10, je l’ai gardé identique plutôt que de diverger sur trois catégories.
Et c’est testé avec des appareils MQTT
@pierre-gilles
J’ai corrigé ce que cursor à remonté sur la PR
Est-ce qu’il y a besoin de corriger également ce que coderabbit à remonté ?
Top !
Dis juste à Claude « Il y a des retours sur la PR » dans la conversation où tu as fait le développement, et Claude lit tous les retours, et de lui-même répond aux messages, avise sur les retours à faire, n’implémente que s’il est d’accord avec les retours (tous les retours ne sont pas pertinents, c’est un débat !)
@prohand J’ai regardé et c’est bon pour moi, merci pour la PR ! C’est mergé.
pierre-gilles:
Dis juste à Claude « Il y a des retours sur la PR » dans la conversation où tu as fait le développement, et Claude lit tous les retours, et de lui-même répond aux messages, avise sur les retours à faire, n’implémente que s’il est d’accord avec les retours (tous les retours ne sont pas pertinents, c’est un débat !)
Pas de soucis je ferrai ceci la prochaine fois
Merci
Je ferme ce post car la fonctionnalité est disponible dans Gladys Assistant 4.86 :
Salut à tous !
Super heureux de sortir Gladys Assistant 4.86.
C’est simple, c’est la plus grosse version depuis le début du projet, avec 68 PR fusionnées en une semaine
C’est juste incroyable, et ça montre le nouveau rythme qu’on peut tenir avec l’IA.
L’objectif est maintenant clair : rattraper et dépasser Home Assistant
Je vous parle de ces 68 nouveautés ici :
Merci à tous les contributeurs !!