ESPhome - wymiana ESP8266 na ESP32

Cześć,
chciałbym wymienić płytkę ESP8266 na ESP32.
Ta stara działa ale chciałbym ją wymienić bo nie mogę jej już zaktualizować (nowe biblioteki zajmują za dużo pamięci).
Oczywiście jest sporo encji związanych z tym urządzeniem, które to encje są używane w różnych automatyzacjach i na dashboardach.
Chciałbym więc wymienić urządzenie tak, żeby nie stracić tych encji, żeby HA “nie pokapował się”, że mu podmieniłem urządzenie.
Znalazłem pewnien opis w sieci ale nie pasuje mi jedna rzecz:

1 Zapisz konfigurację urządzenia: Skopiuj konfigurację urządzenia (np. plik YAML) i zapisz ją w bezpiecznym miejscu.
2 Usuń integrację urządzenia: W Home Assistant przejdź do „Ustawienia” → „Urządzenia i usługi” → zakładka „Integracje”. Znajdź odpowiednie urządzenie ESPHome, kliknij menu z trzema kropkami i wybierz „Usuń”.
3 Nie usuwaj konfiguracji z ESPHome Add-on: Ważne, aby nie usuwać konfiguracji urządzenia z dodatku ESPHome, ponieważ tam przechowywana jest oryginalna konfiguracja.
4 Zrestartuj Home Assistant: Po usunięciu integracji urządzenia, uruchom ponownie Home Assistant.
5 Przygotuj nowe urządzenie: Podłącz nowe urządzenie i wgraj na nie zapisany wcześniej plik konfiguracji. Upewnij się, że w konfiguracji nie ma „friendly_name”, ponieważ może to zmienić nazwy encji.
6 Dodaj nowe urządzenie: Po wgraniu konfiguracji, nowe urządzenie powinno zostać automatycznie wykryte w Home Assistant. Jeśli nie, dodaj je ręcznie przez „Dodaj integrację” → ESPHome.
7 Sprawdź nazwy encji: Upewnij się, że nazwy encji są takie same jak w poprzednim urządzeniu. Jeśli nie, dostosuj je ręcznie w Home Assistant, aby pasowały do poprzednich.

I nie pasuje mi tutaj, że mam nie usuwać konfiguracji z ESPHome (3) a potem mam dodać kolejne urządzenie i wrzucić do niego konfigurację yaml, którą wcześniej zapisałem (5).

Może ktoś już wcześniej wykonywał podobną operację i ma z tym doświadczenie?

A może wystarczy:

  1. odłączyć starą płytkę
  2. zmienić w konfiguracji (ESPHome Builder) “platform” na ESP32
  3. podłączyć nową płytkę przez USB i wgrać konfigurację
    ?

Eksperyment mogę przeprowadzić w tej chwili (dzisiaj) jedynie na RPi Pico W podmieniając różne egzemplarze 1 do 1.

  1. Bieżący yaml przekopiuj sobie np. do notatnika
  2. Usuń całkowicie urządzenie
  3. Restart HA
  4. Po uruchomieniu pojawią się błędy o braku encji itp, podpinasz nowe ESP, dodajesz do z dokładnie taka sama nazwa.
  5. Po skompilowaniu możesz przekopiować zawartość starego yamla (wiadomo że bez linijek konfiguracyjnych).
  6. Kompilujesz nowy wsad
  7. Dodajesz je do HA

Ważny jest restart bo bez niego utworzy ci sensory z dopiskiem 2.

Czyli zarówno z integracji jak i z Buildera?

To istotna uwaga. Dzięki.

Tak. Pamietaj o backupu w razie jakby coś nie poszło :smile:

To podstawa.

Wieczorem mam zamiar przeprowadzić operację. Pochwalę się jak poszło :wink:

2 Likes

A więc można tak jak pisał @boskikak
ale można też tak:

  1. Usunąć urządzenie z integracji ESPHome:
    Ustawienia → Urządzenia oraz usługi → ESPHome → trzy kropki przy danym urządzeniu → Usuń
  2. Restart Home Assistant (wtedy znikną encje)
  3. w ESPHome Builder kliknąć EDIT na danym urządzeniu
  4. Zmienić wpis dotyczący platformy.
    U mnie było:
esp8266:
  board: esp01_1m

Zmieniłem na:

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: arduino

No i jeśli ktoś w kodzie ma zadeklarowane GPIO to trzeba dostosować bo każda płytka może mieć naczej.
5. Potem INSTALL na danym urządzeniu
6. Home Assitant powinien pokazać nowe urządzenie w integracjach. Należy kliknąć Dodaj.

Tak u mnie zadziałało.
Obie instrukcje różnią się tym, że @boskikak robił kopię konfiguracji (uważam, że należy ją zawsze robić) i usuwał całe urządzenie w ESPHome Builder a ja tylko poprawiałem konfigurację na instniejącym urządzeniu.
Myślę, że obydwa podejścia są prawidłowe.

4 Likes