Nodemcu V3 przestało łączyć się z wifi - ERROR Error resolving IP address of .......local. Is it connected to WiFi?

Płytka Nodemcu v3 prawdopodobnie do czasu aktualizacji oprogramowania HA i ESP działała poprawnie. Teraz wykazuje błąd informujący o braku połączenia z WiFi podczas prób instalacji zmienionego kodu.
Po zalogowaniu się do HA nadal mogę sterować bramą (bo do tego służy) i płytka łączy się za pomocą WiFi nie mogę tylko przesłać do niej po wifi aktualizacji oprogramowania.
Problem ten pojawił się również na innych płytkach.

Błąd jaki pokazuje sie podczas kompilacji (ten istotny fragment wg mnie)
ERROR Error resolving IP address of bramy.local. Is it connected to WiFi?
ERROR (If this error persists, please set a static IP address: WiFi Component — ESPHome)
ERROR Error resolving IP address: Error resolving address with mDNS: Did not respond. Maybe the device is offline., [Errno -5] No address associated with hostname

yaml

esphome:
  name: bramy
esp8266:
  board: nodemcuv2
# Enable logging
logger:
# Enable Home Assistant API
api:
  encryption:
    key: "*******"
ota:
  password: "********"
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Akwarium Fallback Hotspot"
    password: "umOK9XcSmDeG"
captive_portal:
   
switch:
  - platform: gpio
    pin:
      number: D1 #1.2
      inverted: true
    id: relay1
    name: "BRAMA 1"
    on_turn_on:
     - delay: 1sec
     - switch.turn_off: relay1
   
  - platform: gpio
    pin:
      number: D2 #2.2
      inverted: true
    id: relay2
    name: "BRAMA 2"  
    on_turn_on:
     - delay: 1sec
     - switch.turn_off: relay2
INFO Reading configuration /config/esphome/akwarium.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing bramy (board: nodemcuv2; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- ESPAsyncTCP-esphome @ 1.2.3
|-- ESPAsyncWebServer-esphome @ 2.1.0
|   |-- ESPAsyncTCP-esphome @ 1.2.3
|   |-- Hash @ 1.0
|   |-- ESP8266WiFi @ 1.0
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
|   |-- libsodium @ 1.10018.1
RAM:   [====      ]  41.7% (used 34180 bytes from 81920 bytes)
Flash: [=====     ]  46.3% (used 483941 bytes from 1044464 bytes)
========================= [SUCCESS] Took 3.35 seconds =========================
INFO Successfully compiled program.
INFO Resolving IP address of bramy.local
ERROR Error resolving IP address of bramy.local. Is it connected to WiFi?
ERROR (If this error persists, please set a static IP address: https://esphome.io/components/wifi.html#manual-ips)
ERROR Error resolving IP address: Error resolving address with mDNS: Did not respond. Maybe the device is offline., [Errno -5] No address associated with hostname

a nie zmieniłeś nic w DNSie albo routerze albo DNS na routerze? Ogólnie problem jest z rozwiązaniem nazwy, możesz w DNS na routerze dodać nadpisanie resolve’a z bramy.local na konkretny adres IP i będzie działać.

Więc wydaje się, że jednak nie ma problemu z mDNS.

Natomiast ostatnia aktualizacja Dodatku (czyli IDE) ESPHome do 2022.12.6 (trochę dziwna numeracja wersji, biorąc pod uwagę kiedy wyszła ta aktualizacja) powoduje dziwaczne problemy, ja sugeruję odinstalować dodatek, jeśli w Sklepie są zdublowane wystąpienia ESPHome (tj. mamy po 2x wszystkie 3 wersje Dodatku), to usunąć repozytorium bodajże (nie pamiętam nazwy, będzie się kojarzyło z esphome, ale nie mam teraz czasu na odpalanie starej wersji) prawdopodobnie takie: https://github.com/esphome/ i zainstalować ponownie po restarcie maszyny.
W instalacjach produkcyjnych używamy wersji stabilnej (pierwsza z brzegu po lewej), pozostałe są dla tych którzy je faktycznie potrzebują (tylko dla testerów i deweloperów mających dodatkowe dedykowane instalacje HA lub chociaż zdają sobie sprawę z podwyższonego ryzyka używania nieprzetestowanych wersji).

Odinstalowałem ESPHome, uruchomiłem ponownie HA i zainstalowałem na nowa ESPHome niestety nie pomogło. Dziś pojawiła się nowa wersja ESPHome 2022.12.7 niestety tez nie pomogło.
W sklepie nie miałem podwójnych wersji po włączeniu tryby zaawansowanego pojawiły się faktycznie 3 ESPHome ESPHome(beta) ESPHome (dev) oczywiście instalowałem ta pierwsza.

No to masz jakiś problem z konfiguracją sieci, co jest o tyle dziwne, że urządzenia działają, choć nie powinny.

Proponuję następujący trik
przed kompilacją naciśnij LOGS przy danym urządzeniu (a następnie Wirelessly) - powinieneś otrzymać logi urządzenia, jeśli się nie pojawią od razu poczekaj do timeoutu i powtórz operację kilka razy.

Jeśli są logi to ich nie zamykaj, a otwórz następne okno HA w którym odpalisz sobie kompilację.


Jeśli powyższe nie pomaga, to ręcznie zrestartuj urządzenie ESP np. na chwilę odcinając mu zasilanie i spróbuj ponownie.

Jeśli i to nie pomoże mimo kilku prób jak powyżej to pozostaje klasyczne flashowanie “po kabelku”.


PS Kluczowe pytanie - czy zrestartowałeś maszynę (hosta) na której pracuje HA czy sam serwer HA (bo wielu użytkowników to myli - ten drugi jest ukryty znacznie głębiej)?

Logi

INFO Reading configuration /config/esphome/akwarium.yaml...
INFO Starting log output from bramy.local using esphome API
WARNING Can't connect to ESPHome API for bramy.local: Error resolving IP address: [Errno -5] No address associated with hostname
INFO Trying to reconnect to bramy.local in the background

i nic poza tym

Jeżęli chodzi o resetowanie to restartowałem cały serwer na którym postawione jest HA.

W tej chwili robie to tak:
Podłączam płytkę po kablu do komputera (nie tego na którym mam HA)
W ESPHome wybieram install → Manual download → Open ESPHome Web → connect
Wybieram płytkę i następnie chyba resetuje płytkę czyli prepare for first use
Nastepnie p[odpinam do sieci
Następnie w ESPHome pojawia mi sie dana płytka i muszę ją ADOPTować.
I wtedy po zmianie nazwy na istniejącą to ta poprzednia zaczyna działąć.
Jak usunę tą starą to przy nowej muszę pamiętać o zmianie nazy płytki na nodemcuv2.

Jest to zapewne obejście problemu dookoła ale z uwagi, że tych urządzeń u mnie nie ma wiele mogę się poświęcić.

Dziękuję wszystkim za pomoc.

Zmieniłeś coś w konfiguracji swojej sieci?

Wydaje mi się, że nie ale jakiś czas nie zaglądałem do HA mogę nie pamiętać.

W ogóle możesz otrzymać dopowiedz w sieci lokalnej używając polecanie ping w konsoli Windows
ping -t bramy.local

Teraz tak poniewaz przeinstalowałem wszystko. Czy wcześniej to nie wiem ponieważ nie mam już jak sprawdzić.

Jak dla mnie to grzebałeś coś w nazwach plików/urządzeń dopiero teraz znalazłem niekonsekwencję.

Oczywiście nazwa urządzenia może nie być zgodna z nazwą pliku YAML, ale parę miesięcy (?) temu wprowadzono nowy mechanizm w IDE ESPHome - teraz zmiana nazwy jest zautomatyzowana (co ułatwia życie), ale… trzeba skorzystać z funkcji zmiany nazwy w IDE i nie przerywać skryptu, a jego pierwszym ruchem jest kompilacja nowego wsadu i sflaszowanie urządzenia (jak dotąd robiłem to jedynie z wykorzystaniem OTA), “pod spodem” jest też kopiowany YAML na nową nazwę, a stary usuwany po udanym flashowaniu (więc jeśli zrobisz taki ruch offline lub metodą która nie sprawdza sukcesu, to nowe nazwy nie pasują do nieprzeflaszowanych urządzeń).

edit: Sprawdziłem na (IDE) ESPHome 2022.12.8 i:

  • skrypt wyłącznie wykorzystuje OTA
  • obecnie zawsze sprawdza sukces flaszowania
  • a w przypadku przerwania jego pracy zostajemy z 2 kopiami YAMLa - starego i nowego (z różnymi nazwami zarówno YAMLi jak i urzadzeń)