Ajouter bibliothèque à ESPHome

Macintosh_76 Messages postés 47 Date d'inscription lundi 30 mars 2020 Statut Membre Dernière intervention 23 décembre 2023 - 30 oct. 2023 à 19:03

Bonjour à tous ...

J'essaie d'intégrer la librairie Adafruit AHTX0 pour mon capteur de température et d'humidité aht2x.
Lorsque j'écris le fichier yaml pour ma carte ESP8266 Wemos D1 R2, je ne peux pas utiliser cette librairie. J'ai donc essayé avec la librairie aht10 mais lorsque je l'installe sur l'ESP, la carte ne peut pas lire le capteur car ce n'est pas la bonne librairie. J'ai donc cherché sur internet et j'ai trouvé que je devais créer un capteur personnalisé.

Je ne sais pas comment le créer pour mon capteur.
Si quelqu'un peut m'aider s'il vous plaît.

Je vous remercie.

PS : J'ai HA os sur un rasperry pi3 et ESPHome comme add-on.

#ifndef AHT2X_SENSOR_H
#define AHT2X_SENSOR_H

#include <Wire.h>
//#include <Adafruit_Sensor.h>
#include "Adafruit_AHTX0.h"
#include <esphome.h>

class Aht2xCustomSensor : public esphome::Component, public esphome::PollingComponent {

 public:
  Aht2xCustomSensor() : PollingComponent(60000) {} // Lire toutes les 60 secondes

  void setup() override {
    Serial.begin(9600);
    while (!Serial)
      delay(10); // attendre la connexion série

    Serial.println("Démarrage du capteur AHT...");
    if (!aht.begin()) {
      Serial.println("Erreur lors de l'initialisation du capteur AHT!");
      while (1);
    }
    Serial.println("Capteur AHT20/AHT21 prêt !");
  }

  void update() override {
    // Lire les données d'humidité et de température
  sensors_event_t humidity, temperature;
  aht.getEvent(&humidity, &temperature);
  delay(2000);
  }
};

#endif  // AHT2X_SENSOR_H
esphome:
  name: capteur-ch
  friendly_name: °C_%
  includes:
    - aht2x-sensor.h


esp8266:
  board: d1

# 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: "Capteur-Ch Fallback Hotspot"
    password: "....."

captive_portal:

# Configuration du capteur AHT2x
i2c:
  sda: D2
  scl: D1

sensor:
  - platform: custom
    lambda: |-
      auto myAht2xCustomSensor = new Aht2xCustomSensor();
      App.register_component(myAht2xCustomSensor);
      return {myAht2xCustomSensor};



    sensors:
      name: "Custom_AHT2X"

A voir également: