W ESPHome pojawił się komponent duco do central wentylacyjnych z odzyskiem ciepła firmy Duco. Razem z dokumentacją trafił do gałęzi rozwojowej 23 października 2026, więc powinien być w ESPHome 2026.11. Pieter Kokx zgłosił poprawkę w grudniu 2024 roku. Zanim ją przyjęto, minęły prawie dwa lata, a kod trzeba było przepisać pod obecne zasady projektu.
Komponent rozmawia z centralą przez UART tym samym protokołem, którego używa moduł Connectivity Board od Duco, więc ten moduł nie jest potrzebny. Autor pisał i testował kod na DucoBox Energy Comfort D325. Według dokumentacji użytkownicy zgłaszają, że działa też na innych modelach DucoBox Energy i Focus oraz na DucoBox Silent 2.0, ale nie musi działać z każdą centralą Duco.
Podłączenie
D325 ma na płycie głównej złącze 12-stykowe. Styk 8 (RX centrali) łączysz z TX płytki ESP, styk 9 (TX centrali) z RX, do tego trzeba połączyć masy. UART pracuje z prędkością 57600 bodów w trybie 8N1, a ESPHome sprawdza te ustawienia już przy walidacji konfiguracji.
Na złączu są też napięcia 3,3 V i 5 V, którymi można zasilić płytkę ESP. Dokumentacja ostrzega przed podłączaniem USB, gdy płytka jest zasilana z centrali: w wielu płytkach zasilanie z USB zostaje wtedy połączone z zasilaniem centrali. Przed wgraniem oprogramowania przez USB odłącz przewód 3,3 V lub 5 V, a masę zostaw.
Co da się ustawić i odczytać
- Lista wyboru (
select) przełącza tryb wentylacji: automatyczny, ręczne poziomy 1-3 na 15, 30 albo 45 minut, poziomy 1-3 do odwołania i oszczędny tryb na czas, gdy nikogo nie ma w domu. - Pole liczbowe (
number) ustawia temperaturę komfortu od 10,0 do 25,5 °C co 0,1 °C. - Czujniki podają poziom przepływu, czas do końca bieżącego trybu, czas pozostały do wymiany filtra, stan obejścia wymiennika (klucz
bypass) i cztery temperatury powietrza w centrali: zewnętrznego, nawiewanego, wywiewanego z domu i wyrzucanego na zewnątrz. - Stężenie CO2, wilgotność i temperaturę dostarczają czujniki pokojowe Duco podłączone do centrali. Każdy z nich odczytuje się po adresie węzła.
Adresy znajdziesz, włączając discovery: {}. Komponent zaczyna wtedy 16 sekund po uruchomieniu odpytywać kolejne adresy, a po mniej więcej dwóch minutach wypisuje znalezione węzły w zrzucie konfiguracji w dzienniku. Może też ustawiać zegar centrali ze źródła czasu w ESPHome, domyślnie co 15 minut. Tu dokumentacja ostrzega: czas do wymiany filtra jest liczony z tego zegara, więc cofnięcie go skraca pozostały czas.
Lżejszy niż pierwsza wersja
Przed scaleniem osiem klas czujników zastąpiła jedna, oparta na tabeli, a komponent przestał przydzielać pamięć na stercie przy każdej wiadomości. W konfiguracji testowej dało to około 400-470 bajtów mniej statycznej pamięci RAM i około 8 KB mniej pamięci flash, zarówno na ESP8266, jak i na ESP32. Test integracyjny sprawdza teraz komponent na symulowanej centrali Duco. Jeśli węzeł nie odpowie na zapytanie, komponent zgłasza ostrzeżenie do czasu, aż odpowie, a nieznany tryb trafia do dziennika, zamiast udawać tryb automatyczny.
Centralą steruje się bezpośrednio przez przewód, więc nic tu nie zależy od chmury ani aplikacji Duco. Kto korzystał z wczesnej wersji tego kodu jako komponentu zewnętrznego, powinien usunąć opcję send_wait_time. Zniknęła, ale i tak nigdy nic nie robiła.