ESP32 geht nach Flash via ESPHome Add-on offline, aber Basis-Flash via Web klappt

Hallo zusammen,

ich versuche gerade, eine elektrische Beamer-Leinwand mit einem ESP32 und einem 2-Kanal-Relais in Home Assistant zu integrieren, aber ich stecke bei einem sehr merkwürdigen Problem fest und hoffe, ihr könnt mir helfen.

Meine Hardware:

  • Ein älteres, minimalistisches ESP32-WROOM-32 Board (ohne eingebaute USB-Schnittstelle oder Tasten).

  • Ein externer USB-zu-Seriell-Adapter für die Verbindung zum PC.

  • Ein selbst angelöteter Schalter, um GPIO0 auf GND zu ziehen und den Flash-Modus manuell zu aktivieren.

Das zentrale Problem: Der ESP32 funktioniert und verbindet sich einwandfrei mit meinem WLAN, wenn ich ihn über die Webseite web.esphome.io mit der dort angebotenen generischen Basis-Firmware flashe. Er taucht danach sofort in meiner Fritz!Box mit einer IP-Adresse auf.

Sobald ich aber irgendeine Firmware flashe, die ich mit meinem ESPHome Add-on in Home Assistant (Version 2025.9.3) kompiliert habe, bleibt das Board nach dem Neustart offline. Es verbindet sich nicht mit dem WLAN, taucht nicht in der Fritz!Box auf und startet auch keinen Fallback-Hotspot.

Was funktioniert (Beweis, dass die Hardware okay ist):

  1. Ich gehe auf web.esphome.io.

  2. Ich verbinde den ESP32 und nutze die Funktion zur Ersteinrichtung (“Install”).

  3. Ich gebe meine WLAN-Daten direkt auf der Webseite ein.

  4. Nach dem Neustart ist der ESP32 sofort online.

Was NICHT funktioniert:

  1. Ich erstelle eine Konfiguration im ESPHome Add-on in HA.

  2. Ich kompiliere die Firmware und lade die .bin-Datei herunter.

  3. Ich flashe diese .bin-Datei erfolgreich (Upload zu 100%) über web.esphome.io.

  4. Nach dem Neustart (Schalter für Flash-Modus ist aus) bleibt das Gerät offline.

Was wir bereits alles versucht haben, um den Fehler zu finden:

  • WLAN-Daten sind zu 100% verifiziert (SSID & Passwort).

  • Sowohl statische IP als auch DHCP versucht.

  • Eine absolut minimale “Rettungs-Firmware” (nur wifi, api, ota) kompiliert und geflasht → geht auch nicht.

  • Beide Frameworks (arduino und esp-idf) in der YAML getestet.

  • Eine stabile Stromversorgung über ein Handy-Netzteil sichergestellt.

  • Der Flash-Vorgang selbst (via USB mit dem Schalter) funktioniert jedes Mal zuverlässig.

Es scheint also eine Inkompatibilität zwischen der Firmware, die mein ESPHome Add-on baut, und meinem spezifischen Board zu geben.

Hier ist der finale, vollständige Code, der zum Absturz führt:

YAML

esphome:
  name: beamerleinwand
  friendly_name: Beamer Leinwand

# PLATTFORM-DEFINITION
esp32:
  board: esp32dev
  framework:
    type: esp-idf

logger:
  baud_rate: 115200
  level: DEBUG

api:

ota:
  platform: esphome
  # Ein Passwort wurde hier testweise auch schon entfernt, ohne Erfolg.

wifi:
  # WLAN-Daten sind 100% korrekt und im Router (Fritz!Box) überprüft.
  # 2.4 GHz und 5 GHz Netze sind getrennt.
  ssid: "Patres"
  password: "DEIN_WLAN_PASSWORT"

  # STATISCHE IP-EINSTELLUNGEN
  manual_ip:
    static_ip: 192.168.178.149
    gateway: 192.168.178.1
    subnet: 255.255.255.0

# SCHALTER-DEFINITION: Steuert die Relais
switch:
  - platform: gpio
    pin: 
      number: GPIO2 
      inverted: true
    id: screen_up_relay
    
  - platform: gpio
    pin: 
      number: GPIO4 
      inverted: true
    id: screen_down_relay

# COVER-DEFINITION: Die Leinwand-Logik
cover:
  - platform: time_based
    name: "Beamer Leinwand"
    device_class: blind
    
    open_duration: 25s 
    close_duration: 25s
    
    open_action:
      - switch.turn_on: screen_up_relay
      
    close_action:
      - switch.turn_on: screen_down_relay

    stop_action:
      - switch.turn_off: screen_up_relay
      - switch.turn_off: screen_down_relay

Meine Frage an euch: Hat jemand eine Idee, warum eine lokal mit dem HA Add-on kompilierte Firmware auf diesem speziellen, älteren Board nicht startet, während die generische Firmware von der Webseite funktioniert? Gibt es bekannte Inkompatibilitäten oder einen Trick, den wir übersehen haben? Ich habe wirklich ca. 4h mit Gemini probiert das Problem zu lösen da es mein erstes ESP Projekt ist.

Vielen Dank im Voraus für eure Hilfe!

Vorab: Ich habe mich schon seit längerer Zeit nicht mehr mit ESPHome befasst und ich benutze auch noch die inzwischen ziemlich alte Version 2024.5.5 von dem ESPHome Addon, :laughing: aber

warum lädst Du die Firmware als *.bin herunter und flasht die dann über web.esphome.io und die zweite Frage ist dann was passiert wenn Du den yaml-Code per Validate überprüfen lässt. Läuft das normal durch und am Ende kommt ein INFO Configuration is valid!?

Bei mir ist es auch (noch) so das man für die Wifi-Zugangsdaten die secrets.yaml unter HA genutzt hat, sprich der entspreche Teil im Code dann so aussah:

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

Aber wie gesagt bin ich bzgl. ESPHome nicht mehr up to date und somit weiß ich auch nicht was sich da in den letzten rund 1 1/2 Jahren ggf. so alles geändert hat. :slightly_smiling_face: Somit kann es auch sein das das was ich hier geschrieben haben quasi alles “Quatsch” ist. :laughing:

VG Jim

Hi,

ich habe das immer über die Website gemacht, weil ich hier immer eine erfolgreichen Flashing Versuch hatte während ich direkt über Home Assistant nie bis zum Flashen kam (sprich Fehler). Home Assistant läuft auf einem pi 5 die ganze Fasching Arbeit habe ich an einem PC gemacht falls das was ändert oder falls es wichtig ist.

Auf die Idee mit der Seite kam Gemini als es über Home Assistant nicht funktioniert hat und Valid habe ich nie gedrückt weil es die KI nicht verlangt hat🫣 wie gesagt mache das, dass erste mal. Das Passwort war beim ersten Code auch mit diesem Secret hatte aber Probleme gemacht und wurde dann von der ki raus genommen.

LG Marcel

Was da irgendeine KI meint, vorschlägt oder macht weiß ich natürlich nicht. Ich bin halt “Old-school”, :laughing: nutze für solche Dinge keine KI und versuche mich da eher immer einzulesen. Aber wie schon erwähnt bin ich bei ESPHome nicht up to date und ich habe nur beschreiben wie das damals so lief, bzw. wie ich damals vorgegangen bin, als ich mich noch mehr mit ESPHome beschäftigt hatte. D.h. ich kann Dir dazu dann leider auch nicht mehr sagen/vorschlagen.

VG Jim

Es ist mir schon etwas unangenehm aber ich habe das Problem gefunden und gelöst. Es war die Falsche Bezeichnung mit der ich gearbeitet habe und somit hat mir die Ki einen Falschen code geschrieben. Ich ging die ganze Zeit von einem ESP32 aus und es ist aber ein ESP8266. Als mir das aufgefallen ist ging es danach sofort und anstandslos, habe auch dein !secret verwendet.

Trotzdem Danke für die Hilfe

LG

Marcel

Gut darauf muss man natürlich erst einmal kommen, :laughing: weil:

Aber wenn es jetzt funktioniert ist ja alles gut. :slightly_smiling_face:

VG Jim

1 „Gefällt mir“