OpenDTU für Deye Sun

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 das Projekt geforked (hier) und die Möglichkeit hinzugefügt Deye Sun Wechselrichter auszulesen.

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
  • Erreichbarkeit
  • Einfache Einbingen des Wechselrichters via UI

Funktion

Da der Deye Sun Wechselrichter ja keine 2.4 GHz Schnittstelle wie der Hoymiles hat, wird dieser über WLAN ausgelesen. Um genauer zu sein über den Modbus Port 48899 via UDP. Hier kann dann bei der Einrichtung der Hardware natürlich das 2.4 GHz Funk Modul weggelassen werden. Nach der Einrichtung des Wechselrichters wird ca. alle 30 Sekunden die Erreichbarkeit des Wechselrichters geprüft und alle 5 min die neuen Daten ausgelesen.

Problematik

Da die Deye Sun Wechselrichter die Daten nur alle 5 min aktualisieren können diese natürlich auch nur alle 5 min neu abgefragt werden. Das ist natürlich schade da die Werte nie so richtig aktuell sind. Aber zumindest sind sie der Durchschnitt der letzten 5 min und nicht nur ein zufälliger Zeitpunkt davon.

Drosselung der Leistung

Das Drosseln der Leistung des Wechselrichter kann öfter erfolgen als das auslesen. Je nachdem ob gerade Daten abgefragt werden oder die Verbindung „frei“ ist, kann dies sofort passieren aber auch schon mal bis zu 30 Sekunden dauern.

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.

Bilder

4 Gedanken zu „OpenDTU für Deye Sun

  1. Hallo Brony,

    seitdem mein 600W Balkonkraftwerk am richtigen Ort angebracht ist (0° auf einer Pergola mit 2 Winkeleinstellungen) produziert es Strom wie Sau. Ich denke über diverse Erweiterungen nach: Batterie, vertikale Nachführung, Erweiterung etc.. Ein Knackpunkt bei der ganzen Sache ist, dass man idealer Weise die Leistungsabgabe der Anlage ans Netz über den Wechselrichter dynamisch steuert (z.B. das Verhältnis batterieladen/einspeisen oder die Reduktion der Batterieeinspeisung in der Nacht auf die Grundlast). Diese Reduzierung der Einspeiseleistung kann mein Deye SUN600 – aber halt nur über die App, nicht dynamisch. Nun habe ich mein System in Everhome eingebunden – auch den Deye. Hier kann ich ihn auch nur überwachen, aber nichts einstellen. Mit OpenDTU erscheint mir das realistisch zu werden und mit deiner Erweiterung auf Deye noch ein Schritt mehr.

    Aber Fragen:

    1. Die OpenDTU kann in Everhome eingebunden werden, wie bekomme ich deine Firmware drauf? Runterladen und über die DTU-App upgraden?

    2. Wieso zeigen sowohl die Solarman-App als auch Everhome die Leistung Verzögerungsfrei an, wenn – wie du schreibst – der Wechselrichter die Daten nur alle 5 Minuten preisgibt?

    3. Kann ich DTU und Direktverbindung zeitgleich betreiben (Direktverbindung zum Monitoring der aktuellen Werte und DTU zur Überwachung und Steuerung der Leistungsabgabe)?

    4. Die DTU ersetzt doch die Bindung an die Deye-Cloud in China. Aber wo landen die Daten? Werden die auf der DTU gespeichert, in der App? Bei Anbindung an Everhome hoffentlich dort …

    Ich bin gespannt …
    Vielen Dank im Voraus für deine Antworten.

    lg … Roland

    1. Hallo Roland,

      Zu deinen Fragen:

      1. Die Firmware die du suchst ist hier: https://github.com/tost11/OpenDTU-Push-Rest-API-and-Deye-Sun/blob/master/builds/deye_esp32dev_firmware.bin.. Diese kannst du entweder direkt auf den ESP aufspielen oder über die UI von DTU installieren. Bitte beachte, dass die Version schon etwas veraltet ist, da es schon ein halbes Jahr her ist als ich die gebaut hab. (Ich müsste da mal wieder den aktuellen stand rein mergen).

      2. Eine gute Frage, soweit ich weiß, zeigt die App zwar immer Daten an diese sind aber über die letzten 5 min akkumuliert und spiegeln nicht die aktuellen Werte wider wie z.B. bei den Hoymilles Geräten, die alle 10sec abgefragt werden können. Falls du da andere Erfahrungswerte hast oder mir sagst wie ich öfter an Daten komme, wäre das nett zu wissen.

      3. Mir ist nicht ganz klar was du mit Direktverbindung meinst aber grundsätzlich ja. Es können mehrere Geräte gleichzeitig Daten vom Wechselrichter abrufen.

      4. Nein DTU ersetzt nicht die Anbindung an die Deye-Cloud. DTU fragt die Daten von dem Wechselrichter separat ab über einen offenen Port an dem Gerät. Wie genau die Daten nach Everhome kommen kann ich dir nicht sagen mit diesem System hatte ich noch nie zu tun. Zudem speichert DTU keine historischen Werte, sondern zeigt nur die aktuellen an.

      Dann jetzt vielleicht noch ein kleiner Denkanstoß von mir. Wenn es dir nur darum geht, den Wechselrichter zu drosseln ist vielleicht dieses Tool eher, was du suchst: https://github.com/s10l/deye-logger-at-cmd. Hiermit lässt sich mit nur einem Befehl die Drosselung einstellen und du müsstest DTU gar nicht verwenden. Bzw. hier hatte ich auch mal was dazu geschrieben: https://itgrufti.de/solar/deye-sun-balkon-wechselrichter-drosseln/

      Ich hoffe ich konnte dir weiter helfen.

  2. Hallo
    Ich habe eine Frage:
    1. geht dies auch mit opendtu on battery.
    2, Unterstützt deine Fork auch 2 Wechselrichter, also z.b hoymiles und deye
    3. geht dann auch das dynamische einspeisen?

    Danke vielmals für dein Engagement

    1. 1. Nein da opendtu on battery ein eigener Fork ist und in meinem nicht enthalten. Zusammen mergen wäre aber sicher möglich.
      2. Ja beim Einrichten des Wechselrichters kann ausgewählt werden welcher „Hersteller“ verwendet werden soll.
      3. Wenn du mit dynamischen einspeisen meinst, dass du über das UI oder Web(Rest)-Aufrufe die Drosselung dynamisch ändern kannst (ca. alle 20sec) dann ja. Auch wenn ich da lieber auf dieses Projekt: https://github.com/s10l/deye-logger-at-cmd verweise, hier ist dies mit nur einem Kommandozeilenbefehl möglich.

Schreibe einen Kommentar

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

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