Anleitung: OpenDTU als ESP32-Fernbedienung für Hoymiles-Wechselrichter

20250321 DerSchneider

Einleitung

Diese Anleitung beschreibt, wie du mit einem ESP32 und einem Funkmodul deine eigene OpenDTU (Data Transfer Unit) aufbaust. Damit kannst du deinen Hoymiles-Wechselrichter (z. B. HM-800, HMS-800) direkt auslesen und steuern – ohne Internet, ohne originale DTU und mit voller Kontrolle über deine Daten.

Teil 1: Was ist OpenDTU und wozu brauche ich es?

OpenDTU ersetzt die originale Hoymiles-DTU und bietet folgende Vorteile:

  • Direkte Auslesung aller Leistungsdaten (auch ohne Internet)
  • Steuerung des Wechselrichters (Ein/Aus, Leistungsbegrenzung)
  • Integration in Smart Home Systeme wie Home Assistant
  • Datenhoheit – alles bleibt in deinem eigenen Netzwerk
  • Kosten ca. 20–40 € für die Hardware (je nach Ausführung)

Teil 2: Hardware-Beschaffung – Welche Teile brauche ich?

2.1 Den richtigen Funkchip bestimmen

Die Wahl des Funkchips hängt von deinem Wechselrichter-Modell ab (siehe Aufkleber am Gerät):

Wechselrichter-SerieBenötigter FunkchipTypische Modelle
HM-SerieNRF24L01+ (mit externer Antenne)HM-300, HM-400, HM-600, HM-800
HMS / HMT-SerieCMT2300AHMS-800-2T, HMS-1000-2T, HMT-1800-6T
Modelle mit „W“❌ nicht unterstütztHMS-800W-2T (diese haben WLAN integriert)

2.2 Einkaufsliste

Option A: Selbstbau (löten erforderlich)

KomponenteEmpfehlungPreis ca.
ESP32-EntwicklungsboardWemos D1 mini ESP32, ESP32-C3, AZ-Delivery DevKit8–12 €
FunkmodulNRF24L01+ mit externer Antenne (PA+LNA) oder CMT2300A-Modul3–8 €
Display (optional)SSD1306 oder SH1106 (128×64, I2C)3–5 €
Gehäuse3D-Druck oder Universal-Gehäuse2–10 €
Kabel / BuchsenleistenJumper-Kabel, Stiftleisten2–5 €

Option B: Fertigplatine (lötfrei)

ProduktBezugPreis ca.
OpenDTU Fusion BoardSpezialisierte Shops (z. B. awesome-opendtu.de)35–50 €
Fertig aufgebaute OpenDTUeBay / Kleinanzeigen40–70 €

Teil 3: Verkabelung – Schritt für Schritt

3.1 Vorbereitung

  • Arbeitsplatz: gut beleuchtet, sauber, frei von statischer Aufladung
  • Werkzeuge: Feinlötkolben (max. 350 °C), Seitenschneider, Pinzette, „Dritte Hand“
  • Vor dem Löten alle Komponenten auf Beschädigungen prüfen.

3.2 Pin-Belegung für NRF24L01+ (für HM-Wechselrichter)

NRF24L01+ PinESP32 GPIOHinweis
VCC (3,3V)3.3VNur 3,3V!
GNDGND
CEGPIO 4
CSNGPIO 5
SCKGPIO 18
MOSIGPIO 23
MISOGPIO 19
IRQGPIO 16(optional für verbesserte Kommunikation)

⚠️ Wichtig: Das NRF24L01+ wird nur mit 3,3 V betrieben. Nicht an 5 V anschließen – das zerstört das Modul.

3.3 Pin-Belegung für CMT2300A (für HMS/HMT-Wechselrichter)

CMT2300A PinESP32 GPIO
VCC (3,3V)3.3V
GNDGND
SDIOGPIO 14
SCLKGPIO 12
CS (Register)GPIO 27
FCS (FIFO)GPIO 26

3.4 Optional: Display anschließen (I2C)

Display PinESP32 GPIO
VCC3,3V oder 5V (je nach Display)
GNDGND
SCLGPIO 22
SDAGPIO 21

3.5 Verdrahtung prüfen

Vor dem ersten Einschalten unbedingt prüfen:

  • Liegt VCC am NRF24L01+ wirklich an 3,3V?
  • Alle GND-Verbindungen vorhanden?
  • Keine Kurzschlüsse zwischen benachbarten Pins?
  • Bei CMT2300A: Sind CS und FCS nicht vertauscht? (häufiger Fehler)

Teil 4: Software-Installation (Firmware flashen)

4.1 Methode A: Web Flasher (einfachste Methode)

  1. ESP32 mit Computer verbinden (USB-Datenkabel, kein reines Ladekabel).
  2. Browser öffnen: https://www.opendtu.solar/firmware/webinstall/
  3. ESP32 ggf. in Boot-Modus versetzen:
    • BOOT-Taste gedrückt halten
    • kurz EN-Taste (Reset) drücken
    • BOOT-Taste loslassen
  4. Auf „Install“ klicken, COM-Port auswählen und bestätigen.
  5. Warten bis „Done!“ erscheint (ca. 1–2 Minuten).

4.2 Methode B: Manuelles Flashen

  1. Firmware von GitHub Releases herunterladen (opendtu-*.bin).
  2. Mit ESPHome-Flasher oder esptool flashen:bashesptool.py –chip esp32 –port COM3 write_flash 0x0 opendtu.bin

Teil 5: Ersteinrichtung im Browser

5.1 WLAN konfigurieren

  1. Nach dem Flashen startet der ESP32 als Access Point.
  2. Mit dem WLAN OpenDTU-xxxxxx verbinden, Passwort openDTU42.
  3. Browser öffnen: 192.168.4.1
  4. Anmelden: Benutzername: adminPasswort: openDTU42
  5. Unter Einstellungen → Netzwerk → WiFi dein heimisches WLAN auswählen und Passwort eingeben.
  6. Speichern – der ESP32 startet neu und verbindet sich mit deinem WLAN.

5.2 IP-Adresse herausfinden

  • Router-Oberfläche: In der Liste der verbundenen Geräte nach „OpenDTU“ oder „ESP32“ suchen.
  • Display: Falls angeschlossen, wird die IP angezeigt.
  • mDNS: http://opendtu.local (nicht mit allen Betriebssystemen kompatibel).

5.3 Passwort ändern

  1. Mit der IP-Adresse einloggen.
  2. Einstellungen → Sicherheit → neues Passwort vergeben und speichern.

Teil 6: Hardware konfigurieren (Pin Mapping)

Unter Einstellungen → Hardware → Pin Mapping die Pins entsprechend deiner Verkabelung einstellen.

Für NRF24L01+:

ParameterWert
Modul aktivieren
CE-Pin4
CSN-Pin5
IRQ-Pin16
Modul-TypNRF24L01

Für CMT2300A:

ParameterWert
Modul aktivieren
SDIO-Pin14
SCLK-Pin12
CS-Pin27
FCS-Pin26

Für Display (optional):

ParameterWert
Display aktivieren
TypSSD1306 oder SH1106
SDA21
SCL22

Speichern nicht vergessen.

Teil 7: Wechselrichter anlernen und verbinden

7.1 Wechselrichter-Seriennummer finden

  • Auf dem Aufkleber am Wechselrichter (beginnt mit „10“ oder „11“)
  • In der originalen Hoymiles-App (falls genutzt)

7.2 Original-DTU außer Betrieb nehmen

  1. Originale Hoymiles-DTU vom Strom trennen.
  2. Wechselrichter zurücksetzen:
    • AC-Seite (Netzstecker) ziehen
    • DC-Seite (Solarmodule) abklemmen oder abdecken
    • 5 Minuten warten
    • Alles wieder anschließen

7.3 Wechselrichter in OpenDTU hinzufügen

  1. In OpenDTU: Einstellungen → Wechselrichter → Hinzufügen
  2. Seriennummer eingeben, optional Namen vergeben.
  3. Speichern.
  4. Nach ca. 30–60 Sekunden sollten auf der Startseite die ersten Werte erscheinen.

Teil 8: Leistungsbegrenzung (Drosselung auf 600 W)

  1. Auf der Startseite den gewünschten Wechselrichter auswählen.
  2. Unter „Limit“ den gewünschten Wert eingeben (z. B. 600 für 600 Watt).
  3. „Set Limit“ klicken.
  4. Die Begrenzung wirkt sofort. Die aktuelle Leistung wird alle 15 Minuten aktualisiert.

Teil 9: MQTT und Home Assistant einrichten

9.1 MQTT aktivieren

  1. Einstellungen → MQTT
  2. MQTT aktivieren ☑
  3. Broker-Adresse, Port, ggf. Benutzername/Passwort eintragen.
  4. Home Assistant Auto Discovery aktivieren ☑
  5. Speichern.

9.2 In Home Assistant integrieren

Bei aktiviertem Auto Discovery wird OpenDTU automatisch unter Einstellungen → Geräte & Dienste erkannt. Alle Wechselrichter erscheinen als eigene Geräte.

Teil 10: Häufige Probleme und Lösungen

ProblemLösung
ESP32 wird nicht erkanntAnderes USB-Kabel, anderen Port testen, Boot-Modus manuell aktivieren
Keine Verbindung zum WechselrichterPin-Belegung prüfen; Original-DTU entfernt? Wechselrichter zurückgesetzt?
Funkverbindung reißt abAntenne ausrichten; Sendeleistung erhöhen; CMT2300A: Frequenz leicht anpassen
Display bleibt dunkelI2C-Adresse prüfen (0x3C / 0x3D); Spannungsversorgung prüfen; SDA/SCL richtig?
Seriennummer wird nicht akzeptiertWechselrichter muss Strom haben (tagsüber); 30–60 Minuten warten

Teil 11: Backup und Wiederherstellung

  1. Einstellungen → Konfigurationsverwaltung → Exportieren – speichert opendtu_config.json
  2. Bei Bedarf: Datei auswählen und Importieren – nach Neustart ist alles wiederhergestellt.

Checkliste für den erfolgreichen Aufbau

  • Funkchip-Typ anhand Wechselrichter-Modell bestimmt
  • Alle Hardware-Komponenten beschafft
  • ESP32 mit Funkmodul verdrahtet (3,3V beachtet!)
  • Verkabelung auf Kurzschlüsse geprüft
  • Firmware über Web Flasher installiert
  • WLAN-Konfiguration durchgeführt
  • IP-Adresse notiert
  • Pin Mapping in der Oberfläche konfiguriert
  • Wechselrichter-Seriennummer eingetragen
  • Original-DTU entfernt, Wechselrichter zurückgesetzt
  • Daten auf der Startseite sichtbar
  • (Optional) MQTT eingerichtet

Weiterführende Ressourcen

Kommentar abschicken