OpenDTU für Hoymiles W-Serie (HMS-800W-2T)

Was ist OpenDTU ?

OpenDTU ist eine Soft/Hardware Lösung um die Hoymiles Wechselrichter auszulesen. Ich finde dieses Projekt sehr gut, da es für den geringen Kostenaufwand sehr viele Features bietet. Aus diesem Grund habe ich meinen Fork des Projekts erweitert (hier) und die Möglichkeit hinzugefügt die neuen Hoymiles Wechselrichter mit integriertem WLAN auszulesen. Das „neue“ WLAN Protokoll wurde bereits von diesem Projekt TDUGateway ermittelt und ich habe einen Teil der eigentlichen Kommunikation größtenteils nur übernommen und ihn auf das OpenDTU Projekt adaptiert.

Dies war nötig da DTUGateway immer nur einen Wechselrichter zeitgleich unterstützt. Zudem ist der Funktionsumfang von OpenDTU etwas größer was Benutzbarkeit angeht. Ein Vorteil an DTUGateway ist allerdings das auf dem ESP8266 läuft.

Funktionalität

Es werden fast alle Features unterstützt, die OpenDTU Software auch für die Hoymiles Wechselrichter bietet.

  • Auslesen aller Werte (Panel-Spannung, Stromstärke usw.)
  • Drossel der Leistung des Wechselrichters
  • Neustart des Wechselrichters
  • Erreichbarkeit
  • Einfache Einbingen des Wechselrichters via UI

Funktion

Da der Hoymiles W-Serie Wechselrichter ja keine NRF24 Schnittstelle wie die (alten) Hoymiles  Geräte hat, wird dieser über WLAN ausgelesen. Um genauer zu sein über den Protobuf Port 10081 via TCP. Hier kann dann bei der Einrichtung der Hardware natürlich das 2.4 GHz Funk Modul weggelassen werden. Nach der Einrichtung des Wechselrichters kann eingestellt werden wie oft die Daten abgefragt werden. Alles 20-30 Sekunden haben sich hier als sehr stabil herausgestellt.

Bei den ersten Firmware Versionen des Wechselrichters kommt es zu Problemen, wenn die Daten öfter als alle 30 Sekunden abgefragt werden (die Werte werden zwar abgefragt allerdings ändern sie sich nicht). Zusätzlich kommt es vermehrt zu Verbindungsabbrüchen, welche immer nach einengen, Stunden betrieb auftreten. Dies betrifft Firmwareversionen welche mit einer 1 beginnen z.B. 1.00.08

Firmware

Das letzte build zum Installieren kann hier gefunden werden. Hierbei handelt es sich um das generische esp32 build für den ESP mit 4MB Speicher.

Limitierungen

Da ich selber nicht alle Wechselrichtertypen des Herstellers besitze funktioniert die korrekte ermitteln alle Typen (noch) nicht. Diese werden über die Seriennummer ermittelt. Falls ihr also einen Wechselrichter besetzt, der nicht richtig erkannt wird, teilt mir gern das Präfix (die ersten 4 Ziffern) der Seriennummer mit oder kommentiert sie hier unter diesem Github Issue.

Wechselrichter mit 6 Eingängen (6T) werden auch noch nicht unterstützt. Diese waren in der Implementierung vom eigentlichen Projekt (DTUGateway) nicht enthalten.

Des Weiteren ist ein Ausschalten und das Auslesen der Firmware Informationen zum jetzigen Zeitpunkt noch nicht implementiert.

OpenDTU als Gateway

Des Weiteren ist es mit dem hier beschriebenen Fork möglich OpenDTU als Gateway zum Wechselrichter zu verbinden. Diesen quasi komplett vom Internet zu trennen um Firmwareupdates und remote zugriff des Herstellers zu unterbinden. OpenDTU fungiert somit als Brücke zwischen dem Haus WLAN und dem Wechselrichter. Für mehr Infos ist diese Setup hier genauer beschrieben.

Bilder

5 Gedanken zu „OpenDTU für Hoymiles W-Serie (HMS-800W-2T)

  1. Danke, für die großartige Arbeit!
    Hast du geplant Deye und HMS-xxxxW-xT auch mit openDTU on battery zu forken oder die Funktion der Nulleinspeisung zu implementieren?

    1. Ja, darüber nachgedacht habe ich bereits. Im besten fall, müsste man die Forks ja „nur“ mergen. Bzw. hab auch darüber nachgedacht das RPC Protokoll des Shelly direkt anzubinden bzw. mit diesem Projekt auch jede eigene Implementierung eines Smartmeters. Auch die Deye Sun Wechselrichter lassen sich ja öfter Drosseln als die Auslesezeit von 5 Min. Ich nehme es mal mit auf, auf meine To-do-Liste, da ja anscheinend gesteigertes Interesse besteht.

  2. Das hört sich klasse an. Ich finde auch die Idee Wechselrichter und andere Solarhardware nicht aufs Internet oder Clouds zugreifen zu lassen hervoragend. Ich mache das mit der normalen DTU und einem alten Wr ähnlich. Hole mir die Daten von der OpenDTU auf den Raspberry PI und hier generiere ich alles über einfache Shellskripte und GNUPlot für die Diagramme und lokale Webseiten – ganz ohne Internet. Und habe damit genau die Daten und die Optik die ich brauche.

  3. Servus, habe einen HMS-800W-2T und habe versucht, ihn mit der openDTU zu verbinden. Aber das funktioniert bei mir schon beim eingeben der Seriennummer nicht.
    Diese beginnt mit 4143. Jedoch bei der Eingabe der ersten Ziffer zeigt die Maske an „unbekanntes Format“ (HoymilesW ist in der Auswahl darüber eingestellt)… Ratlos…

    1. Die Seriennummer die mit 4143 Anfängt, ist die Nummer für das DTU-Interface des Wechselrichters (intern hat jeder Wechselrichter dieselben Funktionen wie die DTU-Sticks). Auf dem Geräte müsste noch eine zweite Seriennummer stehen. In der Konsole (Im Header Menü: Info ⇾ Konsole) müsste auch ein Fehler angezeigt werden, der die beiden Seriennummern anzeigt. Achtung diese werden in Dezimal angezeigt und müssen für die Eingabe noch in Hex konvertiert werden.

      Es kann aber auch sein, dass es sich hier um eine unbekannte Seriennummer handelt. In diesem Fall müsste diese eingetragen werden in Sourcecode. Dies kann getestet werden, indem das Gerät trotz der unbekannten Seriennummer hinzugefügt wird im OpenDTU. Die Werte des Wechselrichters sollt dann trotzdem angezeigt werden. Die Anzahl der Strings ist dann nur falsch.

Antworte auf den Kommentar von Tost Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.