ESP home - airthings - ble

Bonjour j’ai un souci on voulant intégrer un airhtings sur esp home.
Tout d’abord c’est la première fois que j’utilise ESPhome donc je suis eu etre passé a coté de quelque chose de gros.
J’essai de suivre la doc du device :

  • J’ai donc installer l’integration esphome sur home assistant os, je n’ai rien rajouter dans la config de l’integration.

  • je vais dans l’UI ajouter un nouveau device,

  • je colle la config de la doc avec la bonne adresse Mac :

  • Je lance l’installation

  • je choisi wirelessly ? (c’est pas dans la doc)

  • la j’ai dans les log de l’install :

INFO Reading configuration /config/esphome/airthings-esp.yaml...
Failed config

'esphome' section missing from configuration. Please make sure your configuration has an 'esphome:' line in it.

J’ai un doute, je peux utiliser le Bluetooth d’un raspberry ou d’un dongle usb ?

Tu as fait un Validate depuis les trois petits points verticaux ?
Quel modèle d’ESP utilises tu, à moins qu’il soit intégré à ton AirThings ?

meme erreure

INFO Reading configuration /config/esphome/airthings-esp.yaml...
Failed config

'esphome' section missing from configuration. Please make sure your configuration has an 'esphome:' line in it.

En faite je comprend pas le fonctionnement d’esphome,… le pugin permet que de « flasher/configurer » du matériel. Donc a quel moment il me donne acces au un device bluetooth distant.
Est ce qu’avec un clef bluetooth et le airthings mentionner ci dessus esphome peut me permettre de lire mon device ?
et surtout ou doit aller mon config ?

sensor:
  - platform: airthings_wave_plus
    ble_client_id: airthings01
    update_interval: 5min # default
    temperature:
      name: "WavePlus Temperature"
    radon:
      name: "WavePlus Radon"
    radon_long_term:
      name: "WavePlus Radon Long Term"
    pressure:
      name: "WavePlus Pressure"
    humidity:
      name: "WavePlus Humidity"
    co2:
      name: "WavePlus CO2"
    tvoc:
      name: "WavePlus VOC"

ble_client:
  - mac_address: 01:02:03:04:05:06
    id: airthings01

esp32_ble_tracker:`

Salut Uowis,

Attention je ne suis pas du tout certain de ce que je vais écrire car je n’ai pas de sonde Airthings et même si j’utilise un peu esphome, je ne maitrise pas suffisamment pour garantir l’exactitude de mes propos.

Mais en regardant rapidement je pense que tu as besoin d’un module esphome (esp32 ou autre), que tu flasheras afin qu’il soit lui même capable de récupérer via bluetooth les infos de la sonde.

En cherchant sur le github esphome j’ai trouvé ce genre de code qui se rapproche un peu :

esphome:
  name: keeyees

esp32:
  board: nodemcu-32s
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "XXXXXXXXXXXXX"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

sensor:
  - platform: airthings_wave_mini
    ble_client_id: airthingsmini1
    update_interval: 5min # default
    temperature:
      name: "B1 WaveMini Temperature"
    pressure:
      name: "B1 WaveMini Pressure"
    humidity:
      name: "B1 WaveMini Humidity"
    tvoc:
      name: "B1 WaveMini VOC"

ble_client:
  - mac_address: F4:60:77:75:19:91
    id: airthingsmini1
    
esp32_ble_tracker:

web_server:
  port: 80

Et ce bout du code précédent :

esphome:
  name: keeyees

Semble bien être celui que les logs t’indiquent comme manquant.

Peut-être que quelqu’un avec plus d’expérience sur ce sujet pourrait t’en dire plus :wink:

Salut @Uowis :wave:,

Merci de participer sur le forum :+1:

:information_source: Lorsque tu postes du code (flow, yaml, js, etc.), utilise les blocs codes :computer:

Pour cela, il te suffit de cliquer sur l’outil dédié et de coller ton code à l’endroit indiqué :

L’équipe HACF.

:hacf:

1 « J'aime »

Oui je crois comprendre qu’un module esp home ne peut se passer d’un réseau local et de la box pour communiquer avec home assistant, par wifi ou Ethernet.
Et au vu de la configuration il me faudra un esp32 pour chaque sonde Airthings ?
Merci pour ton aide je vois mieux commet ca fonctionne.

Au moins pour le wifi c’est vrai, je crois avoir lu sur ce forum que des modules avec ethernet existent mais je n’ai pas vérifié.

Là aussi je pense que oui, mais comme je l’ai écrit plus haut je ne maitrise pas assez ce genre de conf pour le confirmer :confused:

1 « J'aime »

Quand tu mets ça dans ton yaml, c’est juste la partie qui est nécessaire pour ton airthings. Tu ne mets pas la partie configuration de base qui est nécessaire pour faire fonctionner ton ESP.

Comme te l’as montré @Herbs il y a des choses à ajouter à ton fichier.

esphome:
  name: keeyees

esp32:
  board: nodemcu-32s
  framework:
    type: arduino

ça c’est vraiment la première partie qui te permet de défiinir un nom pour ton device, et d’indiqué à esphome sur quelle carte il va être installé (c’est important pour compiler le bon firmware.

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Ensuite si tu veux que ton device communique il faut lui indiquer comment. Dans ce cas par config réseau wifi

web_server:
  port: 80

Si tu veux pouvoir accéder directement à ton device, via ton navigateur internet, il faut activer le serveur web interne

# Enable Home Assistant API
api:

ota:
  password: "XXXXXXXXXXXXX"

cette partie là aussi est importante, car elle te permet d’interfacer directement ton device et HA.

OTA c’est pour les mises à jour.

ESPHOME est un compilateur automatique de firmware pour les ESP. Il te faut une base avec les différents parties que je viens de te décrire (ce qui correspond à l’exemple de @Herbs ). Et puis à la suite dans ton fichier yaml, tu peux ajouter des fonctions à ton ESPHOME. C’est qu’il faudra ajouter la partie airthings.

Voilà, tu as juste été un peu trop vite et sauté une étape très importante. Sans cela ESPHOME ne pourra (et ne voudra pas) compiler ton firmware. Pour un débutant en ESPHOME, c’est presque normal et on ne t’en voudra pas :joy:
Maintenant que tu le sais, tu vas pouvoir corriger tout cela et faire fonctionner ton device.

A+ Fred

1 « J'aime »

Merci c’est beaucoup plus clair maintenant

Si tu arrives à faire en sorte que ton ESP32 capte toutes tes sondes, tu devrais pouvoir mettre plusieur capteurs :

sensor:
  - platform: airthings_wave_plus
    ble_client_id: airthings01
    update_interval: 5min # default
    temperature:
      name: "WavePlus Temperature"
    radon:
      name: "WavePlus Radon"
    radon_long_term:
      name: "WavePlus Radon Long Term"
    pressure:
      name: "WavePlus Pressure"
    humidity:
      name: "WavePlus Humidity"
    co2:
      name: "WavePlus CO2"
    tvoc:
      name: "WavePlus VOC"
  - platform: airthings_wave_plus
    ble_client_id: airthings02
    update_interval: 5min # default
    temperature:
      name: "WavePlus2 Temperature"
    radon:
      name: "WavePlus2 Radon"
    radon_long_term:
      name: "WavePlus Radon2 Long Term"
    pressure:
      name: "WavePlus2 Pressure"
    humidity:
      name: "WavePlus2 Humidity"
    co2:
      name: "WavePlus2 CO2"
    tvoc:
      name: "WavePlus2 VOC"

ble_client:
  - mac_address: 01:02:03:04:05:06
    id: airthings01
  - mac_address: 02:03:04:05:06:07
    id: airthings02

esp32_ble_tracker:

En changeant le name par quelque chose de plus précis si tu le souhaites bien sûr et avec les autres éléments de config comme te l’a expliqué @bricodx :slight_smile:

Bonjour,
Depuis les dernières version de HA, il y a l’intégration Bluetooth, j’ai testé juste pour voir si je récupérai des infos de ma montre Mi Band mais sans réel succès, comme ceci :
J’ai flashé un ESP32 pour qu’il découvre mes périphériques Bluetooth.
Il m’en a trouvé tellement (67) que j’ai enlevé la conf :rofl:
Voir le sujet Bluetooth avec Raspberry Pi 4B
J’ai donc laissé tombé car j’étais sur autre chose pour l’instant.
Bob