ESP Home - uzyskanie połączenia po WiFi z HA

no właśnie tak zrobiłem i po usunięciu już mi nie wykrywa na nowo, nie pojawia się, po wgraniu nowego czytaj tego samego softu na którym wcześniej działało, integracja nie jest wykrywana i prze to nie mogę jej dodać. (wgrywam dokładnie z tym samym yamlem na którym to działało wcześniej, nie zmieniłem w nim nic)

Niczego dotyczącego ustawień sieci nie ruszałem, poza tym inne urządzenia pod tą siecią pracują normalnie bez zmian

Czyli tajemniczy problem zostanie nierozwiązany.

Generalnie Integracja nie wykorzystuje YAMLa i nie ma nic wspólnego z Builderem.

Auto-wykrywanie w HA opiera się na mDNS, chyba, że skonfigurowałeś w YAML statyczne IP, to wtedy ono NIE działa (jakkolwiek YAML i Builder jako taki nie ma tu znaczenia, to firmware po prostu powstaje wtedy takie, a nie inne, i to firmware wykonuje wszelkie funkcje).


Więc zakładam, że urządzenie z ostatniego skompilowanego YAMLa w ogóle nie działa lub się nie łączy do tej sieci, w której pracuje HA, albo jest z 1000 innych możliwych przyczyn (i prawdopodobnie skompilowane z tego zmienionego też nie działało w ten sam lub w podobny sposób).
Ale już szkoda mi czasu na zgadywanie, albo dajesz komplet YAMLa (chociaż aktualnego) i logi (tu hint - jeśli urządzenie masz podłączone przez USB do maszyny HAOS czy generalnie tej z Builderem, to logi masz dostępne po serialu (zwykle UART0), chyba że się tego celowo pozbyłeś z konfiguracji).

Ale zrobiłeś w panice też 1000 innych rzeczy o których zapewne nie wiemy (no o niektórych wiemy, ale zrozum, że szklane kule mi nie działają, ani Kaszpirowskim czy innym czarodziejem nie jestem).
Jedyna metoda rozwiązania takiego problemu, to próba jego odtworzenia, a bez twardych danych w postaci kompletnego YAMLa i logów nie ma jak tego ruszyć (z racji jak rozumiem braku połączenia nie masz logów kanałem OTA, więc chcę te dostępne po serialu).

I chcę wiedzieć wszystko o twojej sieci LAN.

proszę bardzo

już zrobiłem najprościej jak się da, skopiowałem działające urządzenie 1:1 (Yamla), utworzyłem nowe urządzenie w ESP HOME nadałem mu nazwę “Test2” i wkopiowałem całego Yamla, czyli z urządzenia działającego - zmieniłem mu tylko nazwę

i w ESP HOME nie wykrywa go po kompilacji

działający YAML który do tego urządzenia “TEST2” wgrałem:

(nie da się go wkleić w całości bo jest za duży i przekracza dopuszczalną ilość znaków)

substitutions:
  name: test2
  device_description: "Monitor and control ANJ inverter ID1 via RS232"
  tx_pin: GPIO17
  rx_pin: GPIO16

esphome:
  name: ${name}
  comment: ${device_description}
  min_version: 2024.6.0
  project:
    name: "syssi.esphome-smg-ii"
    version: 1.4.0

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

# ================= WIFI =================

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

  ap:
    ssid: "ANJ_Fallback"
    password: "12345678"

captive_portal:

# ================= OTA =================

ota:
  - platform: esphome

# ================= LOGGER =================
# Wyłączamy UART0 żeby nie kolidował z RS232

logger:
  level: INFO
  baud_rate: 0

# ================= API (HA) =================

api:

# ================= UART =================

uart:
  - id: uart_0
    baud_rate: 9600
    tx_pin: ${tx_pin}
    rx_pin: ${rx_pin}
    stop_bits: 1

# ================= MODBUS =================

modbus:
  - id: modbus0
    uart_id: uart_0
    send_wait_time: 200ms

modbus_controller:
  - id: smg0
    address: 0x01
    modbus_id: modbus0
    command_throttle: 200ms
    update_interval: 10s

# ================= TIME =================

time:
  - platform: homeassistant

sensor:
  - platform: total_daily_energy
    name: "${name} PV energy today"
    restore: true
    device_class: energy
    power_id: smg0_pv_average_power
    filters:
      # Multiplication factor from W to kW is 0.001
      - multiply: 0.001
    unit_of_measurement: kWh

  - platform: template
    name: "${name} discharging power"
    id: smg0_discharging_power
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    icon: mdi:battery-arrow-down
    # Gets updated on value of smg0_battery_average_power
    update_interval: never
    lambda: |-
      if (isnan(id(smg0_battery_average_power).state)) {
        return {};
      }
      auto power = id(smg0_battery_average_power).state;
      return (power < 0.0f) ? -power : 0.0f;

  - platform: template
    name: "${name} charging power"
    id: smg0_charging_power
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    icon: mdi:battery-charging
    # Gets updated on value of smg0_battery_average_power
    update_interval: never
    lambda: |-
      if (isnan(id(smg0_battery_average_power).state)) {
        return {};
      }
      auto power = id(smg0_battery_average_power).state;
      return (power > 0.0f) ? power : 0.0f;

  


  # Effective mains voltage                              0.1V     Int   202 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} ac voltage"
    address: 202
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  # Mains Frequency                                      0.01Hz   Int   203 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} ac frequency"
    address: 203
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "Hz"
    device_class: frequency
    state_class: measurement
    accuracy_decimals: 2
    filters:
      - multiply: 0.01

  # Average mains power                                  1W       Int   204 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} average mains power"
    address: 204
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    accuracy_decimals: 0

  # Effective inverter voltage                           0.1V     Int   205 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} effective inverter voltage"
    address: 205
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  # Effective inverter current                           0.1A     Int   206 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} effective inverter current"
    address: 206
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  # Inverter frequency                                   0.01Hz   Int   207 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} inverter frequency"
    address: 207
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "Hz"
    device_class: frequency
    state_class: measurement
    accuracy_decimals: 2
    filters:
      - multiply: 0.01

  # Average inverter power                               1W       Int   208 1 R Positive numbers indicate inverter output, negative numbers indicate inverter input
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} average inverter power"
    address: 208
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    accuracy_decimals: 0

  # Inverter charging power                              1W       Int   209 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} inverter charging power"
    address: 209
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    accuracy_decimals: 0

  # Output effective voltage                             0.1V     Int   210 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} output effective voltage"
    address: 210
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  # Output effective Current                             0.1A     Int   211 1 R
  - platform: modbus_controller
    modbus_controller_id: smg0
    name: "${name} output effective Current"
    address: 211
    register_type: holding
    value_type: S_WORD
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  

web_server:
  port: 80
  auth:
    username: admin
    password: "12345678"

    

Spróbuj dodać je ręcznie przez wpisanie adresu IP.
Urządzenia oraz usługi → dodaj integrację → ESPHome

to może być ślad, bo dokąd nie uzyska adresu IP to nie wykryje urządzenia,

a często adresu IP nie wykrywa, po nazwie też nie,

zaraz to sprawdzę

Edit1:

wtedy pomogło wykasowanie wszystkich kafelków w ESP HOME, ale teraz już tego robić nie chcę bo część mi tam działa

Edit2:

dobra sprawdziłem ten wątek i najwyraźniej po kompilacji nie uzyskuje adresu IP mojej sieci i wali błędami:

[I][wifi:1420]: - '#######' [redacted]▂▄▆█ Ch: 2 -20dB P:-9
[21:53:52.671][I][wifi:1088]: Connecting to [redacted] [redacted] (priority -9, attempt 1/2 in phase SCAN_CONNECTING)...
[21:53:53.687][W][wifi_esp32:781]: Disconnected ssid='######' bssid=[redacted] reason='Association Expired'
[21:53:53.692][W][wifi:1659]: Connecting to network failed (callback)
[21:53:53.701][D][wifi:2018]: Failed [redacted] [redacted], priority -9 → -9
[21:53:53.709][D][wifi:2089]: Retry attempt 2/2 in phase SCAN_CONNECTING
[21:53:53.719][I][wifi:1088]: Connecting to [redacted] [redacted] (priority -9, attempt 2/2 in phase SCAN_CONNECTING)...

Edit 4:

jak uzyskałem adres IP to wszystko wróciło do normy i działa więc problem tu leżał, teraz musze tylko wykryć dlaczego się tak dzieje, bo normalnie wszytko chodzi pod tym routerem a czasem nowe urządzenia nie łapią adresu IP i najwyraźniej tak się działo w tym przypadku.

@angler - dzięki za naprowadzenie na ten trop

Wtedy to miało na celu zrobienie porządków w twoim Builderze (bo też wtedy nie miałem szklanej kuli), więc zależało mi na oczyszczeniu środowiska, ponieważ jak zakładałem - miałeś problemy z połączeniem kanałem OTA (numer portu zależy od rodziny sprzętowej MCU i jest to 8266, 3232, 2040 lub 8892), co się zdarza jak masz nawalone dużo błędnych YAMLi w kafelkach i/lub zdublowane nazwy hostów urządzeń generowanych z tych kafelków, ewentualnie kilka innych przyczyn (w tym odświeżanie custom-komponentów ze zdalnych repozytoriów co zerowy czas, co zakłóca działanie dashboardu Buildera jeśli dotyczy większej ilości kafelków).

Jak się okazuje wtedy wróżona z fusów diagnoza była błędna - masz też problemy z połączeniem kanałem API (chodzi o połączenie na porcie 6053).

I tu mamy nowy wniosek (dzięki temu, że zdiagnozowałeś coś więcej i zauważyłeś, że masz częściej takie problemy jest to w sumie potwierdzone) - część twoich urządzeń ESPHome ma problemy z połączeniem WiFi w ogóle (więc nie działa ani kanał OTA, ani API, bo nie ma połączenia w ogóle).

Teraz pozostaje zdiagnozować czemu tak się dzieje, ale nadal trzeba ciągnąć każde słowo z twojego gardła, a mi się już nie chce.

Za mało tego loga, nie wiadomo co się stało dalej

ale z tego wynika jedno - AP odrzucił połączenie, bo negocjacje trwały za długo,
więc zacząłbym od doszlifowania ustawień AP w tym routerze
podstawowe triki

  • szerokość kanału 20MHz dla pasma 2.4GHz
  • wyłączyć tryb AX dla pasma 2.4GHz
  • ustawić statyczny kanał (a nie wybierany automatycznie) dla pasma 2.4GHz (wybór numeru kanału zależy od warunków lokalnych, ale preferujemy 1, 6 lub 11 (tj. na amerykańską modłę, bo zbyt wielu producentów miało wylane na EU by domyślnie lepiej zagospodarować kanały dostępne w naszym rejonie) oczywiście mając w głowie, że odstęp między-kanałowy zaprojektowano jakieś 30 lat temu i on zupełnie nie przystaje do współczesności, bo kolejne kanały się nakładają, więc się zakłócają wzajemnie, stąd sugerowany triplet kanałów się nie zakłócających)

To jaki masz w końcu ten router?

Możliwe, że za chwile się okaże, że są w tej sieci jakieś jeszcze “wzmacniacze” sygnału WiFi…

Router to TP LINK - MR3420

owszem mam jednego Extendera na powiększenie zasięgu dla urządzeń na zewnątrz

i często mam tak że nie mogę się np laptopem połączyć z Routerem ale poprzez Extendera tej samej sieci się nim łączę. Jak zrestartuję Router to połączenie z laptopem się nawiązuje z Routerem ale po jakimś czasie go zrywa i się łączy przez Extendera. Głównie ten problem mam z jednym Laptopem pomimo że ustawiłem dla niego stały adres IP w Rouerze. Jednak może to też oddziaływać na połączenia innych urządzeń po WiFi, dlatego po restarcie Routera na jakiś czas wszystko wraca do normy, ale po pewnym czasie zabawa się powtarza i niektóre urządzenia wypadają z listy adresów IP w Routerze i tracą z nim połączenie - głównie laptop.

Dobra, to wiele tłumaczy.

Jesteś w stanie
1.Przeciągnąć kabel od routera MR3420 do tego Extendera?
2. Przekonfigurować Extender w tryb zwykłego AP?
(musi mieć programowo taką możliwość oraz mieć co najmniej jedno gniazdo Ethernet)

Jeśli (1 i 2) = TAK, to zrób to, a rozwiążesz sobie większość problemów w tej sieci.

Rozumiem, że masz w domu dostęp do internetu możliwy jedynie za pomocą GSM, bo tylko to tłumaczy zastosowanie MR3420.
A tak w ogóle podasz pełny model? bo producent wypuścił pod nazwą marketingową TL-MR3420 pięć różnych konstrukcji routerów… (w tabelce z linka nie ma v4.x, ale wiem, że taka też istniała)

Router jest MR3420 ver 2.0 - tak łączę się po GSM za pomocą modemu Huawei E3272 który jest wpięty do tego Routera.

ten Extender przez przypadek pracuje jako Extender bo miał pracować jako Repeter, ale jak to po próbach, tak zadziałało i tak zostało, a teraz żeby to zmienić to musiałbym wiele ESP8266 przeprogramować bo się łączą właśnie z tym Extenderem. Tak Extender ma 1 gniazdo RJ45, czy ma możliwość pracy jako AP to nie wiem.

Sugerujesz że ten Extender może być powodem problemów ? Jeśli tak to na próbę mogę go na dzień lub dwa wyłączyć i poobserwować jak będzie wtedy łączenie się tych problemowych urządzeń z WiFi routera.

https://allegro.pl/oferta/cudy-punkt-dostepu-ap3000-p-access-point-2-5g-wifi-6-ax3000-17969088975

I zapomnisz co to WIFI.

Zasada jest jedna : na urządzeniach sieciowych nie oszczędzamy bo to się później mści.

To nie ma znaczenia, oba te tryby tworzą oddzielny segment sieci.

Jedynie tryb AP jest przezroczysty więc zmień konfigurację i podłącz kablem AP do routera.


Jeśli istotnie nie możesz przeciągnąć tego kabla, to do rozważenia jakiś system powerline - tu masz przykład czegoś stosunkowo taniego (nie powiem, że polecam, ale z zasady to działa - przepustowość jest ograniczona, ale biorąc pod uwagę internet GSM i ogólnie sprzęt sieciowy który używasz nawet nie powinieneś zauważyć istotnej różnicy)

Ewentualnym ograniczeniem jest trójfazowa instalacja zasilająca (jeśli cały dom masz na jednej fazie, a przynajmniej interesujące miejsca, to problemu nie ma).
Amazonia ma tu jeden plus - jeśli test się nie uda odsyłasz (w ustawowym terminie) i kasa wraca, można poszukać takiego sprzętu w PL (ale FR jest wybrana tu celowo, bo u nas stosuje się francuski system gniazdek “z kołkiem uziemiającym”, a niektóre modele mają przelotowe gniazda zasilania i niemieckie Schuko może być strzałem w kolano). Jeszcze jeden hint - nie można mieszać różnych wersji “standardu” powerline! (więc jak tu jest HomePlug AV2 to inne w tej samej sieci też muszą być HomePlug AV2 i najlepiej tego samego producenta, gdybyś chciał dołożyć ich więcej).

Przeciągniecie kabla jest znacznie lepszym posunięciem (ale wiem, że nie zawsze się da).

Powerline jest z zasady przezroczyste w sieci (zachowuje się jak switch) .
Tak samo najzwyklejszy AP (“dumb AP”) jest przezroczysty.

ALE Repeater czy Extender nie jest przezroczysty (i to jest moim zdaniem przyczyna źródłowa wielu twoich problemów, również tego z ESPHome - za typowym extenderem masz oddzielny fizyczny segment sieci, gdzie nie dociera rozgłaszanie mdns, ssdp, multicast), więc MUSISZ go skonfigurować jako zwykły AP i podłączyć do routera kablem (lub czymś, co dość skutecznie kabel udaje - choćby Powerline network).

Wrzuć do wątku jakieś dalsze konkrety o swoim sprzęcie sieciowym to dociągniemy temat do końca.


To nie do końca tak wygląda, ale jeśli sprzęt ma być z dolnej półki, to należy go używać świadomie (i omijać rozwiązania które z zasady są problematyczne - repeater, extender, mesh, i kilka innych nie związanych bynajmniej z taniością, gdzie często ludzie sobie sztucznie nadmiernie komplikują konfigurację sieci, choć nie jest to realnie potrzebne).

15-20 lat temu routerów, które miały obsługę modemów GSM “z pudełka” trzeba było “ze świecą szukać” i wtedy (mimo masakrycznie budżetowej konstrukcji) TL-MR3220 i TL-MR3420 były jak zbawienie.

Czasy powszechnie stosowanego stacjonarnego dostępu do internetu przez GSM odchodzą do historii, więc znowu się robi trudno gdy trzeba znaleźć coś rozsądnego do takiego zastosowania… i właśnie w rozsądnej kwocie.

No a kwestia hmm… repeatera/extendera - no cóż takie rozwiązania się sprawdzają tam gdzie wymagana jest wyłącznie konsumpcja treści z internetu (można sobie poklikać w sieci z tak zbudowanej sieci), ale totalnie nie jest to rozwiązanie do czegokolwiek bardziej zaawansowanego.

u mnie ten Extender/Repeter służy jedynie do zwiększenia zasięgu głównej sieci WiFi na zewnątrz i do odbioru danych z modułów ESP8266 więc praktyczne tylko czyta i ma przesyłać do Home Assistanta no i jeszcze jeden falownik z PV’ki przez niego idzie bo te elementy są poza zasięgiem głównego Routera WiFi domowego, dlatego musiałem tak zrobić.

Nie odpowiedziałeś mi czy wyłączenie na jakiś czas tego Extendera testowo żeby sprawdzić czy to coś poprawi ma sens, bo to by było najprostsze na ten moment (bo może problem siedzi jednak gdzieś indziej)

Nie wiedziałem, że nie musisz go używać (logika podpowiada - używasz extendera to znaczy, że masz dziury w zasięgu WiFi pewnie w jakichś istotnych miejscach).

Oczywiście - jeśli nie jest potrzebny wyłącz go, to już jakiś krok w kierunku diagnostyki przez eliminację prawdopodobnych przyczyn.
(To co opisywałeś pasuje do przeskakiwania na WiFi extendera, dzięki czemu urządzenia tracą możliwość komunikacji specyficznymi protokołami z głównym segmentem sieci)

Ty też mi nie odpowiedziałeś jaki konkretnie model masz tego routera MR3420?
I dodam jeszcze jedno - czy na fabrycznym firmware czy jakiejś alternatywie?

odpowiedziałem że mam Router MR3420 ver 2.0 na oryginalnym fabrycznym firmvare

A sorry przeoczyłem tam kilka ważnych zdań…

Niestety wersja 2.0 dla mnie oznacza jedno - sprzęt ma nalatane około 10 lat ciągłej pracy, a może i więcej (bo wsparcie tej wersji skończyło się w 2015, więc na rynku był pewnie gdzieś już w okolicach 2012 no i nie wiem jak długo można wypychać go z magazynów, ale pamiętam, że kiedyś w Jula kiedyś się natknąłem na półkę z routerami, które musiały leżakować w magazynach koło 5 lat, więc teoretycznie może ma mniejszy przebieg niż się wydaje, ale to najlepiej wiesz sam), więc jeśli testy polegające na pozbyciu się extendera wypadną niepomyślnie, to jest to dla Ciebie kolejna zła wiadomość - router być może kończy żywot.
Jeśli nie boisz się lutownicy, to polecam wymianę kondensatorów elektrolitycznych w torze zasilania. Możesz też wymienić zasilacz na nowy o tych samych parametrach co fabryczny.

Nie rozumiem, mówisz między wierszami, że rozsiewasz WiFi o innym SSID niż masz na głównym routerze czy co? Chciałbym zrozumieć jaki jest problem - dawaj więcej konkretnych informacji, a nie takie cedzenie przez zęby…

Sam fakt posiadania gniazda to jeszcze nie 100% szansy na pracę jako AP, ale skoro ktoś je tam zamontował, to szkoda zmniejszać funkcjonalność urządzenia (a tryb AP oprócz AP-klient jest w sumie najprostszy w realizacji wśród wszystkich innych potencjalnie możliwych w takiej konstrukcji), więc szanse na tryb AP oceniam na jakieś 95% lub więcej (mniej elastyczne chipsety wyszły z użycia minimum 10 lat temu).