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 [25/10/2023 14:15 ] – [Montage] Oliver Watté | projets:home-assistant:esphome:noeud-basique-mesures-environnementales:bme680 [04/04/2024 15:35 ] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== ESPhome / BME 280 ====== | + | ====== ESPhome / BME 680 ====== |
| ===== Montage ===== | ===== Montage ===== | ||
| Ligne 20: | Ligne 20: | ||
| Toute cette documentation est diffusée sous [[https:// | Toute cette documentation est diffusée sous [[https:// | ||
| + | |||
| + | ===== Code ===== | ||
| + | |||
| + | ==== Code basique ==== | ||
| + | <file yaml bme680simple.yaml > | ||
| + | esphome: | ||
| + | name: " | ||
| + | | ||
| + | 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: | ||
| + | password: " | ||
| + | |||
| + | wifi: | ||
| + | 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 | ||
| + | |||
| + | bme680_bsec: | ||
| + | # documentation esphome : https:// | ||
| + | address: 0x77 | ||
| + | iaq_mode: static | ||
| + | sample_rate: | ||
| + | |||
| + | 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 (station2)" | ||
| + | id: station2_bme680_eco2 | ||
| + | filters: | ||
| + | - sliding_window_moving_average: | ||
| + | window_size: | ||
| + | send_every: 10 | ||
| + | breath_voc_equivalent: | ||
| + | name: "COV équivalents dans le souffle" | ||
| + | id: station2_bme680_bvoc | ||
| + | filters: | ||
| + | - sliding_window_moving_average: | ||
| + | window_size: | ||
| + | send_every: 20 | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== 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.1698243332.txt.gz · Dernière modification : 04/04/2024 15:35 (modification externe)