ESPHome opublikowało wersję 2026.10.0b3 12 października 2026. To trzecia beta przed stabilnym wydaniem październikowym, które według planu projektu nadal ma wyjść 21 października. Zmiany są drobne i dotyczą konkretnych sytuacji: lepsza obsługa identyfikatorów połączeń w kliencie BLE na ESP32, odrobinę wolnej pamięci RAM w niektórych kompilacjach na ESP8266 oraz poprawka awarii magistrali CAN przy dużym natężeniu ruchu.
Identyfikatory połączeń w kliencie BLE
Komponent klienta BLE na ESP32 (esp32_ble_client) śledzi teraz identyfikator połączenia przy każdej próbie. Przy każdym wywołaniu connect() identyfikator jest zerowany. Po udanym otwarciu bierze wartość ze zdarzenia otwarcia. Ma to znaczenie przy ponownym otwieraniu połączenia, które już istnieje: Bluedroid pomija wtedy zwykłe zdarzenie połączenia, więc stary kod zostawiał pusty identyfikator, nie rozpoznawał zamknięcia i wracał do stanu bezczynności dopiero po 10-sekundowym limicie czasu.
Nieudane próby połączenia zostawiają też mniej wpisów w dzienniku. Bluedroid potrafi zgłosić nieudane bezpośrednie połączenie jako rozłączenie, a potem otwarcie ze statusem 133. Klient zapisywał tę sekwencję na poziomie błędu nawet wtedy, gdy od razu wracał do normalnej pracy. Beta 3 rozpoznaje ten znany przebieg i zostawia limit czasu tylko na rzadki przypadek, w którym kolejne zdarzenie w ogóle nie nadejdzie.
Poprawka dotyczy lokalnych klientów BLE, które same otwierają połączenia z urządzeniami peryferyjnymi. Nie jest to automatyczna aktualizacja każdego pośrednika Bluetooth w Home Assistancie. Pośredniki korzystają z innego mechanizmu aktywnych połączeń (bluetooth_connection). Jeśli na ESP32 masz czujniki albo nastawniki BLE przez ble_client, najpierw przetestuj tę kompilację na zapasowej płytce.
ESP8266: tabele liczb zmiennoprzecinkowych wracają do pamięci flash
Kompilacje na ESP8266 korzystają z rdzenia Arduino 3.1.2-esphome.3. GCC 10 ignorował atrybuty sekcji PROGMEM na zmiennych statycznych wewnątrz szablonów, więc tabele do analizy liczb zmiennoprzecinkowych w ArduinoJson siedziały w RAM, choć biblioteka czyta je wyłącznie przez pgm_read. Reguła linkera przenosi te tabele do pamięci flash.
W jednym zgłoszonym przypadku, na ESP8266 w sterowniku bramy garażowej ratgdo z web_server i api, ubyło 156 bajtów RAM przy niezmienionym użyciu flash. Kompilacja bez analizy JSON nic nie zyskała. To wynik dla konkretnej konfiguracji, a nie obietnica, że każda płytka ESP8266 nagle będzie miała więcej wolnej pamięci.
Ta sama beta zostawia też procedurę obsługi przerwania MCP23xxx w pamięci IRAM na ESP8266 i nie pozwala przerwaniu odbioru programowego UART-u blokować procesora przez cały bajt. Takie drobne poprawki stabilności liczą się wtedy, gdy starsza płytka i tak działa na granicy możliwości.
Magistrala CAN, teleinfo i jak testować
Przy wysokiej częstotliwości ramek CAN urządzenie mogło się zawiesić, bo pętla po ścieżce odbioru nie miała limitu. Ta pętla jest już ograniczona. Jest też zmiana psująca zgodność wsteczną w komponencie francuskiego teleinfo (TIC): gotowe właściwości dla głównych znaczników ramek standardowych i historycznych. Jeśli nie odczytujesz francuskich liczników energii, możesz to pominąć; jeśli tak, przeczytaj opis tej zmiany w repozytorium przed aktualizacją.
Żeby przetestować betę, trzeba ponownie wgrać oprogramowanie na urządzenie. Sama aktualizacja narzędzia nie wystarczy. W Home Assistancie użyj dodatku ESPHome Device Builder w kanale beta. Z linii poleceń zainstaluj wersję przedpremierową przez pip (pip install --upgrade --pre esphome albo pakiet Device Builder z --pre). Zachowaj działający obraz oprogramowania testowej płytki, wgraj nową wersję na jedno mało ważne urządzenie z komponentem, który cię interesuje, i porównaj łączenie oraz rozłączanie z tym samym urządzeniem peryferyjnym.
Jeśli wszystko działa bez kłopotów, poczekaj na 2026.10.0. Betę warto zainstalować, gdy dziennik zalewają błędy BLE, gdy na ESP8266 z JSON-em walczysz o każdy wolny bajt albo gdy masz zajętą magistralę CAN.