Co to jest DTU i po co budować własne?
Falowniki mikroinwerterowe Hoymiles (seria HM, HMS, HMST) komunikują się z zewnętrznym światem przez urządzenie zwane DTU (Data Transfer Unit). Oryginalny DTU Hoymilesa (DTU-Pro, DTU-Wlite) kosztuje 300–600 zł i wysyła dane wyłącznie do chmury Hoymiles – bez możliwości integracji z Home Assistant, InfluxDB czy Grafaną.
OpenDTU to projekt open-source stworzony przez Thomasa B. (github.com/tbnobody/OpenDTU), który zamienia tanie ESP32 w pełnoprawne DTU z obsługą MQTT, REST API i lokalnym panelem webowym. Całkowity koszt budowy: 30–80 zł.
Kompatybilne falowniki
OpenDTU wspiera szeroką gamę mikroinwerterów Hoymiles. Pełna lista na GitHubie projektu. Aktualnie (2024) obsługiwane serie:
- HM-300, HM-350, HM-400 – jednopanelowe, jednofazowe
- HM-600, HM-700, HM-800 – dwupanelowe, jednofazowe
- HM-1000, HM-1200, HM-1500 – czteropanelowe
- HMS-350, HMS-500, HMS-800-2T, HMS-1800-4T – nowa seria z nowym protokołem
- HMT-1800-4T, HMT-2250-6T – trójfazowe
Wymagane komponenty
- ESP32 (WROOM-32) – np. ESP32 DevKit v1 lub kopia na AliExpress. Koszt: 15–30 zł
- Moduł radiowy NRF24L01+ – do komunikacji z falownikami starszej serii (HM). Koszt: 5–15 zł. Uwaga: dla serii HMS wymagany jest zamiast tego moduł CMT2300A lub dedykowany shield OpenDTU-Fusion.
- Kondensator 100 µF / 10 V – stabilizacja zasilania NRF24L01 (bardzo ważne!)
- Przewody dupont
- Obudowa – opcjonalnie drukowana na drukarce 3D (pliki STL dostępne na Thingiverse)
Schemat połączeń ESP32 + NRF24L01
| NRF24L01 | ESP32 GPIO |
|---|---|
| VCC | 3.3V |
| GND | GND |
| CE | GPIO 16 |
| CSN | GPIO 15 |
| SCK | GPIO 18 |
| MOSI | GPIO 23 |
| MISO | GPIO 19 |
| IRQ | GPIO 34 (opcjonalnie) |
Dodaj kondensator 100 µF między VCC a GND NRF24L01 – brak kondensatora to najczęstsza przyczyna problemów z komunikacją.
Kompilacja i wgranie firmware
Najłatwiej korzystać z PlatformIO w VS Code:
- Sklonuj repozytorium:
git clone https://github.com/tbnobody/OpenDTU.git - Otwórz katalog w VS Code z rozszerzeniem PlatformIO
- Edytuj
platformio.inii wybierz środowisko dla twojego ESP32 - Utwórz plik
src/config.hz danymi Wi-Fi (lub skonfiguruj przez AP mode po pierwszym uruchomieniu) - Build + Upload:
pio run -e esp32dev -t upload
Alternatywnie: użyj OpenDTU Fusion Flasher (dostępny online) do wgrania gotowego binarnego firmware przez przeglądarkę Chrome (Web Serial API) – bez instalacji narzędzi.
Pierwsze uruchomienie i konfiguracja
- Po uruchomieniu ESP32 tworzy sieć Wi-Fi
OpenDTU-XXXXXX(hasło: openDTU42) - Połącz się i otwórz
192.168.4.1 - Skonfiguruj połączenie z domową siecią Wi-Fi
- Po restarcie otwórz panel na adresie IP urządzenia
- Przejdź do Settings → Inverter → Add i wprowadź numer seryjny falownika (z naklejki lub aplikacji Hoymiles)
Konfiguracja MQTT
W Settings → MQTT włącz broker i podaj adres swojego Mosquitto (np. Raspberry Pi). OpenDTU automatycznie publikuje dane do topiku solar/hoymiles/SERIAL/ z polami: power, yieldday, yieldtotal, temperature, voltage (per panel).
Integracja z Home Assistant
Home Assistant ma dedykowaną integrację HACS dla OpenDTU (opensolarstats/ha-opendtu). Po zainstalowaniu i skonfigurowaniu masz dostęp do wszystkich encji falownika bezpośrednio w HA. Możesz tworzyć automatyzacje: np. gdy produkcja PV przekracza 500 W – włącz ładowanie EV.
REST API OpenDTU
OpenDTU udostępnia REST API pod adresem http://opendtu-ip/api/livedata/status. Odpowiedź JSON zawiera wszystkie dane produkcyjne. Możesz łatwo odpytywać je skryptem Python lub Node-RED i kierować do dowolnej bazy danych.
Szczegółowe poradniki konfiguracji OpenDTU i integracji z Linuksem znajdziesz na iPraktyk.pl. Jeśli natomiast szukasz kursów z ESP32 i programowania mikrokontrolerów, polecam Umiej.pl – praktyczne kursy programowania (C/C++, PHP, SQL) w języku polskim.
Problemy i rozwiązania
- Brak komunikacji z falownikiem: Sprawdź anteny, odległość (max 10 m bez przeszkód), kondensator na NRF24L01, numer seryjny
- Restart ESP32 co kilka minut: Zbyt mały zasilacz (min. 500 mA na 3.3 V), problem z pamięcią – sprawdź wersję firmware
- Dane niedostępne w nocy: Normalne – mikroinwertery wyłączają się gdy brak produkcji, OpenDTU pokazuje ostatnie dane lub brak danych
- MQTT nie łączy się: Sprawdź adres brokera, autoryzację, firewall na Raspberry Pi
Podsumowanie
OpenDTU na ESP32 to jeden z najlepszych projektów DIY w świecie fotowoltaiki – daje pełną kontrolę nad danymi falowników Hoymiles, eliminuje zależność od chmury i otwiera drogę do głębokiej integracji z systemami smart home. Koszt poniżej 80 zł, a satysfakcja bezcenna. Projekt aktywnie rozwijany – społeczność na GitHubie liczy setki kontrybutorów i tysiące użytkowników na całym świecie.