Wieczorem 17 października 2026, w odstępie ośmiu minut (o 21:44 i 21:52 czasu polskiego), do gałęzi rozwojowej ESPHome trafiły dwie zmiany w obsłudze radia. Obie rozszerzają remote_base, czyli wspólny kod komponentów remote_receiver i remote_transmitter, i obie dotyczą silników do rolet i osłon. Wejdą do ESPHome 2026.11.

Piloty A-OK

A-OK produkuje silniki do zasłon, rolet ZIP, pergoli i podobnych osłon. Wieloma z nich steruje się pilotami na 433 albo 868 MHz, na przykład modelem AC127, do którego odsyła opis zmiany. Zmiana #20991 od użytkownika nagisa dodaje dekoder i koder tego protokołu. Płytka ESP z modułem radiowym odczyta więc sygnał z pilota i sama wyśle te same polecenia. Autor korzystał wcześniej z analogicznego komponentu spoza głównego repozytorium we własnym projekcie, zarówno do odbioru, jak i do nadawania, a nowy kod przetestował na ESP-IDF.

Ramka zaczyna się impulsem o długości 5 ms, po którym idą 64 bity: stały nagłówek, 24-bitowy identyfikator pilota, 16-bitowa maska kanałów, bajt polecenia i suma kontrolna. Wystarczy ustawić dump: aok w odbiorniku i nacisnąć przycisk na pilocie, a w dzienniku pojawią się wartości remote_id, channels i command. Przepisujesz je potem do akcji remote_transmitter.transmit_aok. Każdy z 16 kanałów to osobny bit maski, więc jeśli ustawisz kilka bitów, jedno polecenie dotrze naraz do kilku silników. Na odebrane kody można reagować wyzwalaczem on_aok.

Dokumentacja przypomina, że piloty wysyłają każdy kod kilka razy. Jeśli silnik nie reaguje na pojedynczą transmisję, warto dodać repeat z times: 8 i wait_time: 5ms. W przykładowej konfiguracji jest radio CC1101, które przed każdym wysłaniem przechodzi na nadawanie, a potem wraca do odbioru.

Grupowe ramki Jarolift

Druga zmiana, #20927 od Bascht74, to tyleż poprawka, co nowa funkcja. Odbiorniki TDEF firmy Jarolift korzystają z protokołu KeeLoq, który ESPHome już wysyła akcją transmit_keeloq. Ramka TDEF ma jednak 72 bity: Jarolift dokłada 8 bitów grupy zaraz po 64-bitowym słowie, w miejscu, w którym układ HCS301 ma bity słabej baterii i powtórzenia. ESPHome zawsze wysyłał bit powtórzenia jako 1, a odbiornik TDEF odczytuje ten bit jako kanał 10. Polecenie dla pojedynczej rolety na kanale od 1 do 8 docierało więc także do kanału 10.

Nowa opcja group (od 0 do 0xFF) wypełnia te 8 bitów. Nie można jej łączyć z level: true, suffix ani suffix_bits, bo wszystkie ustawiają te same bity. Ramki TDEF dało się już wcześniej dekodować, a teraz w wyzwalaczu on_keeloq funkcja x.group() zwraca bity grupy. Ramki grupowe wyślesz zwykłym modułem OOK na 433 MHz podłączonym do GPIO albo przez komponent cc1101, w obu przypadkach z carrier_duty_percent: 100%.

Poprawka dla Jarolift opiera się na wcześniejszej zmianie #19891, scalonej 12 października, która dodała opcjonalne bity po słowie HCS301. Opis opcji group w dokumentacji 17 października wciąż czekał na scalenie.