U mnie Po aktualizacji do wersji 2024.6.0 jest problem z uruchomieniem usługi aktualizacji ESPHome.
To pojechali z tą aktualizacją
We wszystkich czujnikach i urządzeniach z ESPHome trzeba zmienić:
# Po staremu
ota:
password: "xxxx"
# Po nowemu
ota:
platform: esphome
password: "xxxx"
A tam gdzie są używane czujniki 1-Wire dallas (DS18b20) dodatkowo trzeba zmienić w konfiguracji:
# Po staremu
dallas:
- pin: GPIOXX
sensor:
- platform: dallas
address: 0x1234567890abcdef
name: "My Sensor"
# Po nowemu
one_wire:
- platform: gpio
pin: GPIOXX
sensor:
- platform: dallas_temp
address: 0x1234567890abcdef
name: "My Sensor"
Tak pojechali współczuję jak ktoś ma dużo urządzeń to czeka go długi proces aktualizacji.
No cóż, szczerze mówiąc jestem zdziwiony, że ten projekt tyle lat wytrzymał bez istotnych breaking changes (czyli podstawy projektowe były wręcz doskonałe).
O ile zmiany w OTA wydają się niezrozumiałe, to wydaje się, że to skutek faktu, że projekt mimo ESP w nazwie staje się naprawdę muliti-platformowy (może nie wszyscy to już zauważyli, ale od dawna jest wsparcie dla RPi Pico czyli MCU RP2040, gdzie sposoby flashowania są totalnie inne niż to co znamy z ESP, a od jakiegoś czasu tego co wspiera projekt LibreTiny, czyli wybrane MCU Beken i Realtek).
Bezpośrednio z tego co zrozumiałem zmiana wynika z planowanych zmian w workflow - można wygrzebać to w notatkach do wydania idąc śladem PRów.
Natomiast jeśli chodzi o platformę Dallas, to była od zarania dziejów kulawa - ktoś się na początku skupił wyłącznie na DS18B20 (no zdecydowanie najpopularniejszy czujnik 1-wire, ale nie jedyny 1-wire możliwy do użycia w DIY) zamiast na całości platformy 1-wire i taki artefakt przetrwał aż do teraz, więc wreszcie jakiś ruch w stronę unifikacji i wejścia obsługi innego sprzętu z taką magistralą.
Wyszła wersja 2024.6.1 Co do wersji 2024.6.0
Było tam ze 4 strony zmian, więc to spora aktualizacja.
W sumie jest tylko jedna kwestia, która mi przyszła do głowy - tego rodzaju zmiany jak w poście u góry mogłyby być zautomatyzowane (skrypt, który aktualizuje YAMLe, wywoływany na życzenie użytkownika lub wręcz domyślnie po aktualizacji).
edit
W ogóle to changelogi warto czytać, z wielu rzeczy sobie zdawałem sprawę, bo śledzę kanał beta, ale tutaj jest też ładne uzasadnienie tych zmian (a dopiero to czytam)
PS Ciekawe czy zaraz będzie wysyp tych co nie czytali, bo aktualizacja do 2024.6.1 wyszła tak szybko (chyba ktoś zapomniał wrzucić wszystkiego co trzeba do “worka” 2024.6.0 i nawet nie wiem co się wyświetlało przed tamtą aktualizacją…)
PPS Jestem w trakcie zmian YAMLi i chyba 2024.6.1 ma zwalony Dashboard…
co jakiś czas ładuje mi się pusty…
jeszcze lepiej, gdy otworzy się pusty edytor (zamiast mniej lub bardziej rozbudowanego projektu) - dla wrażliwych zawał gwarantowany
Taka jest reakcja wszystkich, którzy nie czytają changelogów aktualizacji (dotyczy to wszystkich aplikacji) i bezmyślnie klikają “Zainstaluj” . Od zawsze pracuję zdalnie na systemach więc trzeba używać aby się nie “odciąć” bo potem zostaje tylko kupić bilet na pociąg.
Zwykłe odświeżenie też działa, oczywiście cache sobie wyczyściłem jak to bywa konieczne przy aktualizacjach GUI HA, issue wrzucone, ale jeśli macie coś do dodania o GUI to tam dopisujecie, nie mam czasu, bo robota mnie zawaliła.
to z pewnością już po aktualizacji, bo wygląda na błąd powiązany ze zmianą w OTA.
Ale miałem co innego na myśli - jakie informacje były dostępne przed kliknięciem w aktualizację jako notatki do wydania z menu aktualizacji Dodatku?
W 2024.6.1 jest tyle, a moim skromnym zdaniem powinno być jakieś info o BREAKING CHANGES
Ciekawe czemu tak szybko znikła wersja 2024.6.0
Opis aktualizacji ESPHome w HA zawierał 4 przewijane strony zmian.
Wyglądało to mniej więcej tak
Tylko dłuższa wersja, czyżby ktoś wrzucił kanał beta
Niektóre (w miarę sprawdzone bądź generalnie bezpieczne) zmiany w wersjach beta wchodzą do wydań na kanale stabilnym (to czasem nowe komponenty do których jeszcze nie ma dokumentacji, więc nie stanowią problemu, albo zmiany kosmetyczne).
Ale sobie przypomniałem jak wygrzebać to co widziałeś - przecież to standardowe release notes
https://github.com/esphome/esphome/releases/tag/2024.6.0
co nie zmienia faktu - jestem zniesmaczony, że BREAKING CHANGES nie są wielkimi literami na górze listy założyłem w tej sprawie drugie issue.
Zgadza się tak to wyglądało, czyli ta wersja została wycofana ?
Każda stara wersja jest nieaktualna, można sobie ją przywrócić z backupu - to odbudowuje kontener w takiej właśnie wersji (pod warunkiem, że dane wydanie istnieje na repo, do wersji wycofanych nie da się wrócić backupem, w przypadku ESPHome nie pamiętam aby jakakolwiek stabilna wersja została wycofana, natomiast nieaktualne bety wygasają zwykle już po paru dniach), ale instalator Dodatków z założenia umożliwia instalację tylko i wyłącznie bieżącej wersji (z kanału stable, beta lub dev w zależności o który chodzi dodatek, dla normalnych użytkowników jest stable).
Nie znaczy to, że jakakolwiek wersja została wycofana - w 2024.6.1 i tak są wszystkie zmiany które są w 2024.6.0 plus wszystko co wyszło później lub jest hotfixem (lub ktoś zapomniał przerzucić jakieś istotne kawałki z wersji beta do stable, bo mi ta akcja na taką wyglądała).
Dlatego sugeruję czytanie pełnego changeloga z komentarzami, zawsze aktualny link to
https://esphome.io/changelog/
on przekierowuje do najnowszej wersji, ale z niej są dostępne linki do starszych.
Doczytałem się w jednym z otrzymanych newsletterów:
"Z zespołem ESPHome przeprowadziliśmy zabawną transmisję na żywo, aby porozmawiać o najnowszych funkcjach, nowym podejściu do aktualizacji wersji i specyfikacjach naszego nadchodzącego sprzętu głosowego.
Jedną z funkcji, która powinna zmienić zasady gry, są ulepszenia, które wprowadziliśmy w aktualizacjach OTA. Dzięki temu twórcy mogą dostarczać oprogramowanie sprzętowe do projektów, które udostępniają lub sprzedają, a użytkownicy mogą aktualizować te urządzenia bez konieczności korzystania z panelu ESPHome lub samodzielnego tworzenia oprogramowania sprzętowego. Dzięki temu projekt będzie dostępny dla znacznie większej liczby początkujących użytkowników."
Plany mocno ambitne, będą/są zdalne aktualizacje sprzętu .
Myślę, że nie aż tak ambitne, bo są już podobne rozwiązania.
Wyobrażam sobie teraz, że możliwe będzie rozwiązanie podobne do Tasmocompiler dla ESPHome. Gdzie poprzez przeglądarkę i uruchomione PlatformIO w chmurowym kontenerze dzięki Gitpod można odpalić bardzo user-friendly web UI. Konfigurator prowadzi laika poprzez wybór odpowiednich checkbox`ów do kompilacji i finałowego programowania urządzenia.
Największą zaletą tego rozwiązania jest możliwość kompilacji z wykorzystaniem samego dostępu do internetowej przeglądarki i konta na Github.
W mojej ocenie projekt naszego rodaka @benzino77 jest świetny w swej pomysłowości połączenia różnych platform.
Oczywiście dla ESPHome są inne, bardziej złożone problemy z konfiguracją, bo odbywa się ona w pliku YAML i przeniesienie tego do GUI może być trudne w swej mnogości opcji do wyboru.
Rozważałem to w innym kontekście: firma sprzedaje sterownik z ESPHome i może go przygotować pod zdalną aktualizację - klient loguje się do GUI sterownika ESPHome, klika w przycisk i uruchamiana jest aktualizacja z serwerów dostawcy sprzętu. Wiadomo, weryfikacja konfiguracji YAMLa, itd ale to jeszcze jest do zrobienia …
Możemy się już domyślać z tych zapowiedzi, że portfolio urządzeń do kupienia od Nabu Casa się powiększy.
Just as an example, P1 reader by Zuidwijk:
substitutions:
name: slimmelezer
packages:
zuidwijk.slimmelezer: github://zuidwijk/dsmr/slimmelezer.yaml@main
esphome:
name: ${name}
name_add_mac_suffix: false
api:
encryption:
key: xxxxxxxxxx
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
(I hoped that I will have access to the P1 port on the electricity meter…)
Poniosło autorów tego projektu, nie dość że każdy moduł trzeba ręcznie aktualizować i nie pomoże czytanie opisu do aktualizacji, bo gówno daje.
Drugi problem to więcej niż 4 DS18B20 , ale to jeszcze nie potwierdzone na 100%. Mimo wszystko nawet jak projekt jest otwarty, to nie robi się krytycznych zmian bez wcześniejszych info i ostrzeżeń. Gdzie były ostrzeżenia o 1-wire? Nie znalazłem w logach
tam (stąd moje kolejne issue, ale jeśli nikt nie dokłada swoich ziarenek, to deweloperzy nie wysłuchają samotnego wołania na puszczy)
Breaking Changes
- Separate
OTABackend
from OTA component esphome#6459 by @kbx81 (new-integration) (breaking-change)- SPI and I2C for ENS160 esphome#6369 by @latonita (new-integration) (breaking-change)
- Uncouple safe_mode from OTA esphome#6759 by @kbx81 (breaking-change)
- Fix incorrect naming of the AdaFruit MagTag display. esphome#6810 by @sasodoma (breaking-change)
- [http_request] Add esp-idf and rp2040 support esphome#3256 by @jesserockz (breaking-change)
- Allow parse_json to return a boolean result esphome#6884 by @jesserockz (breaking-change)
- New 1-wire component esphome#6860 by @ssieb (new-integration) (breaking-change)