Bonjour,
Je cherche toujours à améliorer mon capteur CO² + température + hygrométrie + pression.
la partie précision est atteinte avec l’intégration d’un écran I2C de 0.96" 128 x 64 qui permet un affichage rapide et complet des 4 variables.
Mais à plus d’un mètre, c’est pas lisible.
J’ai donc rajouté une LED PL9823. C’est une led unique, transparente mais c’est une LED adressable qui se comporte comme un ruban LED WS2812, avec une alim en 5V et data in et data out.
sensor:
- platform: mhz19
co2:
name: "Valeur CO² $long_devicename"
id: mhz19_co2
on_value_range:
# - above: 400
- below: 899
then:
- light.addressable_set:
id: status_light # Green
red: 0%
green: 100%
blue: 0%
- above: 900
below: 1499
then:
- light.addressable_set:
id: status_light # Yellow
red: 100%
green: 100%
blue: 0%
- above: 1500
below: 2199
then:
- light.addressable_set:
id: status_light # Orange
red: 100%
green: 50%
blue: 0%
- above: 2200
then:
- light.addressable_set:
id: status_light # Red
red: 100%
green: 0%
blue: 0%
light:
- platform: neopixelbus
name: "Status Light $long_devicename"
pin: GPIO12 # pin d6
variant: WS2812
id: status_light
num_leds: 1
type: rgb
Mais la led ne fonctionne pas bien.
au boot elle reste éteinte, je dois aller l’allumer par l’intermédiaire du serveur web intégré ou depuis HA.
ensuite, une fois allumée, elle changera de couleur en fonction de l’état de la valeur du CO².
en attendant, j’ai créé une automatisation, mais ce que je souhaite c’est que ca marche même offline.
alias: Gestion de la LED d'affichage du niveau de Dioxyde de Carbone.
description: ""
trigger:
- platform: time_pattern
seconds: "15"
condition: []
action:
- choose:
- conditions:
- type: is_carbon_dioxide
condition: device
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: sensor.valeur_co2_capteur
domain: sensor
below: 900
sequence:
- service: light.turn_on
data:
brightness: 127
rgb_color:
- 0
- 249
- 0
target:
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: light.status_light_capteur
- conditions:
- type: is_carbon_dioxide
condition: device
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: sensor.valeur_co2_capteur
domain: sensor
above: 900
below: 1500
sequence:
- service: light.turn_on
data:
rgb_color:
- 255
- 255
- 65
brightness: 126
target:
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: light.status_light_capteur
- conditions:
- type: is_carbon_dioxide
condition: device
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: sensor.valeur_co2_capteur
domain: sensor
above: 1500
below: 2200
sequence:
- service: light.turn_on
data:
rgb_color:
- 255
- 149
- 0
brightness: 126
target:
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: light.status_light_capteur
- conditions:
- type: is_carbon_dioxide
condition: device
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: sensor.valeur_co2_capteur
domain: sensor
above: 2200
below: 8000
sequence:
- service: light.turn_on
data:
rgb_color:
- 255
- 0
- 0
brightness: 126
target:
device_id: 2e2cfeecc66e62b05054472e9e8c1a38
entity_id: light.status_light_capteur
default: []
mode: single
Depuis que j’ai mis le restore_mode: ALWAYS_ON
la Led s’allume toujours au boot, mais elle reste en blanc.
il faut que le taux de CO² passe au dessus de 900 pour qu’elle passe au jaune, ensuite elle repasse au vert et continue à fonctionner normalement.
comment allumer correctement cette led ??? mystère…
Si vous avez des idées, je sèche depuis un bon mois là-dessus.
Je voulais mettre un bleu clair pendant le boot ou si la valeur du CO² était trop basse, mais le plancher de mesure de ce capteur est de 400 ppm, et en ce moment dans Paname, le taux est inférieur à 400 ppm, ce qui fait que le capteur reste scotché à 400 et il faut que je lui crache ma respiration en pleine face pour qu’il trouve quelque chose.
Voici une petite photo du breadboard, en attendant la finalisation complète de l’engin.