Espressif ESP32-S3-WROOM-1 dans Home Assistant

Bonjour,

Je possède une carte ESP32-S3-WROOM-1 et j’aimerais la gérer avec ESPHome dans home assistant.

Quand je branche ma carte, je peux l’ajouter et y accéder via l’ordinateur depuis ESPHome.
Je lance la configuration, mais le wifi ne se connecte jamais.

Voici la configuration yml :

esphome:
  name: esphome-web-33dfb0
  friendly_name: ESPHome Web 33dfb0

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "bDlga3ymazc0ceN8V/416xCuSszv3hTmEtxZKgrQk78="

ota:


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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-33Dfb0"
    password: "1uGORz4b8i0F"

captive_portal:
    

Cependant, quand je fais ça ça ne fonctionne pas, il reste offline.

J’ai essayé une installation via le site web.esphome.io et là, tout fonctionne et j’accède même au dashboard de ma carte via le réseau wifi via son IP.

Home Assistant le reconnait, et me demande de l’installer, lorsque je l’install, il ne fonctionne plus (la connexion WIFI échoue à chaque tentatives, avec les messages suivants :

W][wifi_esp32:458]: Event: Disconnected ssid='Eoras - Private' bssid=[redacted] reason='4-Way Handshake Timeout'
[W][wifi:648]: WiFi Unknown connection status 0
[I][wifi:304]: WiFi Connecting to 'Eoras - Wifi'...
[W][wifi_esp32:458]: Event: Disconnected ssid='Eoras - Private' bssid=[redacted] reason='4-Way Handshake Timeout'
[W][wifi:648]: WiFi Unknown connection status 0
[D][wifi:459]: Starting scan...

Avecweb.esphome mon ESP32 reste bien conencté mais quand je lance l’installation depuis homeassistant plus rien ne fonctionne :frowning:

Avez-vous déjà eu ce problème ?
Est-ce que j’ai loupé quelque chose dans ma configuration ?

Je vous remercie infiniement de votre aide

As-tu essayé en remplaçant le nom de ta board dans ton fichier config ? en lolin_s3

esp32:
  board: lolin_s3
  framework:
    type: arduino

Salut

As-tu essayé avec le ssid et mot de passe directement ?
Regarde la gestion des secrets ici : Frequently Asked Questions — ESPHome

essaye avec un nom sans - et sans _

sinon, compile ton binaire en mode « manual download »
tu te met sur ton esp flashé en web et tu passe par le « ota update » pour charger le nouveau binaire.

Du coup j’ai réussi à tout faire fonctionner comme je voulais, je vous partage mon code :

esphome:
  name: esp-test
  friendly_name: ESP-TEST
  on_boot:
    priority: 600
    then:
      - light.turn_on:
          id: voyant_led
          effect: 'Pulse led'
          red: 100%
          green: 0%
          blue: 0%
          
esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

logger:
  level: verbose

api:
  encryption:
    key: "bDlga3ymazc0ceN8V/416xCuSszv3hTmEtxZKgrQk78="

ota:
  password: "6cad9f7f241c70785c9555f79fe411f6"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Esphome-Web-33Dfb0"
    password: "1uGORz4b8i0F"

  on_disconnect:
    - light.turn_on:
        id: voyant_led
        effect: 'Pulse led'
        green: 0%
        blue: 100%
        red: 0%
  on_connect:
    - light.turn_off:
        id: voyant_led

captive_portal:

light:
  - platform: neopixelbus
    type: GRB
    name: "Board Light"
    pin: GPIO48
    variant: WS2812
    id: voyant_led
    num_leds: 1
    effects:
      - pulse:
      - pulse: 
          name: 'Pulse led'
          transition_length: 0.5s
          update_interval: 0.5s
          min_brightness: 0%
          max_brightness: 100%

text_sensor:
  - platform: wifi_info
    ip_address:
      name: Adresse IP
    ssid:
      name: Wifi connecté
    mac_address:
      name: Adresse Mac

sensor:
  - platform: wifi_signal
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy
    source_id: wifi_signal_db
    name: "WiFi Signal %"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "%"
    entity_category: "diagnostic"
1 « J'aime »