Dwie nowości dla ESP32, które w tym miesiącu trafiły do kodu ESPHome 2026.11, miały ograniczenia. Tryb WISP zamienia płytkę w mały wzmacniacz Wi-Fi z NAT, ale nie dało się go połączyć z captive_portal. Komponent modem łączy ESP32 z internetem przez modem komórkowy, tyle że jego pierwsza wersja nie miała czujników siły sygnału. Trzy zmiany scalone z gałęzią rozwojową 24 i 25 października 2026 rozwiązują oba problemy, a przy okazji dodają punkt dostępowy, który po prostu działa cały czas.

Punkt dostępowy, który się nie wyłącza

Do tej pory sekcja ap: była awaryjna: własna sieć płytki pojawiała się dopiero wtedy, gdy ta nie mogła połączyć się z Wi-Fi. Zmiana #20077 autorstwa nliaudat, scalona 25 października, dodaje ap_mode: ALWAYS_ON. Punkt dostępowy działa wtedy równolegle z połączeniem z routerem, ale ruch między obiema sieciami nie jest przekazywany. Tego trybu nie da się połączyć z post_connect_roaming, dlatego przykład w opisie zmiany ustawia post_connect_roaming: false.

Ta sama zmiana dopuszcza captive_portal w trybie WISP. Portal zależy od stanu połączenia z routerem. Pojawia się, gdy płytka straci dostęp do sieci nadrzędnej (po 10 sekundach albo od razu, jeśli nie ustawiono żadnej sieci do połączenia), a także wtedy, gdy płytka czeka na podanie danych sieci Wi-Fi. Gdy płytka połączy się z routerem, portal znika, a punkt dostępowy zostaje. Dopóki DNS z sieci nadrzędnej nie działa, serwer DHCP podaje klientom jako serwer DNS adres samego punktu dostępowego, więc ich zapytania trafiają do portalu. Potem płytka zmienia ustawienia DHCP i rozłącza klientów, żeby pobrali nowe.

Obie opcje działają na ESP32 w obu środowiskach (Arduino i ESP-IDF), a połączenie nadrzędne może iść przez Wi-Fi, Ethernet albo modem. Domyślny awaryjny punkt dostępowy i WISP bez portalu działają tak jak wcześniej.

Internet z sieci komórkowej dla innych urządzeń

Po zmianie #21584 autorstwa oarcher, scalonej 24 października, punkt dostępowy w trybie WISP może kierować ruch przez interfejs sieciowy modemu. ESP32 z modemem komórkowym działa wtedy jak mały router udostępniający internet przez Wi-Fi. W przykładzie z opisu zmiany wystarcza pusta sekcja modem: i sekcja ap: z ap_mode: WISP.

Odczyty sygnału z modemu

Zmiana #14683, również autorstwa oarcher i scalona 24 października, dodaje czujniki, których zabrakło w pierwszej wersji:

modem:
  model: SIM7600
  update_interval: 60s

sensor:
  - platform: modem
    rssi:
      name: Signal

text_sensor:
  - platform: modem
    network_type:
      name: Network type

Czujnik rssi (w dBm, przeliczany z odpowiedzi na AT+CSQ; gdy modem zwraca 99, wartość jest nieznana) i ber, czyli stopa błędów bitowych, działają z każdym modelem. Czujnik tekstowy network_type odczytuje typ sieci z tabeli AT+CNSMOD używanej w rodzinie SIM7600, więc zadziała tylko z SIM7600 i SIM7670. Nowa opcja update_interval ustala, jak często odczytywane są wartości. Odczytuje je osobne zadanie modemu, więc główna pętla nigdy nie czeka na modem. Konfiguracja bez tych platform kompiluje się dokładnie tak jak przedtem.

Dokumentacja obu zmian w modemie jest już scalona (esphome.io #7895 i #7897). Opis stałego punktu dostępowego i portalu w trybie WISP wciąż czeka na scalenie (esphome.io #7687).