projets:home-assistant:esphome:noeud-basique-mesures-environnementales:bme680
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
projets:home-assistant:esphome:noeud-basique-mesures-environnementales:bme680 [27/10/2023 02:17 ] – ajout du yaml simple dans la section code simple Audrey Robinel | projets:home-assistant:esphome:noeud-basique-mesures-environnementales:bme680 [04/04/2024 15:35 ] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 27: | Ligne 27: | ||
esphome: | esphome: | ||
name: " | name: " | ||
- | + | | |
- | esp32: | + | esp8266: |
- | board: | + | board: |
- | framework: | + | |
- | type: arduino | + | |
logger: | logger: | ||
Ligne 50: | Ligne 48: | ||
password: " | password: " | ||
- | | + | ## on définit les GPIO du bus I2C |
i2c: | i2c: | ||
- | sda: GPIO21 | + | sda: D1 # à changer si carte différente |
- | scl: GPIO22 | + | scl: D2 # à changer si carte différente |
scan: True | scan: True | ||
id: bus_a | id: bus_a | ||
Ligne 64: | Ligne 62: | ||
sensor: | sensor: | ||
- | - platform: bme280 # on ajoute le capteur bme280 | ||
- | # Doc esphome: https:// | ||
- | temperature: | ||
- | name: " | ||
- | pressure: # définition du capteur de pression atmo du bme280 | ||
- | name: " | ||
- | humidity: # définition du capteur d' | ||
- | name: " | ||
- | address: 0x76 #sur certaines variantes du capteur, changer pour 0x77 | ||
- | update_interval: | ||
- | # ou moins souvent, par exemple 10s ou 5m. | ||
- | |||
- platform: bme680_bsec # multi capteurs atmosphériques (qualité de l'air) | - platform: bme680_bsec # multi capteurs atmosphériques (qualité de l'air) | ||
# documentation esphome : https:// | # documentation esphome : https:// | ||
Ligne 128: | Ligne 114: | ||
==== Code avancé ==== | ==== Code avancé ==== | ||
+ | |||
+ | |||
+ | <file yaml bme680adv.yaml > | ||
+ | substitutions: | ||
+ | devicename: station2 # nom de l' | ||
+ | |||
+ | esphome: | ||
+ | name: ${devicename} # la valeur définie plus haut sera placée ici | ||
+ | |||
+ | esp8266: | ||
+ | board: nodemcuv2 | ||
+ | |||
+ | logger: | ||
+ | |||
+ | # Enable Home Assistant API | ||
+ | api: | ||
+ | encryption: | ||
+ | key: " | ||
+ | # voir https:// | ||
+ | # il y a sur la page un générateur de clé aléatoire | ||
+ | # changez et mettez une autre valeur pour votre noeud | ||
+ | |||
+ | ota: | ||
+ | # le mot de passe OTA sera récupéré dans sectets.yaml | ||
+ | password: !secret ota_password | ||
+ | # décommenter la ligne ci après pour définir le mot de passe ici | ||
+ | # password: " | ||
+ | wifi: | ||
+ | # le ssid et le password wifi seront récupérés dans sectets.yaml | ||
+ | ssid: !secret wifi_ssid | ||
+ | password: !secret wifi_password | ||
+ | # | ||
+ | # ssid: " | ||
+ | # password: " | ||
+ | |||
+ | |||
+ | ## on définit les GPIO du bus I2C | ||
+ | i2c: | ||
+ | sda: D1 # à changer si carte différente (GPIO21 pour esp32) | ||
+ | scl: D2 # à changer si carte différente (GPIO22 pour esp32) | ||
+ | scan: True | ||
+ | id: bus_a | ||
+ | |||
+ | sensor: | ||
+ | - platform: bme680_bsec # multi capteurs atmosphériques (qualité de l'air) | ||
+ | # documentation esphome : https:// | ||
+ | temperature: | ||
+ | name: " | ||
+ | id: station2_bme680_temperature | ||
+ | sample_rate: | ||
+ | filters: | ||
+ | - offset: -2.0 | ||
+ | - sliding_window_moving_average: | ||
+ | window_size: | ||
+ | send_every: 20 | ||
+ | pressure: # pression atmosphérique | ||
+ | name: " | ||
+ | id: station2_bme680_pressure | ||
+ | sample_rate: | ||
+ | filters: | ||
+ | - sliding_window_moving_average: | ||
+ | window_size: | ||
+ | send_every: 20 | ||
+ | humidity: # humidité dans l'air | ||
+ | name: " | ||
+ | id: station2_bme680_humidity | ||
+ | sample_rate: | ||
+ | filters: | ||
+ | - sliding_window_moving_average: | ||
+ | window_size: | ||
+ | send_every: 20 | ||
+ | iaq: # indice de qualité de l'air (calculé) | ||
+ | name: " | ||
+ | id: station2_bme680_iaq | ||
+ | filters: | ||
+ | - sliding_window_moving_average: | ||
+ | window_size: | ||
+ | send_every: 10 | ||
+ | co2_equivalent: | ||
+ | name: "taux CO2 équivalent (${devicename})" | ||
+ | id: station2_bme680_eco2 | ||
+ | filters: | ||
+ | - sliding_window_moving_average: | ||
+ | window_size: | ||
+ | send_every: 10 | ||
+ | breath_voc_equivalent: | ||
+ | name: "COV équivalents dans le souffle (${devicename})" | ||
+ | id: station2_bme680_bvoc | ||
+ | filters: | ||
+ | - sliding_window_moving_average: | ||
+ | window_size: | ||
+ | send_every: 20 | ||
+ | |||
+ | # mesure la force du signal wifi reçu en dB | ||
+ | # documentation : https:// | ||
+ | - platform: wifi_signal | ||
+ | name: " | ||
+ | update_interval: | ||
+ | |||
+ | # donne l' | ||
+ | # documentation : https:// | ||
+ | # ici on ajoute des calculs pour avoir un format lisible (j:h:m:s) | ||
+ | - platform: uptime | ||
+ | name: " | ||
+ | id: ${devicename}_uptime_sensor | ||
+ | update_interval: | ||
+ | on_raw_value: | ||
+ | then: | ||
+ | - text_sensor.template.publish: | ||
+ | id: ${devicename}_uptime_human | ||
+ | state: !lambda |- | ||
+ | int seconds = round(id(${devicename}_uptime_sensor).raw_state); | ||
+ | int days = seconds / (24 * 3600); | ||
+ | seconds = seconds % (24 * 3600); | ||
+ | int hours = seconds / 3600; | ||
+ | seconds = seconds % 3600; | ||
+ | int minutes = seconds / 60; | ||
+ | seconds = seconds % 60; | ||
+ | return ( | ||
+ | (days ? String(days) + "j " : "" | ||
+ | (hours ? String(hours) + "h " : "" | ||
+ | (minutes ? String(minutes) + "m " : "" | ||
+ | (String(seconds) + " | ||
+ | ).c_str(); | ||
+ | |||
+ | text_sensor: | ||
+ | # on présente l' | ||
+ | # documentation https:// | ||
+ | - platform: wifi_info | ||
+ | ip_address: | ||
+ | name: " | ||
+ | id: ${devicename}_ip_address | ||
+ | |||
+ | - platform: template | ||
+ | # on présente l' | ||
+ | name: " | ||
+ | id: ${devicename}_uptime_human | ||
+ | icon: mdi: | ||
+ | |||
+ | # version de espHome utilisée | ||
+ | # https:// | ||
+ | - platform: version | ||
+ | name: " | ||
+ | id: ${devicename}_ESPHome_Version | ||
+ | |||
+ | </ | ||
projets/home-assistant/esphome/noeud-basique-mesures-environnementales/bme680.1698373028.txt.gz · Dernière modification : 04/04/2024 15:35 (modification externe)