Kategorien
Allgemein

OpenDTU Einbindung in HomeAssistant

OpenDTU Einbindung in Home Assistant


Hier eine kurze Anleitung zur Einbindung von OpenDTU in Home Assistant.

Voraussetzungen:
– das Home Assistant AddOn „Mosquitto broker“ muss bereits installiert und aktiv sein
– OpenDTU ist bereits im Netzwerk verfügbar und aktiv

Testsetup:
– Home Assistant 2023.7
– mein DTU-Kombi Modul für die HM- und HMS/HMT-Serie,
– einen Hoymiles HM-800 (Name in OpenDTU „HM800-Ost“)
– einen Hoymiles HMS-500 (Name in OpenDTU „HMS500-West“)

Beginnen wir mit der Konfiguration in OpenDTU:

Bevor wir jedoch MQTT aktivieren, bitte bedenken, dass der Name, der in OpenDTU beim Wechselrichter hinterlegt ist, auch der Name der Home Assistant Entität ist. Wollt ihr den Namen ändern, wäre jetzt ein guter Zeitpunkt.

Unter „Einstellungen->MQTT“:

Wenn auch die einzelnen Module/Paneele angezeigt werden sollen, weiter runterscrollen und die Option „Einzelne Paneele“ aktivieren:

Danach die Einstellungen speichern. Die Konfiguration in OpenDTU ist somit abgeschlossen.

Nun die Einstellungen in Home Assistant:

Wenn die Einstellungen für den MQTT-Broker korrekt konfiguriert wurden, sollten die Wechselrichter direkt beim MQTT-AddOn als neue Geräte auftauchen. Geht dazu in Home Assistant auf „Einstellungen -> Geräte & Dienste -> MQTT“ und wählt die Geräte aus. Hier sollten nach ein paar Minuten (abhängig von den eingestellten Abfrage-Intervall in OpenDTU) die Wechselrichter als Geräte auftauchen:

Öffnet eines der Geräte und es werden alle Sensoren/Entitäten des Wechselrichters angezeigt.
Neben den Sensoren werden auch die Parameter für die Konfiguration des Wechselrichters angezeigt, welche zum Beispiel zum Setzen der Limits verwendet werden können.
 
 


Happy testing,
WiB

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂

Kategorien
Allgemein

OpenDTU – Olimex-PoE – Pin-Mapping einstellen für opendtu-generic Firmware

OpenDTU - Olimex-PoE - Pin-Mapping einstellen für opendtu-generic Firmware

Nach dem Flashen mit der opendtu-generic.bin kann nur eine Verbindung über WLAN hergestellt werden. Zum Aktivieren des LAN-Moduls muss (einmalig) ein spezielles „Pin-Mapping“ aktiviert werden.

Zuerst wird die Datei „olimex_esp32_poe.json“ benötigt. Diese befindet sich auf der OpenDTU-Projekt-Seite auf GitHub:
olimex_esp32_poe.json
Speichern der Datei mit rechter Maustaste „Speichern unter…“

Nun mit dem Browser auf die OpenDTU Seite verbinden und den Menüpunkt „Einstellungen -> Konfigurationsverwaltung“ wählen:

Im Bereich „Wiederherstellen“ den Eintrag „Pin Mapping“ auswählen, auf „Durchsuchen“ klicken und die heruntergeladene Datei „olimex_esp32_poe.json“ auswählen. Punkt „Wiederherstellen“ wählen.
OpenDTU starten jetzt neu.

Nach dem Neustart im Menüpunkt „Einstellungen->Hardware“ das Profil „Olimex ESP32-POE“ auswählen und am Ende der Seite „Speichern“ klicken:

OpenDTU startet jetzt noch einmal neu.

Das LAN-Modul sollte nun aktiv sein.
Höchste Priorität hat immer das LAN-Modul. Sollte hier keine Verbindung möglich sein, wird automatisch auf WLAN gewechselt. Sobald eine Verbindung über LAN hergestellt wird, wird wieder auf die LAN-Verbindung gewechselt.

Happy testing,
WiB

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂

Kategorien
Allgemein

OpenDTU? – Was ist das?

OpenDTU? Was ist das?

OpenDTU ist eine kostenlose Open-Source-Software zum Auslesen von Hoymiles Wechselrichter.

 

Die Software läuft auf einem ESP32-Mikrocontroller und kommuniziert über ein zusätzliches Funkmodul mit dem Hoymiles Wechselrichter.
Von Hoymiles werden unterschiedliche Funkmodule/Frequenzen verwendet. Die HM-Serie verwendet ein 2,4GHz Modul und die HMS/HMT Serie ein Sub-1G Modul.
Eine Übersicht, welcher Wechselrichter welches Modul erfordert, ist auf der OpenDTU-Projektseite zu finden: OpenDTU-Wechselrichter

Hier eine Liste der wichtigsten Funktionen von OpenDTU:

  • Auslesen der Echtzeitdaten vom Wechselrichter
  • Keine Cloud-Anbindung erforderlich
  • Daten können via MQTT weitergeleitet werden
  • Daten können via WEB-API abgefragt werden
  • Unterstützung von bis zu 10 Wechselrichter
  • Anzeige und Einstellen der Wechselrichter-Limits (auch via MQTT möglich)

Eine Liste aller Funktionen und Aufbau der Hardware gibt es auf der Projektseite:

OpenDTU – Projekt

 

Happy testing,
WiB

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂

Kategorien
Allgemein

OpenDTU – Display (re-)aktivieren

OpenDTU - Display (re-) aktivieren

Ein Display mit Standard-Verkabelung (wie auf GitHub beschrieben) an einem ESP32 kann wie folgt (re-) aktiviert werden:

Zuerst wird die Datei „nodemcu_esp32.json“ benötigt. Diese befindet sich auf der OpenDTU-Projekt-Seite auf GitHub:
nodemcu_esp32.json
Speichern der Datei mit rechter Maustaste „Speichern unter…“

Nun mit dem Browser auf die OpenDTU Seite verbinden und den Menüpunkt „Einstellungen -> Konfigurationsverwaltung“ wählen.
Im Bereich „Wiederherstellen“ den Eintrag „Pin Mapping“ auswählen, auf „Durchsuchen“ klicken und die heruntergeladene Datei „nodemcu_esp32.json“ auswählen. Punkt „Wiederherstellen“ wählen.
OpenDTU starten jetzt neu.

Nach dem Neustart im Menüpunkt „Einstellungen->Hardware“ das Profil „Generic NodeMCU 32 mit SSD1306“ auswählen und am Ende der Seite „Speichern“ klicken.
OpenDTU startet jetzt noch einmal neu.

Das Display sollte jetzt aktiv sein.

Wenn das Display um 180° gedreht werden soll, kann dies unter „Einstellungen -> Hardware -> Display“ angepasst werden.

Links zum Projekt (englisch):
https://github.com/tbnobody/OpenDTU
 

Happy testing,
WiB

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂

Kategorien
Allgemein

OpenDTU – MQTT Topics

OpenDTU - MQTT Topics

Eine Beschreibung aller MQTT Topics ist auf GitHub zu finden:
https://github.com/tbnobody/OpenDTU/blob/master/docs/MQTT_Topics.md

Happy testing,
WiB

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂

Kategorien
Allgemein

Firmware Upgrade

Wichtiger Hinweis:

Ich übernehme keine Gewährleistung oder Support für die Firmware und für das Firmware-Upgrade. Dieser erfolgt auf eigene Gefahr!
Daher: wenn das Modul stabil läuft, sollte man überlegen, ob ein Upgrade überhaupt Sinn macht.

Informationen direkt vom Entwickler zum selber kompilieren gibt es hier: Flashing and starting up
Aktuell Informationen zu den Versionen von OpenDTU gibt es hier im Change Log
Wichtig: Beachtet auch die Breaking changes.

Für ein Upgrade kann die Datei „opendtu-generic.bin“ von GitHub verwendet werden.
https://github.com/tbnobody/OpenDTU/releases

Die Datei „opendtu-generic.bin“ kann direkt über die OpenDTU Web-Oberfläche zum Updaten verwendet werden (Breaking changes beachten!).

Nutzer des Olimex-PoE Modules müssen zusätzlich einmalig das korrekte Pin-Mapping konfigurieren.
Eine Anleitung findet ihr hier: OpenDTU – Olimex-PoE – Pin-Mapping einstellen für opendtu-generic Firmware

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂

Kategorien
Allgemein

Einbindung OpenDTU in IP-Symcon​

Es gibt nun auch ein OpenSource Modul für IP-Symcon (ab Version 6), um direkt ein OpenDTU einzubinden.
Das Modul heißt „Hoymiles OpenDTU“ und ist direkt im Module Store von IP-Symcon zu finden.

Details zum Modul und wie es aktiviert werden kann, gib es auf GitHub:
https://github.com/roastedelectrons/HoymilesOpenDTU

Standardmäßig werden nur die Gesamt-Informationen vom Wechselrichter angezeigt. Sollen auch die Informationen der einzelnen Strings angezeigt werden, dann können diese in der Instanz-Konfiguration aktiviert werden:

Ist alles eingerichtet, dann sieht das so aus:

Happy testing,
WiB
Kategorien
Allgemein

WiB-DTU-PoE Beschreibung

WiB-DTU-PoE ist eine Hardware-Lösung für die OpenSource Software OpenDTU.
Die Lösung besteht aus den Modulen ESP32 mit Power-Over-Ethernet (PoE) und nRF24L01+ mit externer Antenne (Long-Range Version). Das ganze verpackt in einem kleinen Gehäuse und einem 1 Meter USB-Kabel.
WiB-DTU-PoE besitzt zusätzlich zum WLAN einen LAN-Anschluss (100MB) mit PoE. Daher kann es wahlweise über WLAN oder LAN betrieben werden.
Dadurch ist nicht zwingend ein WLAN und Stromanschluss in der Nähe des Wechselrichters erforderlich, da beides über das LAN-Kabel zum Modul geleitet werden kann.
Sollte ihr Router/Switch kein PoE integriert haben, so kann dies auch über einen sogenannten PoE-Injector umgesetzt werden.

Funktionsumfang:

  • Anzeige aktueller Daten der Inverter (Wechselrichter)
  • Anzeige vom Inverter Eventlog
  • Anzeige von Inverter-Informationen wie Firmware-Version, Hardware-Revision, Hardware-Version
  • Anzeige und setzen des Inverter-Limits
  • Unterstützt bis zu 10 Inverter
  • MQTT Support
  • Home Assistant MQTT Auto Discovery Funktion
  • Firmware Upgrade über die Web-Oberfläche
  • Passwortschutz zum Ändern der Einstellungen

Folgende Hoymiles Modelle werden derzeit von OpenDTU unterstützt (Quelle):
– HM-300
– HM-350
– HM-400
– HM-600
– HM-700
– HM-800
– HM-1000
– HM-1200
– HM-1500
– TSUN TSOL-M350 (anscheinend abhängig von der Firmware)
– TSUN TSOL-M800 (anscheinend abhängig von der Firmware)
– TSUN TSOL-M1600 (anscheinend abhängig von der Firmware)

Folgende Werte werden vom Wechselrichter angezeigt:
– Gesamtwert aller Wechselrichter
– Leistung einzelner Wechselrichter
– Leistung der einzelnen Eingänge am Wechselrichter

OpenDTU unterstützt auch das Einstellen eines Limits am Wechselrichter (temporär oder fix):Am Gerät selbst werden keine Daten gespeichert und die Daten werden auch nicht ins Internet (Cloud) gesendet!

Wichtig:
– Diese Lösung ist für alle gedacht, die nur die aktuellen Werte der PV Anlage ablesen möchten bzw. diese in eine eigene SmartHome-Lösung integrieren wollen.
– Es können keine TOR-Settings (Grid-Profile) eingestellt werden
– Wer eine fertige Cloud-Lösung mit historischen Daten und Statistiken sucht, sollte sich eher die vom Hersteller angebotenen Module DTU-Wlite oder DTU-Pro ansehen.
– Es werden derzeit nur die oben genannten Wechselrichter unterstützt.
– Zur Stromversorgung kann das Gerät entweder über PoE (>=37V) oder an ein normales USB Ladegerät angeschlossen werden.
– Das Gerät wird bei der Ersteinrichtung wahlweise in das eigene WLAN (es wird nur ein 2,4GHz WLAN unterstützt!) oder direkt über LAN in das eigene Netzwerk eingebunden.
– Ich habe keine Verbindung zur Entwicklung des OpenDTU Projektes. Der Preis ist für die Hardware-Lösung. Ich installiere jedoch die aktuelle OpenDTU Version (Kurzanleitung zur Installation wird mitgeliefert bzw. kann hier online abgerufen werden).

Kosten für das fertige Modul: 60€ (exkl. Versand)
Bei Interesse oder Fragen: info@wib-dtu.eu

Links zum Projekt (englisch):
https://github.com/tbnobody/OpenDTU
https://github.com/tbnobody/OpenDTU/blob/master/LICENSE

Ich möchte mich an dieser Stelle bei allen beteiligten Entwicklern von OpenDTU und Ahoy bedanken, die eine tolle Leistung bei der Entwicklung vollbracht haben und noch immer vollbringen.
Danke!

 

 
Kategorien
Allgemein

OpenDTU – Limit setzen über MQTT

In diesem Artikel möchte ich ein relativ neues Feature von OpenDTU vorstellen: Limit setzen über MQTT

Werte des Hoymiles via MQTT weiter zuleiten wird ja bereits von vielen genutzt. Wer mit MQTT noch nicht vertraut ist, dem empfehle ich den Artikel MQTT Starthilfe.

Die einzelnen Topics sind hier beschrieben: MQTT Topics.
Wenn man sich die Tabelle ansieht, dann findet man am Ende der Liste bei Inverter limit specific topics folgenden Hinweis: „cmd topics are used to set values„. Also können die „cmd“ Topics zum Verändern der Werte am Wechselrichter via MQTT verwendet werden. Im Detail sind das folgende Topics:

Topic R / W Description Value / Unit
[serial]/cmd/limit_persistent_relative W Set the inverter limit as a percentage of total production capability. The value will survive the night without power. The updated value will show up in the web GUI and limit_relative topic immediatly. %
[serial]/cmd/limit_persistent_absolute W Set the inverter limit as a absolute value. The value will survive the night without power. The updated value will show up in the web GUI and limit_relative topic after around 4 minutes. Watt (W)
[serial]/cmd/limit_nonpersistent_relative W Set the inverter limit as a percentage of total production capability. The value will reset to the last persistent value at night without power. The updated value will show up in the web GUI and limit_relative topic immediatly. %
[serial]/cmd/limit_nonpersistent_absolute W Set the inverter limit as a absolute value. The value will reset to the last persistent value at night without power. The updated value will show up in the web GUI and limit_relative topic after around 4 minutes. Watt (W)
[serial]/cmd/power W Turn the inverter on (1) or off (0) 0 or 1

Ich verwende im Beispiel folgende Daten:
– Wechselrichter Model: HM-700
– Seriennummer Wechselrichter: 114455667780
– Name des Wechselrichters (definiert in OpenDTU): Meine PV
– Base Topic: (definiert in OpenDTU): solar/
– IP des MQTT-Brokers: 192.168.35.216
– IP des WiB-DTU Moduls: 192.168.35.129

Sehen wir uns vor dem Test das aktuelle Limit an:
Symbol befindet sich auf der Seite „Live Data“„Current Limit: 100%“, also derzeit kein Limit gesetzt.

Setzen wir nun ein temporäres (nonpersistent) Limit von 350W:
Im MQTT-Explorer (siehe auch MQTT Starthilfe) sieht das vor dem Setzen so aus:
Wichtig: die Option „Retain“ sollte nicht verwendet werden beim Publishen, da der Wert dadurch am MQTT-Broker gespeichert wird und immer wieder abgefragt werden kann!
Das wird zwar von OpenDTU erkannt, ich hatte aber beim Testen trotzdem Probleme und musste den Cache des MQTT-Brokers löschen um das Limit loszuwerden 🙁

Der Topic zum temporären Setzen lautet in unserem Beispiel:
solar/114455667780/cmd/limit_nonpersistent_absolute
Publishen wir das jetzt mit MQTT-Explorer:
Es kann nun bis zu 4 Minuten dauern, bis das Limit ersichtlich ist.
Danach sehen wir das gesetzte Limit auch im MQTT-Explorer:

Nachdem wir es nur temporär gesetzt haben, wird das Limit nach einem Wechselrichter Neustart wieder zurückgesetzt!

Beispiel: Begrenzung HM-1200
Wir möchten unserem HM-1200 fix auf 800W limitieren, jedoch temporär auf 350W setzen.

  1. Permanentes Limit auf 800W mit Topic:
    solar/114455667780/cmd/limit_persistent_absolute
    Wert: 800
  2. Temporäres Limit auf 350W mit Topic:
    solar/114455667780/cmd/limit_nonpersistent_absolute
    Wert: 350

Bei einem Neustart des Wechselrichters wird somit immer die Begrenzung auf 800W gesetzt.

Happy testing,
WiB

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂

Kategorien
Allgemein

OpenDTU Einrichtung

Zum Ändern der Einstellungen ist eine Anmeldung erforderlich (Login rechts oben).
Username „admin“, Passwort „openDTU42“ (kann unter „Settings“ „Security Settings“ geändert werden):

Zum Einrichten muss zuerst das Modul in das eigene WLAN eingebunden werden.
Bei einem Model mit LAN/PoE und Verwendung eines LAN-Kabels kann dieser Schritt übersprungen werden und es geht weiter mit Punkt 5.

  1. Nach dem Anschließen an eine Stromquelle aktiviert das Modul ein eigenes WLAN (HotSpot). Nun mit einem Gerät (z.B. Handy oder PC) mit dem WLAN „OpenDTU-xxxxxx“ verbinden (der Hinweis „Nicht mit dem Internet verbunden.“ ist in OK und kann bei der Einrichtung ignoriert werden)
    Passwort für das WLAN (wenn erforderlich) „openDTU42“ (Groß- und Kleinschreibung beachten!)
  2. Im Browser die URL http://192.168.4.1 öffnen
  3. Im Menü „Settings“ „Networks Settings“ öffnen
  4. Nun die Zugangsdaten für das eigene 2,4GHz WLAN eingeben (5GHz WLAN wird nicht unterstützt!) und speichern. Wenn die Daten korrekt eingegeben wurden, verbindet sich das Modul jetzt mit dem eingegebenen WLAN.

    Alternativ kann auch eine fixe IP-Adresse konfiguriert werden, indem die Option „Enable DHCP“ deaktiviert wird.
    Hinweis:
    Ist das WLAN „OpenDTU-xxxxxx“ weiterhin verfügbar zum Verbinden, ist das ein Hinweis, dass sich das WLAN-Modul nicht mit dem eigenen WLAN verbinden konnte! Ist das der Fall, dann zurück zu Punkt 1 und die Zugangsdaten zum eigenen WLAN überprüfen bzw. erneut eingeben
  5. Am WLAN-Router unter den DHCP-Clients nachsehen, welche IP-Adresse das Modul bekommen hat. Der Name beginnt meistens mit ESP32 oder OpenDTU (abhängig vom Router).
    Alternativ können auch Tools wie Advanced IP Scanner oder Angry IP Scanner verwendet werden, um Geräte/IP-Adressen im internen Netzwerk zu finden.
    Hinweis:
    optimalerweise sollte eine DHCP-Reservierung am Router oder eine fixe IP-Adresse am WLAN-Adapter eingerichtet werden, damit sich diese nicht verändert
  6. Mit einem Browser auf die IP-Adresse verbinden
    (z.B. http://192.168.x.y )
  7. Im Menü „Settings“ den Punkt „Inverter Settings“ wählen und den Wechselrichter hinzufügen:
  8. Jetzt den Menüpunkt „Live Data“ wählen.
    Wenn der Wechselrichter aktiv ist (Strom liefert), sollten nach kurzer Zeit (< 2 Minuten) die aktuellen Werte des Wechselrichters angezeigt werden

Sollten keine Daten empfangen werden, so kann unter Einstellungen/DTU Settings die Sendeleistung des Funkmoduls (Richtung Hoymiles) erhöht werden (NRF24 ist für HM-Serie, CMT2300A für HMS/HMT-Serie):Links zum Projekt (englisch):
https://github.com/tbnobody/OpenDTU
https://github.com/tbnobody/OpenDTU/blob/master/LICENSE

Happy testing,
WiB

PS: Ich habe keine Verbindung zur Entwicklung der OpenDTU Software, sondern bin nur ein großer Fan 🙂