Brak możliwości akualizacji YAML

witam wszystkich

jako że zielony użytkownik proszę o wyrozumiałość.

jak wyżej zauważyłem jestem zielony w temacie utknąłem na samym początku.
wgrałem firmware na ESP32 skompilowane w ESP HOME BUILDER
HA wykrył urządzenie zaadaptował je i gdy chciałem wgrać zmiany w pliku YAML’a to wyskakuje błąd i nic dalej sie nie dzieje.

Zaraz zostaniesz zbesztany, bo nie napisałeś jednej ważnej rzeczy: jaki błąd?

Wklej tu wynik twoich błędów kompilacji, wklej twój plik *.yaml który chcesz wgrać do twojego ESP.

chyba będzie najlepiej jak wrzucę zrzut loga:

INFO ESPHome 2026.2.1
INFO Reading configuration /config/esphome/esphome-web-a47b30.yaml...
INFO Generating C++ source...
INFO Compiling app... Build path: /data/build/esphome-web-a47b30
Processing esphome-web-a47b30 (board: esp32dev; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - contrib-piohome @ 3.4.4 
 - framework-espidf @ 3.50502.0 (5.5.2) 
 - tool-cmake @ 4.0.3 
 - tool-esp-rom-elfs @ 2024.10.11 
 - tool-esptoolpy @ 5.1.2 
 - tool-ninja @ 1.13.1 
 - tool-scons @ 4.40801.0 (4.8.1) 
 - toolchain-xtensa-esp-elf @ 14.2.0+20251107
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).'
-- Minimal build - OFF
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- The ASM compiler identification is unknown
-- Found assembler: xtensa-esp32-elf-gcc
-- Warning: Did not find file Compiler/-ASM
-- 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/project.cmake:589 (__project):
  The CMAKE_C_COMPILER:

    xtensa-esp32-elf-gcc

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
  CMakeLists.txt:3 (project)


CMake Error at /data/cache/platformio/packages/framework-espidf/tools/cmake/project.cmake:589 (__project):
  The CMAKE_CXX_COMPILER:

    xtensa-esp32-elf-g++

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
  CMakeLists.txt:3 (project)


CMake Error at /data/cache/platformio/packages/framework-espidf/tools/cmake/project.cmake:589 (__project):
  The CMAKE_ASM_COMPILER:

    xtensa-esp32-elf-gcc

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "ASM" or the CMake cache entry CMAKE_ASM_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
  CMakeLists.txt:3 (project)



========================= [FAILED] Took 11.75 seconds =========================

Wklej YAML a nie wynik

Tak i jeszcze dodaj twój kod *.yaml

esphome:
  name: esphome-web-a47b30
  friendly_name: ESPHome test
  min_version: 2025.11.0
  name_add_mac_suffix: false

esp32:
  variant: esp32
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
- platform: esphome

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

#przełącznik
switch:
  - platform: gpio
    pin: GPIO23
    name: "switch test"

framework: na pewno masz dobry? Nie powinien być

framework:
    type: arduino

A dlaczego?
Teraz IDF jest domyślny dla wszystkiego oprócz ESP8266/8285 i RPi pico (oraz platformy LibreTiny mają inne rozwiązania, ale chyba nikt początkujący ich nie używa).

A MCU to “starego typu” ESP32 (Xtensa LX6) więc jak najbardziej IDF jest OK

ALE pomijając wszystko chyba nie zgadniemy co jest nie tak bez poprzedniej wersji YAMLa…

Jakkolwiek pierwsze co bym zrobił to Clean Build Files.

Oraz kompilację i wgranie po kabelku

A pomijając wszystko ten YAML jest totalnie pusty, więc można wszystko wywalić i zrobić od nowa nie popełniająć już błędów w kluczowych miejscach

Poprawiłem już raz, ale musisz się nauczyć że do wstawiania yaml/logów użyj znaku(`)(akcent grawis) który znajduje się na klawiszu razem z tyldą(~), a dokładnie trzy razy (```) i zamknij tak samo

Czyli:
```
logi lub kod
```

Chodzi o to aby się rozczytać z tych logów bo jak wstawisz byle jak to wychodzi tak że tego nieodczytasz.

Zmień sobie fragment esp32:

esp32:
  board: esp32dev
  framework:
    type: esp-idf

Arduino niby było by “lepsze”, ale nie polecam.

1 polubienie

no nie wiem?
skorzystałem z funkcji HA do tworzenia firmware.
W pierwzym kroku chciałem stworzyć prosty przełącznik typu 0/1.
Do mojego ESP32 wgrałem stworzony firmware, połączyłem się ze sprzętem w HA (jest online).
dodałem w kodzie prosty przełącznik i chciałem go wgrać do urządzenia i wyskoczył błąd pare dni sam kombinuje i nic, to się poradziłem mądrzejszych głów

Odpowiedź masz post wyżej, ten twój YAML jest sprzed kilku lat (musiałeś go zedytować według jakiegoś wiekowego tutoriala…)
Nie czytaj wykopalisk tylko aktualną dokumentację.

edit - skreślenie ta podpowiedź jest błędna

jakbym miał czas to spojrzałbym w Dokumentację, jest jasne, że ta konfiguracja jest prawidłowa

No właśnie od kiedy się już nie używa variant chyba od wersji ESPHome 2023, albo wcześniej.

I to też mi się nie podoba

to zostało stworzone przez ESP HOME BUILDER 2 tygodnie temu

Czy nikt nie zauważył że nie masz linijki captive_portal: nad switchem ?

1 polubienie

captive_portal: nie jest obowiązkowym elementem, ba niektóre platformy sprzętowe nadal go nie obsługują, i nie jest tu do niczego potrzebny, bo
OTA odbywa się kanałem API
ale tu głównym problemem jest przestarzały YAML

oraz jak przypuszczam, OP usunął z autogenerowanego YAMLa klucze i nie wiem co jeszcze

Poświęcę trochę czasu później (wygeneruję nowe urządzenie, to będzie wiadomo co faktycznie zostało nadmiernie wychlastane).

1 polubienie

po zmianie jak powyżej wyskakuje tak

Failed config

esp32: [source /config/esphome/esphome-web-a47b30.yaml:8]

Unknown value ‘ESP32DEV’, did you mean ‘ESP32’, ‘ESP32S3’, ‘ESP32S2’?.
variant: esp32dev

chyba teraz dobrze wkleiłem loga?

a co tu jest nie halo? to wszytsko automat generuje.

Ponieważ tak jak piszę variant nie używa się chyba od 2023 teraz obowiązuje board:

A to repo według mnie jest dzwneponiewż dociąga z forka i chyba to powoduje problemy.

Gdzie ten ładnie wklejony log?
Wytrzymaj cierpliwie, albo zacznij wszystko od zera (tj. usuń sprzęt z integracji, kafelek z Buildera), bo i tak raczej tego nie unikniemy. I wgraj sobie świeżutki czysty wsad tu
https://web.esphome.io
Zaadoptuj i wklej do posta jaki masz YAML… (taki “pusty” = “bez niczego od siebie”). UWAGA tam wystartuje prawdopodobnie jakaś kompilacja wstępna i nie wolno jej anulować (jak będziesz zaawansowany to będziesz sobie robił to inaczej ale na razie weź coś z gotowca).

Pewna część autogenerowanego YAMLa jest “święta” (przyjmij, że całość) i jej się nie modyfikuje póki nie będziesz wiedział co można robić, a czego nie.

W ogóle zacznę analizować informacje od początku, bo mam wrażenie, że ominąłeś jakiś dla wszystkich oczywisty, a niepomijalny krok…