ESPHome nie raportuje stanu urządzeń

Panel ESPHome pokazuje wszystkie urządzenia jako offline. Urządzenia mają stałe IP, wszystkie podłączone do routera. Urządzenia wyświetlają logi. Home Assistant odczytuje wszystkie dane z urządzeń.


156202865-5ce5eb7d-eb21-4c0f-ab49-d240635e986c

fragment kodu YAML

esphome:
  name: kociol-co
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 10.10.8.7
    gateway: 10.10.8.1
    subnet: 255.255.255.0

log esphome

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 
-----------------------------------------------------------
 Add-on: ESPHome
 ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
-----------------------------------------------------------
 Add-on version: 2022.2.5
 You are running the latest version of this add-on.
 System: Home Assistant OS 7.4  (amd64 / generic-x86-64)
 Home Assistant Core: 2022.2.9
 Home Assistant Supervisor: 2022.01.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] 10-requirements.sh: executing... 
[cont-init.d] 10-requirements.sh: exited 0.
[cont-init.d] 20-nginx.sh: executing... 
[cont-init.d] 20-nginx.sh: exited 0.
[cont-init.d] 30-dirs.sh: executing... 
[cont-init.d] 30-dirs.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[17:04:33] INFO: Waiting for dashboard to come up...
[17:04:34] INFO: Starting ESPHome dashboard...
2022-03-01 17:04:34,707 INFO Starting dashboard web server on unix socket /var/run/esphome.sock and configuration dir /config/esphome...
[17:04:35] INFO: Starting NGINX...
2022-03-01 17:06:17,006 INFO 304 GET / (0.0.0.0) 13.30ms
2022-03-01 17:06:17,054 INFO 200 GET /static/fonts/material-icons/material-icons.css?hash=ead4c276 (0.0.0.0) 13.64ms
2022-03-01 17:06:17,059 INFO 200 GET /static/css/vendor/materialize/materialize.min.css?hash=ec1df3ba (0.0.0.0) 3.25ms
2022-03-01 17:06:17,079 INFO 200 GET /static/js/vendor/jquery/jquery.min.js?hash=12108007 (0.0.0.0) 2.42ms
2022-03-01 17:06:17,084 INFO 200 GET /static/js/vendor/jquery-ui/jquery-ui.min.js?hash=cab3392d (0.0.0.0) 3.70ms
2022-03-01 17:06:17,092 INFO 200 GET /static/js/vendor/jquery-validate/jquery.validate.min.js?hash=aad785d4 (0.0.0.0) 1.49ms
2022-03-01 17:06:17,096 INFO 200 GET /static/css/esphome-2.css?hash=b79b4733 (0.0.0.0) 2.15ms
2022-03-01 17:06:17,097 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2?hash=570eb838 (0.0.0.0) 2.80ms
2022-03-01 17:06:17,165 INFO 200 GET /static/js/vendor/materialize/materialize.min.js?hash=4be20daf (0.0.0.0) 4.01ms
2022-03-01 17:06:17,193 INFO 200 GET /static/js/vendor/ace/ace.js?hash=65322f49 (0.0.0.0) 13.08ms
2022-03-01 17:06:17,195 INFO 200 GET /static/js/esphome/index-f6fdac20.js (0.0.0.0) 8.08ms
2022-03-01 17:06:17,694 INFO 200 GET /static/js/vendor/ace/mode-yaml.js (0.0.0.0) 2.26ms
2022-03-01 17:06:17,698 INFO 200 GET /static/js/vendor/ace/theme-dreamweaver.js (0.0.0.0) 2.44ms
2022-03-01 17:06:17,719 INFO 304 GET /devices (0.0.0.0) 4.76ms
2022-03-01 17:06:17,763 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2 (0.0.0.0) 1.77ms
2022-03-01 17:06:17,803 INFO 101 GET /ace (0.0.0.0) 1.12ms
2022-03-01 17:06:17,935 INFO Running command 'esphome --dashboard -q vscode --ace /config/esphome'

Co to za dziwaczny kod?

a w kwestii offline
https://esphome.io/guides/faq.html#notes-on-disabling-mdns

PS log z uruchamiania addona (który służy do “produkowania firmware” dla urządzeń) nie ma wiele wspólnego z działaniem urządzeń z softem esphome korzystających z integracji esphome

Kod poprawiony, tłumacz google tu namieszał. Od kilku dni pokazuje mi wszystko jako offlne, nic nie było zmieniane. Jeśli dobrze rozumiem to z tej dokumentacji którą wskazałeś wygląda na to że mDNS jest wyłączony, ale jak go ponownie włączyć ?

Nie używam sprzętu esphome ze statycznymi IP, więc nie wiem czy można to pogodzić z mDNS, ale w dokumentacji piszą, aby w integracji dodać urządzenia po ich IP.

Dla windy jest takie narzędzie, więc zobacz czy w ogóle widać w sieci te urządzenia

Ja też do tej pory nie miałem w konfiguracjach statycznych adresów IP, urządzenia miały przypisany adres w routerze (Unifi USG PRO4) Dopiero gdy przestały mi się raportować jako online dodałem static do konfiguracji w dwóch urządzeniach aby sprawdzić czy to coś da.
To narzędzie nie widzi urządzeń z Vlan Iot.
Sprawdziłem w konfiguracji USG i mam włączone mDNS we wszystkich sieciach.
Widzę że pojawiły się dwie aktualizacje Unifi, robię je teraz i zobaczę, może poprzednia aktualizacja to skopała a ja nie powiązałem tego.
EDIT: Aktualizacje nie pomogły, nadal wszystko offline.

W integracjach zawsze dodaję urządzenia po ich IP.

Jutro będę w domu, to mogę wtedy przygotować jedno urządzenie esphome ze statycznym IP do testu (zakładam, że mając statyczny IP nie używa mDNS, ale w tej kwestii nigdy nie kopałem po dokumentacji).

Ok, w takim razie czekam na wyniki :slight_smile:

  1. Nie miałem racji - zmiana IP na statyczny nie powoduje wyłączenia mDNS (przeoczyłem to w ogóle w screenshocie z loga - już tam widać że działa)
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
|-- <Wire> 1.0
  1. w terminalu (addonie) w HA powinieneś mieć odpowiedź na ping do adresu kociol-co.local

u mnie przy takim konfigu

esphome:
  name: heltec
  platform: ESP8266
  board: heltec_wifi_kit_8

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
#  password: !secret ota_pass
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_pass
  manual_ip:
    static_ip: 192.168.20.251
    gateway: 192.168.20.1
    subnet: 255.255.255.0
  power_save_mode: none
  output_power: 17
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Heltec Fallback Hotspot"
    password: !secret wifi_rcvr

tak mam w terminalu

~ $ ping heltec.local
PING heltec.local (192.168.20.251): 56 data bytes
64 bytes from 192.168.20.251: seq=0 ttl=255 time=3.432 ms
64 bytes from 192.168.20.251: seq=1 ttl=255 time=3.235 ms
64 bytes from 192.168.20.251: seq=2 ttl=255 time=4.634 ms
64 bytes from 192.168.20.251: seq=3 ttl=255 time=1.527 ms
64 bytes from 192.168.20.251: seq=4 ttl=255 time=1.645 ms
64 bytes from 192.168.20.251: seq=5 ttl=255 time=1.673 ms
64 bytes from 192.168.20.251: seq=6 ttl=255 time=1.990 ms
^C
--- heltec.local ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max = 1.527/2.590/4.634 ms

i to moim zdaniem definitywnie potwierdza poprawność działania mDNS (mogę się mylić, więc proszę o sprostowanie gdybym wprowadzał w błąd).

  1. trochę dziwi mnie tak wąska maska (255.255.255.0) dla sieci 10.x.x.x (no ale każdy ma prawo skonfigurować sobie mniejszą sieć LAN niż jest dopuszczalna dla danej adresacji, więc nie jest to błędem)
    zakładam, że sieć masz skonfigurowaną raczej poprawnie (tj. np. pula DHCP nie nakrywa puli statycznych IP, które używasz dla tych ESP)

  2. nie wymyśliłem sposobu na zreplikowanie problemu, jakby co to używam addona ESPHome 2022.2.6 (czyli aktualnej stabilnej wersji), generalnie to używam innej wersji również core

-----------------------------------------------------------
 Add-on: ESPHome
 ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
-----------------------------------------------------------
 Add-on version: 2022.2.6
 You are running the latest version of this add-on.
 System: Home Assistant OS 7.4  (amd64 / generic-x86-64)
 Home Assistant Core: 2022.3.1
 Home Assistant Supervisor: 2022.01.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] 10-requirements.sh: executing... 
[cont-init.d] 10-requirements.sh: exited 0.
[cont-init.d] 20-nginx.sh: executing... 
[cont-init.d] 20-nginx.sh: exited 0.
[cont-init.d] 30-dirs.sh: executing... 
[cont-init.d] 30-dirs.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[01:01:51] INFO: Waiting for dashboard to come up...
[01:01:51] INFO: Starting ESPHome dashboard...
2022-03-07 01:01:52,249 INFO Starting dashboard web server on unix socket /var/run/esphome.sock and configuration dir /config/esphome...
[01:01:52] INFO: Starting NGINX...
2022-03-07 01:01:53,633 INFO 101 GET /ace (0.0.0.0) 1.18ms
2022-03-07 01:01:53,635 INFO Running command 'esphome --dashboard -q vscode --ace /config/esphome'
2022-03-07 01:01:54,614 INFO 200 GET /devices (0.0.0.0) 4.78ms
2022-03-07 01:01:59,640 INFO 304 GET /devices (0.0.0.0) 6.62ms
2022-03-07 01:02:04,665 INFO 304 GET /devices (0.0.0.0) 8.00ms
2022-03-07 01:02:09,670 INFO 304 GET /devices (0.0.0.0) 6.35ms
2022-03-07 01:02:14,685 INFO 304 GET /devices (0.0.0.0) 6.67ms
2022-03-07 01:02:19,706 INFO 304 GET /devices (0.0.0.0) 7.07ms
2022-03-07 01:02:24,729 INFO 304 GET /devices (0.0.0.0) 6.38ms
2022-03-07 01:02:29,759 INFO 304 GET /devices (0.0.0.0) 2.89ms
2022-03-07 01:02:34,810 INFO 304 GET /devices (0.0.0.0) 14.71ms

Pierwszy test, dopiero wróciłem

image

Pula DHCP nakrywa adresy statyczne, wcześniej było ok.

To ją zawęź tak by nie pokrywała (to jest proszenie się o problemy) choć nie sądzę, że to jest akurat przyczyną twojego problemu.

Zawężę, ale tak jak pisałem przy tej konfiguracji nie było wcześniej tego problemu.
image
Skąd ten błąd ?
image
nie działa mDNS

Gdzie ten log?

Jeśli potrafisz zidentyfikować zdarzenie, które wywołało problem to cofnij się w konfiguracji/wersjach softu do sytuacji sprzed niego.
Zmieniałeś konfigurację routera?

Heh, gdyby to było tak proste jak piszesz… Generalnie próbuję sobie przypominać co robiłem.
Wiem na pewno że zauważyłem to dopiero jak brakło zasilania 230v w domu na jakieś 5 minut, serwer HA mam na UPS’ie, ale “routera” jeszcze nie wpiąłem w listwę (nie zdążyłem) UPS świeży nabytek.
Więc, zauważyłem że urządzenia esphome są wszystkie offline po tym zaniku, dosłownie 10 minut po zaniku wszedłem w panel esphome i widze offline. Wcześniej kilka dni aktualizowałem soft UNIFI, a że jestem maniakiem i 1/3 dnia spędzam w HA to sądzę że zauważyłbym że coś jest nie tak z esphome, tym bardziej że w tym czasie uruchamiałem moduł ESPGSM. Backup robię co 24 godziny i przywróciłem backup dla pewności z przed 48 godzin przed zanikiem napięcia i nic to nie dało.

No, nie działa, bo sztuczka z mDNS polega na tym, że nazwy dostają domenę .local (dzięki temu banalny test z pingiem umożliwia proste sprawdzenie) co ciekawsze w logach przy kompilacji mówisz, że teraz nie masz mDNS w drzewku zależności(?), ale w tym logu co wklejałeś wczoraj był kawałek podobny do tego

[00:03:36][C][mdns:084]: mDNS:
[00:03:36][C][mdns:085]:   Hostname: heltec

wskazujący że działało (przynajmniej po stronie firmware ESPHome, bo czy w twojej sieci działa to już inna kwestia).

Pytasz o logi z kompilacji? powstają przy kompilacji, jeśli nowe firmware byłoby identyczne z już istniejącym nie będzie ono kompilowane od nowa, ale i tak ten fragment logu powstaje przy okazji

INFO Reading configuration /config/esphome/heltec.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing heltec (board: heltec_wifi_kit_8; 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
|-- <Wire> 1.0
RAM:   [=====     ]  47.4% (used 38792 bytes from 81920 bytes)
Flash: [====      ]  42.3% (used 442297 bytes from 1044464 bytes)
========================= [SUCCESS] Took 4.19 seconds =========================
INFO Successfully compiled program.
INFO Resolving IP address of heltec.local
INFO  -> 192.168.20.170
INFO Uploading /data/heltec/.pioenvs/heltec/firmware.bin (446448 bytes)

skoro to UniFi to zapewne powinieneś wyłączyć opcję
“Block LAN to WLAN Multicast and Broadcast data”

Mam wyłączone.
image

To nie wiem czemu multicasty Ci nie działają…

Możesz ewentualnie zrekompilować firmware pod aktualną wersją ESPHome, bo jestem pewien, że w niej działa poprawnie mDNS, a nie śledzę wszystkich zmian i poprawek, może akurat skompilowałeś sobie na jakiejś wersji gdzie były problemy (mało prawdopodobne biorąc pod uwagę ilość urządzeń)?Jakkolwiek ja bym szukał przyczyny w konfiguracji twojej sieci - routera/accesspoint’ów itd.

@marcinw Dziś sprawdziłem w moim ESPHome. Mam ten sam problem. Ale jak sprawdzam Logs dla jakiegoś urządzenia, to normalnie się łączy… Wygląda, że to jakiś problem w sofcie ESPh. Pewnie w następnej aktualizacji poprawią…

@msterna @marcinw
A tak z czystej ciekawości, to z którego repo macie zainstalowanego addona ESPHome?

(z Community czy z https://github.com/esphome/home-assistant-addon).

To nowe które ma obowiązywać od marca 2022, czyli już, jest dostępne tu:
Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.
(w ramach ciekawostek jest to bodajże to samo repo które obowiązywało zanim ten addon się pojawił w Dodatkach “Community”)

PS U mnie działa i tego problemu nie zaobserwowałem, a zmieniłem repo zaraz po ogłoszeniu, że ma zniknąć z Community, więc jest to do sprawdzenia (choć wersja w obu miejscach na pierwszy rzut oka jest identyczna, ale i tak raczej trzeba zmigrować).

@szopen
Ja mam 2022.2.6 z Community i brak update.
A jakieś info jak to zmigrować?

Z tego co wiem każda metoda jest OK, bo addony są kontenerami, a konfiguracja jest przechowywana we wspólnym katalogu config.

Ale jeśli się boisz (kolejność nie jest krytyczna)

  1. Zatrzymujesz starego addona, wyrzucasz go z sidebara (jeśli tam był) i z autostartu.
  2. Dodajesz nowe repo
  3. Dodajesz nowego addona
  4. Uruchamiasz nowego addona i sprawdzasz czy jest wszystko na swoim miejscu, ewentualnie dodajesz mu autostart i skrót w sidebar
  5. Usuwasz starego addona i o nim zapominasz :stuck_out_tongue: