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

Witam, męczę się z tematem bardziej zawiłym i coś nie wychodzi więc ograniczyłem się do minimum żeby sprawdzić z czym jest problem.

chodzi o to żeby uzyskać połączenie po WiFi płytki ESP32 z Home Assistantem poprzez oczywiście ESP HOME BUILDER, czyli najprościej jak się da:

kolejne kroki:

  1. dodaję urządzenie w ESP HOME

  2. NEW DEVICE SETUP

  3. nadaje nazwę, wybieram płytkę ESP32 i install (oczywiście poprzez USB )

  4. tworzy się plik BIN który pobieram (nie zmieniam nic w konfiguracji )

  5. następnie przechodzę do Open ESP HOME Web i instaluję pobrany plik BIN na płytkę ESP poprzez port USB - wszystko przebiega poprawnie

I po wszystkim nie uzyskuję połączenia cały czas mam OFFLINE

podpowie mi ktoś co robię źle, albo czego nie zrobiłem, bo się już kręcę wokół własnego ogona bez rezultatu i nie widzę wyjścia

  1. ESP HOME BUILDER nie uczestniczy w połączeniu urządzenia z firmware ESPHome z HA

  2. wklej ten YAML (jako kod)


Poza tematem - na twoim miejscu zacząłbym od końca, tj. od ESPHome web, bez pisania żadnego własnego YAMLa (ale jak znam życie, to utkniesz na Adopcji i efekt będzie równie mizerny).

a gdzie go mam wkleić ?

No jak to jak gdzie?? - do posta, czy ja jestem Kaszpirowkski żeby wiedzieć co tam wyskrobałeś?

tak jak pisałem ja tam niczego nie zmieniałem, zostawiłem to co tam wstawił system HA

ale proszę bardzo:

(chciałem wstawić poprawnie kod ale chyba coś się zmieniło i nie wiem jak)

esphome:

Nic się nie zmieniło, ale dobra - poprawię, zobacz jak to zrobiłem.

edit - sorry, ale tak tam namieszałaś, że to jest nie do poprawy, zrób to jednak raz, a porządnie…

Jak prawidłowo zamieszczać YAML, inny kod lub logi w postach na forum

wstawiasz te 3 apostrofy odwrotne TYLKO w 2 miejscach - przed wklejonym blokiem kodu (w osobnej linii) i za nim (też w osobnej) i NIE UŻYWAJ CYTOWANIA !!! zamiast znaczników kodu

i uprzedzam - jak nie będziesz szanował mojego czasu dając jak należy, to co jest potrzebne by cokolwiek diagnozować, to nie będę się nawet starał pomagać (i szczerze mówiąc będę też zniechęcał innych by przy takim niechlujstwie pomagać…)

zrobiłem co mogłem, mam nadzieję że o to Ci chodziło:

esphome:
  name: r
  friendly_name: r

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

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "*****************************"

ota:
  - platform: esphome
    password: "******************"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "R Fallback Hotspot"
    password: "************"

captive_portal:
```

tak jak pisałem, ja tu nic nie zmieniałen, to wygenerował HA

tak, teraz można interpretować co tam masz, dzięki

to wygenerował HA w/g tego co mu kazałeś wygenerować…
(a tak generalnie to nie HA to generował… tylko całkiem od niego oddzielny serwer, który powiedzmy, że się nazywa ESPHome Bulider)

nazwa hosta złożona z jednej litery r szału nie robi, ale nie jest niedopuszczalna… (ale z takim nazewnictwem urządzeń to się będziesz zastanawiał próbując kiedyś zrobić porządek w swojej sieci…)


Do konkretu

  1. ile masz już kafelków w Builderze?
  2. aby to działało

musisz mieć prawidłowo skonfigurowane ssid i klucz do sieci tutaj
obraz

warto w ogóle nieco aktywniej używać tego pliku (wtedy nie musisz kombinować jak ukryć rzeczy które zaiksowałeś i czy je w ogóle ukrywać, bo nie wszystko to dane wrażliwe)

musisz w tym pliku mieć przynajmniej 2 linijki

wifi_ssid: "prawidłowy-SSID-twojej-sieci-WiFi"
wifi_password: "klucz-do-tej-sieci"

dodatkowo aby to działało sensownie (tj. kafelki widziały podłączone urządzenie do sieci), to serwer Buildera musi być w tym samym fizycznym segmencie sieci co AP rozsiewający tę sieć WiFi, wspominam o tym, bo jeśli masz VLANy, nieodpowiednio skonfigurowany router Mikrotika lub po prostu sieć z wieloma segmentami fizycznymi, to Builder nie będzie widział urządzeń nawet jeśli działają…

Jak wgrywasz plik binpo kablu USB do tej płytki, to tak samo możesz podejrzeć po tym kablu pełne logi z uruchomienia ESP i w nich będzie informacja co jest problemem, że połączenia brak. Czy ten ESP uzyskuje adres IP i łączy się z siecią, czy może problem jest w połączeniu API z HA, a może jeszcze gdzieś indziej.

1 polubienie

w secret.yaml mam:

# Your Wi-Fi SSID and password
wifi_ssid: "******"
wifi_password: "**********"

a logu:

nazwa pliku jest tymczasowa na próbę aż rozwiążę problem

edit:

po chwili mi cos takiego wyskoczyło:

wszystko działa w tej samej sieci

Log prosimy wklejać tak jak ten kod yaml wcześniej. Obrazki ładnie wyglądają, ale jak masz już je pod myszką to skopiuj. Nie będziemy przepisywać z obrazków. Możesz też wkleić taki log do jakiegoś agenta AI i ci cierpliwie będzie tłumaczył co trzeba robić po kolei aby rozwiązać problem.
Jak można odczytać masz problem z połączeniem do API HA a nie z siecią (prawdopodobnie, bo ligi są wyrywkowe i nie ma części bezpośrednio po uruchomieniu płytki).
EDIT:
A tak swoją drogą, dodałeś te urządzenie już w HA podając klucz API?
Dopiero po tym może być widoczne jako online w washboardzie ESPHome.

chyba nie, żadnego klucza nie dodawałem, a gdzie to trzeba dodać ?

W
Ustawienia → Urządzenia i usługi
jeśli sieć masz prawidłowo skonfigurowaną, to zadziała auto-wykrywanie i wystarczy zaakceptować.

Pomijając wszystko nikt tu nie potrzebuje znać twoich haseł, ale jeśli tam masz gwiazdki albo iksy a nie prawidłowe wartości, to nie będzie działać - dlatego w przykładzie celowo wartości dałem w cudzysłowach, bo niektóre ciągi znaków WYMAGAJĄ otaczających cudzysłowów, ale generalnie te cudzysłowy można stosować zawsze (jeśli nie wiesz czy ciąg znaków jest taki, który zostanie rozpoznany prawidłowo jako string - przykładowe popularne hasło 12345678 MUSI być w cudzysłowach).

właśnie problem w tym że nie mam tam na liście tej nazwy którą utworzyłem

Przepraszam, zdaje się, że wprowadziłem w błąd. Urządzenie ma status online w dashboardzie ESPHome jeśli połączy się z siecią LAN. Nie ma znaczenia czy dodane jest do HA. Sprawdź czy aby na pewno jest w sieci. Powinno to być widoczne w logach, ewentualnie na karcie routera w swojej sieci.

Tak, połączenie API nie ma znaczenia, ale tu musimy jednak zacząć od absolutnych podstaw…

Wgraj kod bin z przycisku RESET na płytce. Utworzy się hot-spot WIFI , połącz się z nim i zaloguj płytkę do własnej sieci.

1 polubienie

właśnie jest tak że nie znajduję tego ESP na liście moich urządzeń na Routerze ale znajduję go na liście WiFi i mogę sie do niego częściowo zalogować, przy próbie logowanie pyta o sieć i hasło

To już jakiś plus, ale co to znaczy częściowo?

Bo tak się to robi. Najpierw przez www wchodzisz na stronę swojej płytki - bodajże 192.168.4.1 ale się mogę mylić Potem ją logujesz do swojego wifi i tyle. Ona się pokaże w HA.