Intégration du "sensirion VOC index"

Bonjour,

Le capteur IKEA Vindstyrka permet de mesurer l’humidité, température, PM2.5 ainsi qu’un indice VOC.

Cette dernière mesure est reportée par le « Sensirion VOC index » dans zigbee2mqtt :
L’indice a une échelle de 0 à 500 avec pour valeur de référence 100 qui représente la qualité moyenne de l’air au cours des 24h dernières heures.
Une mesure inférieure à 100 indique une amélioration de la qualité de l’air, et au-dessus une dégradation.

Cette mesure n’est pas prise en charge par Gladys. Est-il possible de l’intégrer dans gladys ?

Merci

Bonjour @wtuxii,

Je pense plutôt qu’il faudrait travailler sur l’intégration de ce capteur, mais le « VOC » (ou COV en Français) est déjà supporté.
image

Je ne sais plus qui avait travaillé là dessus, @pierre-gilles ou @cicoub13 ?

Est-ce que les VOC = voc_index ?

On gère déjà les VOC dans Zigbee2mqtt, mais je trouve ça étonnant qu’IKEA ait créé une variable différente, est-ce que c’est vraiment la même unité ?

Cf :

Bonne question, je n’avais pas pensé que c’était peut être différent, my bad.

La marque explique :

The VOC Index describes the current VOC status in a room relative to the sensor’s
recent history. In this way, the VOC Index behaves like a human nose

Effectivement, ce sont bien deux types différents.

Le VOC retourne une valeur absolue alors que le voc_index est en fait plutôt une dérivée.

Pour l’intégration dans l’UI on pourrait interpréter sa valeur par des flèches comme le fait l’écran du capteur :
:arrow_upper_right: dégradation de la qualité de l’air
:arrow_right: stable
:arrow_lower_right: amélioration de la qualité de l’air

Exposer la valeur numérique est aussi utile pour les scènes, par exemple régler la puissance d’un purificateur

On peut le faire avec les couleurs dans Gladys (rouge => pas bien, etc…)

Quelle serait la règle pour ce capteur ? Si quelqu’un fait le développement ici, il faut pré-mâcher le travail :slight_smile:

On pourrait se baser sur la doc :

0 - 150 : vert
150 - 250 : jaune
250 - 400 : orange
400 - 500 : rouge

Ok :slight_smile: Je laisse les gens voter pour ce développement alors, n’hésite pas à voter toi même @wtuxii, on priorise les développements en fonction des votes !

@wtuxii,
Est-ce que cela te conviens?

image

image

image

image

Es tu prêt pour installer une image de test et tester en réel?

l’image pour test
willde71/gladys-test:voc_index

@pierre-gilles, la PR

nickel :ok_hand:

Est-il possible de changer la couleur de la flèche dans le graphique ?
:arrow_upper_right: rouge :arrow_lower_right: vert

idem pour les PM2.5

Dans les graphiques c’est un développement a part. Car il n’y a pas que ces données a inverser je crois.
Le mieux c’est de faire une demande de développement

Il y a un paramètre dans le front Gladys dans les charts pour indiquer si une donnée est « positive » ou « négative » pour mettre la flèche en rouge ou vert :slight_smile: Tu peux regarder dans le component de Chart tu devrais le trouver facilement !

Si c’est pas le cas dis moi :slight_smile:

Ok je regarde et je te redit

Edit: J’ai trouvé!
image
Le seul hic c’est que la valeur de voc_index n’a pas d’unité! Pour les autres données pas de souci.

ah ! il va falloir modifier le code alors ^^

ou alors créer un type unit « sans unité » sans modifier le code dans les charts.
Preneur du idée sinon.

On pourrais peut-être faire un sujet spécifique (et un PR) pour la modification des données dans les graphiques?
Car pour l’instant il n’y a que DEVICE_FEATURE_UNITS.WATT_HOUR qui est inversé.

si cela peut aider

Non je pense pas que ce soit une bonne idée, il faut modifier le code !

Oui carrément

Ok dans ce cas tu pourras déjà faire une review de cette PR.

Je regarde pour faire une autre PR pour la modification dans les charts.

Merci pour la PR @Will_71 ! :slight_smile: Je t’ai fais un retour: