Mam jedno urządzenie w ESPHome i nie mogę sobie poradzić z nowościami.
Czy mogę prosić o pomoc co mam zmienić. Dodam czytałem drugi post i kombinowałem bez skutecznie.
Kod który jest powyżej działał przez około 2 lata. Jak to się stało, że nie było OTA, nie wiem. Gdy pojawił się problem z aktualizacją, znalazłem ten temat. Jak @MariuszAK, wskazał, że tak naprawdę zmiana dotyczyła głównie OTA i 1-wire, a ja mam tylko i2c to skapnąłem się że u mnie brak OTA.
Inne pytania zadam - czy przez te 2 lata kiedykolwiek próbowałeś aktualizować firmware przez OTA czy zawsze robiłeś to po kabelku USB?
A może po prostu nigdy nie robiłeś aktualizacji firmware w tym urządzeniu?
OTA nigdy (tak zakładam, bo przecież tego nie sprawdzałem u siebie co wersję) nie działała bez odpowiedniej deklaracji w YAMLu - minimalnie prostszej przed 2024.6.0, więc być może wykryłeś jakiś nowy problem, i należy zgłosić issue (gdy np. nie korzystasz z OTA, a mimo to musisz zmienić konfigurację by je włączyć bez potrzeby; mógł to być też inny problem pochodzący z jakiejś dawnej zmiany, że OTA działała choć nie powinna, mimo braku deklaracji, w sumie niemal nie wyobrażam sobie sytuacji, gdy ktoś celowo pomija OTA, no ale mogą być takie sytuacje gdy projektuje urządzenie działające autonomicznie i bez sieci), no ale jeśli w pełni nie opiszesz sytuacji jak było to nie sposób nawet sztucznie wywołać problemu = zreplikować go.
W sumie jeśli to ten drugi przypadek to issue nie ma sensu, bo nikt nie będzie poprawiał wersji starszych od aktualnej, bo ten projekt nie zakłada istnienia sytuacji używania nieaktualnej wersji… (nie stoi za nim wielkie korpo by wprowadzać poprawki w starych wersjach)
Czy może w panice, gdy powstał problem z OTA usunąłeś tą deklarację z YAML?
Nic nie usuwałem wcześniej pliku YAML, a moduł dotychczas aktualizowałem bez problemu. Gdy pojawiła się nowa wersja (monit w HA) odczekałem kilka dni i aktualizowałem. Dziwne, ale tak to funkcjonowało.
I wciąż nie ma odpowiedzi czy aktualizowałeś przez serial, czy przez OTA…
a od tego zależy czy należy utworzyć issue, czy można je olać…
Sytuacja jest taka - na dwoje babka wróżyła
albo problem istniał przynajmniej 2 lata (nielegalnie działające OTA mimo braku deklaracji) i 2024.6.0 go właśnie naprawiło (i mamy wylane na to, że 2 lata miałeś nieprawidłowego YAMLa, który działał niezgodnie z założeniami)
albo problem jest nowy i uniemożliwia aktualizację serial bez deklaracji ota: co samo w sobie jest absurdalne, bo przez serial można wgrać nawet śmieci zamiast firmware, czyli może to być błąd lintera (uniemożliwienie utworzenia konfiguracji nie korzystającej z OTA, a konkretniej jej skompilowania, bo YAMLu to można nawypisywać totalne bzdury i one z założenia nie mają się kompilować…)
A w ogóle tracę czas po to by uświadomić jak ważne jest zgłaszanie właściwie opisanych problemów, bo z tego, że “coś dzwoni, ale nie wiadomo w którym kościele”, wynikła (prawdopodobnie totalnie fałszywa) teza, że 2024.6.0 zepsuło możliwość aktualizacji (przy wadliwym YAMLu??!).
PS linter w najbardziej podstawowej konfiguracji sprawdziłem (na 2024.6.4) i działa OK, ale ostatnie przełomowe zmiany (może jaśniej - breaking changes) dotyczą też safe mode (ten tryb został oddzielony od OTA) i nie chce mi się z tym walczyć, bo to za dużo czasu wymaga…
Należałoby przetestować kilka różnych platform i różne frameworki), a że akurat u siebie używam kilka różnych platform sprzętowych i różne frameworki dla ESP32 i nie ma w żadnym z nich problemu (oczywiście po uzupełnieniu konfiguracji o wymaganą zmianę platform: esphome) to zakładam, że problem nie istnieje… (tylko szkoda mi czasu na testowe usuwanie OTA skoro z niego korzystam, więc testowałem linter tylko na tych konfiguracjach, gdzie nie używam safe mode, bo wtedy usunięcie OTA wymaga większych zmian konfiguracji…)
Zakładam więc, że od zawsze miałeś zwalonego YAMLa i dowiedziałeś się o tym przypadkiem, co ciekawsze nikt nie zauważył tego błędu w ESPHome przez 2 lata (skoro twierdzisz, że w tym okresie nie dotykałeś konfiguracji).
Rozumiem że zgłaszanie takich sytuacji jest ważne. Jestem amatorem, nawet nie pamiętam skąd brałem kod, wszystko działało więc nawet nic kombinowałem. Dopiero teraz jak coś się wysypało zacząłem szukać.
No cóż - ja też jestem amatorem, jak i pewnie większość użytkowników ESPHome, bo to jest projekt adresowany właśnie do amatorów - te kilka linijek YAMLa jest przetwarzane przez interpreter do postaci prawdziwego kodu źródłowego c++ i ten kod jest naprawdę “wielokilometrowy” i nikt nam amatorom nie każe w nim grzebać…
Natomiast bardzo jest wskazane zastanowienie się nad zupełnymi podstawami tego jak cokolwiek działa.
Czyli to były aktualizacje OTA.
I na tę informację czekałem od połowy wątku, więc jest to teraz bez znaczenia, bo najnowsze wersje usuwają problem tego, że to Ci działało, choć nie powinno(!) przez wiele miesięcy wcześniej.
W zasadzie wszystko jest do przetestowania - mógłbym zrobić sobie downgrade i sprawdzić, ale stare wersje odchodzą w niebyt, więc nawet nie ma sensu zawracać gitary deweloperom w nieaktualnej kwestii.