ESP32-C3 Supermini über ESPhome Builder programmieren

Hallo Leute,
ich habe vor etwa drei Tagen einen ESP32-C3 Supermini über ESPHome erfolgreich programmiert. Mein HA und ESPHome hatten da noch den Stand von 2024. Dann habe ich HA, ESPHome Builder und den ESP upgedated. Im Anschluß habe ich an dem Programm des ESP etwas umprogrammiert und wollte das Programm hochladen. Es kam immer eine Fehlermeldung. Also habe ich über Web- ESPHome den ESP32 “Prepare for the first use” neu aufgesetzt. Seitdem kommt ständig der folgende Log-Eintrag. Kann jemand helfen?

"INFO ESPHome 2025.6.1
INFO Reading configuration /config/esphome/pv-batterieuberwachung.yaml...
INFO Generating C++ source...
INFO Updating https://github.com/espressif/esp-protocols.git@mdns-v1.8.2
INFO Compiling app...
Processing pv-batterieuberwachung (board: esp32-c3-devkitm-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/53.03.13/platform-espressif32.zip)
--------------------------------------------------------------------------------
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.50302.0 (5.3.2) 
 - tool-cmake @ 3.30.2 
 - tool-esptoolpy @ 4.8.6 
 - tool-mklittlefs @ 3.2.0 
 - tool-ninja @ 1.10.2 
 - tool-riscv32-esp-elf-gdb @ 14.2.0+20240403 
 - tool-xtensa-esp-elf-gdb @ 14.2.0+20240403 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-riscv32-esp @ 13.2.0+20240530
Reading CMake configuration...
-- git rev-parse returned 'fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).'
-- Building ESP-IDF components for target esp32c3
Processing 1 dependencies:
[1/1] idf (5.3.2)
-- Configuring incomplete, errors occurred!

fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at /data/cache/platformio/packages/framework-espidf/tools/cmake/build.cmake:268 (message):
  Failed to resolve component 'cxx'.
Call Stack (most recent call first):
  /data/cache/platformio/packages/framework-espidf/tools/cmake/build.cmake:304 (__build_resolve_and_add_req)
  /data/cache/platformio/packages/framework-espidf/tools/cmake/build.cmake:607 (__build_expand_requirements)
  /data/cache/platformio/packages/framework-espidf/tools/cmake/project.cmake:710 (idf_build_process)
  CMakeLists.txt:3 (project)



========================= [FAILED] Took 22.72 seconds ========================="

Habe hier “Plug into this Computer” benutzt. Eine Verbindung zu meinem Netzwerk funktioniert ja nicht.

Weiß jemand wo ich dieses Gerät für immer löschen oder deaktivieren kann? Taucht immer wieder auf, obwohl es das nicht gibt

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

Hi, die Geräte kannst Du direkt in ESPHome builder löschen. Bei dem jeweiligen Modul was Du löschen willst auf die 3 Punkte da steht dann löschen. Für die Programmierung empfehle ich den ESP direkt an den PC zu hängen wo auch ESpHome läuft. Ich hab die ERfahrung gemscht das das dann auch funktioniert, zumindest bei der Erstinstallation wo dann Wlan und die Security Einstellungen programmiert werden. Später kann man das über Wlan machen.

Hallo Manfred,
genauso bin ich anfangs auch vorgegangen… ich bekomme weder per USB noch WLAN das Programm auf den ESP.

Es gibt bei einigen ESPen das Problem das die in den Bootmodus versetzt werden müssen. Hab ich auch gehabt und es steht nirgends wie man das richtig macht. Man muss nämlich den Bootmodus aktivieren so lange bis es in der Programmierung angezeigt wird das er programmiert wird. Bei dem Connecten, bei mir ein Raspberry, muss in den Secrets das Wlan eingetragen sein dann kann man erst die Grundkonfiguration programmieren und dann über Edit die zusätzlichen Daten eintragen, anschliessend wieder programmieren dann sollte es klappen.

Also irgendetwas wird da installiert

wenn er sich verbinden möchte, dann kommt

Das Gerät bekomme ich nicht mehr online

Habe dann versucht einfach den Gerätenamen um zu benennen

INFO Configuration is valid!
INFO ESPHome 2025.6.1
INFO Reading configuration /config/esphome/pv-batterieuberwachung1.yaml...
INFO Generating C++ source...
INFO Core config, version or integrations changed, cleaning build files...
INFO Updating https://github.com/espressif/esp-protocols.git@mdns-v1.8.2
Traceback (most recent call last):
  File "/usr/local/bin/esphome", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/esphome/esphome/__main__.py", line 1089, in main
    return run_esphome(sys.argv)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 1076, in run_esphome
    rc = POST_CONFIG_ACTIONS[args.command](args, config)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 514, in command_run
    exit_code = write_cpp(config)
                ^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 215, in write_cpp
    return write_cpp_file()
           ^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 233, in write_cpp_file
    writer.write_cpp(code_s)
  File "/esphome/esphome/writer.py", line 341, in write_cpp
    copy_src_tree()
  File "/esphome/esphome/writer.py", line 307, in copy_src_tree
    copy_files()
  File "/esphome/esphome/components/esp32/__init__.py", line 964, in copy_files
    repo_dir, _ = git.clone_or_update(
                  ^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/git.py", line 105, in clone_or_update
    run_git_command(["git", "reset", "--hard", "FETCH_HEAD"], str(repo_dir))
  File "/esphome/esphome/git.py", line 32, in run_git_command
    raise cv.Invalid(err_str)
voluptuous.error.Invalid: fatal: Unable to create '/data/idf_components/72fcfc78/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

Habe Google bemüht und der spuckt so etwas aus
https://stackoverflow.com/questions/9282632/git-index-lock-file-exists-when-i-try-to-commit-but-i-cannot-delete-the-file

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

1.) Öffne mit dem Editor den Yaml code
2.) Prüfe, ob im Code alles für das Netzwerk korrekt eingestellt wurde
z.B.


esphome:
  name: testprojekt
  friendly_name: test-d1mini

esp8266:
  # board: esp01_1m
  board: d1_mini

# Activates logger support
logger:

# Required for Homeassistant web interface
api:
  encryption:
    key: "fdsfdsfdsfbgsbdhhhhsdhshh"

ota:
  - platform: esphome
    password: "sscsdscsdc"

wifi:
  ssid: "MY_SSID"
  password: "MY_NETWORK_KEY"
  
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "FALLBACK_SSID"
    password: "FALLBACK_PW"
  # ssid: !secret wifi_ssid
  # password: !secret wifi_password

# After 1 minute of unsuccessful WiFi connection attempts, the ESP will start a WiFi hotspot (with the credentials ap: from your configuration)
captive_portal:
.
.
.

3.) Erstelle eine “Manual Dowload” Version (.bin File, welches auf der Festplatte deines PCs gespeichert wird.

4.) Lade dir den ESPHome-Flasher runter (Release 1.4.0 · esphome/esphome-flasher · GitHub) für eine Windows PC z.B. " ESPHome-Flasher-1.4.0-Windows-x64.exe "
5.) ESP Board per USB an PC anschließen
6.) ESPHome-Flasher entpacken und exe starten
7.) Unter “Serial Port” oben den COM Port wählen, an dem der ESP angeschlossen ist
8.) Unter “Firmware”=>Browse nach dem bin-File suchen, welches von dir bei 3.) erzeugt wurde.
9.) ESP flashen
10.) Flasher benden, ESP Abziehen und wieder anstecken
11.) Verbindung zu ESP überprüfen.

Sieht laut den Fehlermeldungen allerdings so aus, als würde irgendetwas mit deinem Code nicht stimmen. Vielleicht solltest du den gesamten Code hier mal posten.

Bei Punkt 3. kommt immer eine Fehlermeldung

da gehts einfach nicht weiter… muss für heute Schluß machen. Danke schon mal

Der Fehler liegt wohl daran das bei der Web-Oberfläche zum programmieren nicht die Wlan Daten programmiert werden. Das kommt erst wenn die Programmierung fertig ist, wenn man auf next klickt. Auch sollte man grundsätzlich Edge als Explorer nehmen andere haben da so ihre Probleme. Dann muss bei dem ESP der Boot-Button und der Reset gehalten werden, ist ein wenig schwierig, anschliessend, nach dem anschliessen dan den PC, den Reset loslassen und den Boot weiter halten bis man auf dem Display Erase sieht, erst dann loslassen, weil dann erst der ESP erkannt wurde. Deshalb mach ich das immer direkt am Raspberry mit dem ESP.

Würdest du mir bitte zur Sicherheit genau schreiben, wie du das am Raspi machst? Schritt für Schrit.

Danke

Das ist ganz einfach. Bei mir läuft HA auf einem Raspberry 4, auf dem ist ESPHome Builder installiert. Das kann man direkt in HA installieren. Dann kann man jeden ESP direkt in den USB - Port stecken und darüber programmieren. Wenn der ESP einmal programmiert ist kann man den Abziehen und irgendwo platzieren weil man dann Zugriff über Wlan hat. Beim ESPHome Builder muss nur einmal die datei secrets eingerichtet werden so werden dann immer di eDaten für das Wlan mit programmiert. Anschliessend kann man unter der Zeile captive die Zeilen eintragen die man programmieren will. Dabei wird einem auch gleich angezeigt wenn etwas nicht stimmt bei der Programmierung.

Hallo Manfred,
leider genau die gleiche Fehlermeldung wie am Laptop…