Bonjour à tous,
Du temps ou j’étais sur domoticz, j’avais fait un AirCan (mesure de la qualité de l’air ) qui fonctionnait à merveille sous ESP Easy mis au point par StephDes. https://easydomoticz.com/forum/viewtopic.php?t=5520
les mesures concernaient CO2-température-hygrométrie-poussière PM10 - PM 2,5 et comportait un affichage sur 3 lignes des valeurs.
Enfin, un ruban de 3 LED WS2812 permettait un visuel rapide de la qualité de l’air:
Très bon : bleu foncé
Bon : bleuté
Moyen : vert
Médiocre : jaune
Mauvais : orange
Très mauvais : rouge
Depuis, j’ai migré avec bonheur sur HA et je commence a bidouiller mes premier modules sous ESP home.
J’aurais souhaité migrer aussi mon AirCan sous HA avec ESP Home mais je crains d’avoir vu un peu grand pour mon niveau.
Je galère avec mon code montré ci dessous:
esphome:
name: aircan3
friendly_name: AirCan3
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "******************************************************"
ota:
password: "**************************************"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Aircan3 Fallback Hotspot"
password: "HEOldXfPtXCd"
uart: #*********** premiers tests pour l'afficheur avant que je lise https://esphome.io/components/display/ssd1306
- id: sensor_1
rx_pin: GPIO0
baud_rate: 9600
- id: sensor_2
rx_pin: GPIO14
tx_pin: GPIO12
baud_rate: 9600
captive_portal:
i2c:
sda: D1
scl: D2
display:
- platform: ssd1306_i2c
model: "SSD1306 64x48"
reset_pin: D0
address: 0x3C
lambda: |-
it.print(0, 0, id(font), "Hello World!"); # que marquer pour récupérer valeurs ?
sensor:
- platform: mhz19
co2:
name: "CO2"
temperature:
name: "CO2 Temperature"
update_interval: 60s
automatic_baseline_calibration: false
- platform: dht
pin: GPIO16
temperature:
name: "Temp AirCan"
humidity:
name: "Humidité AirCan"
update_interval: 60s
- platform: sds011
pm_2_5:
name: "Particules <2.5µm Concentration"
pm_10_0:
name: "Particules <10.0µm Concentration"
update_interval: 5min
#light:****** là, je ne sais pas encore; ce sera le dernier truc auquel je m'attaquerai !
# - platform: neopixelbus
# type: RGB
# variant: WS2811
# pin: GPIO15
# num_leds: 3
# name: "AirCan LED"
# - platform: binary
# name: "SenseNode D4Led"
# output: D4led
# id: aircanled
ci dessous les erreurs générées:
INFO ESPHome 2023.11.6
INFO Reading configuration /config/esphome/aircan3.yaml...
Failed config
display.ssd1306_i2c: [source /config/esphome/aircan3.yaml:45]
platform: ssd1306_i2c
model: SSD1306_64X48
reset_pin:
number: 16
mode:
output: True
analog: False
input: False
open_drain: False
pullup: False
pulldown: False
inverted: False
address: 0x3C
Couldn't find ID 'font'. Please check you have defined an ID with that name in your configuration.
lambda: !lambda |-
it.print(0, 0, id(font), "Hello World!"); # que marquer pour récupérer valeurs ?
auto_clear_enabled: True
brightness: 1.0
contrast: 1.0
flip_x: True
flip_y: True
offset_x: 0
offset_y: 0
invert: False
update_interval: 1s
sensor.mhz19: [source /config/esphome/aircan3.yaml:53]
Too many candidates found for 'uart_id' type 'uart::UARTComponent' Some are 'sensor_1', 'sensor_2'.
platform: mhz19
co2:
name: CO2
disabled_by_default: False
force_update: False
unit_of_measurement: ppm
icon: mdi:molecule-co2
accuracy_decimals: 0
device_class: carbon_dioxide
state_class: measurement
temperature:
name: CO2 Temperature
disabled_by_default: False
force_update: False
unit_of_measurement: °C
accuracy_decimals: 0
device_class: temperature
state_class: measurement
update_interval: 60s
automatic_baseline_calibration: False
sensor.sds011: [source /config/esphome/aircan3.yaml:69]
Too many candidates found for 'uart_id' type 'uart::UARTComponent' Some are 'sensor_1', 'sensor_2'.
platform: sds011
pm_2_5:
name: Particules <2.5µm Concentration
disabled_by_default: False
force_update: False
unit_of_measurement: µg/m³
icon: mdi:chemical-weapon
accuracy_decimals: 1
device_class: pm25
state_class: measurement
pm_10_0:
name: Particules <10.0µm Concentration
disabled_by_default: False
force_update: False
unit_of_measurement: µg/m³
icon: mdi:chemical-weapon
accuracy_decimals: 1
device_class: pm10
state_class: measurement
update_interval: 5min
rx_only: False
J’ai été voir comment paramétrer l’UART (Custom UART Device — ESPHome) mais comme j’en ai deux (UART on est d’accord hein ? ) … je manque d’exemples et je reste bloqué là…
Je crois avoir lu quelque part qu’il fallait que je précise quelle police je devais utiliser
Si quelqu’un n’est pas rebuté par ce texte trop long et veut bien me donner un coup de main ce ne serait pas de refus !
En bonus si quelqu’un veut se lancer, la liste du matos:
1x WEMOS D1 mini (ou ESP8266)
1 x DHT 22
1 x module CO2 MH-Z19 de 0 à 2000 PPM ou de 0 à 5000 PPM
1 x module mesure poussière laser SDS011
1 x Shield OLED 0,48" WEMOS
3 x LED WS2812
et le plan de câblage: