projets:home-assistant:esphome:noeud-basique-mesures-environnementales:bme280
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:bme280 [27/10/2023 00:56 ] – [Code] Audrey Robinel | projets:home-assistant:esphome:noeud-basique-mesures-environnementales:bme280 [04/04/2024 15:35 ] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 22: | Ligne 22: | ||
===== Code ===== | ===== Code ===== | ||
+ | |||
+ | ==== Code basique ==== | ||
+ | Ce code simple fonctionne directement avec nos kits. Si vous avez plusieurs nœuds, prenez soin de changer " | ||
<file yaml bme280simple.yaml > | <file yaml bme280simple.yaml > | ||
esphome: | esphome: | ||
name: " | name: " | ||
- | esp32: | + | esp8266: |
- | board: | + | board: |
- | framework: | + | |
- | type: arduino | + | |
logger: | logger: | ||
Ligne 48: | Ligne 49: | ||
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 |
sensor: | sensor: | ||
- platform: bme280 # on ajoute le capteur bme280 | - platform: bme280 # on ajoute le capteur bme280 | ||
+ | # Doc esphome: https:// | ||
temperature: | temperature: | ||
name: " | name: " | ||
Ligne 66: | Ligne 68: | ||
update_interval: | update_interval: | ||
# ou moins souvent, par exemple 10s ou 5m. | # ou moins souvent, par exemple 10s ou 5m. | ||
- | |||
</ | </ | ||
- | ==== Code basique ==== | ||
==== Code avancé ==== | ==== Code avancé ==== | ||
+ | Ce code reprend toutes les fonctionnalités du code précédent, | ||
+ | et en plus ajoute des capteurs " | ||
+ | Si vous devez changer le nom du noeud, il suffit de changer la ligne 2 et modifier " | ||
+ | |||
+ | <file yaml bme280adv.yaml > | ||
+ | substitutions: | ||
+ | devicename: station1 # 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: 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: | ||
+ | |||
+ | # 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/bme280.1698368204.txt.gz · Dernière modification : 04/04/2024 15:35 (modification externe)