NEWS
[Neuer Adapter] Hoymiles HMS Wechselrichter
-
Aktuelle Test Version 0.2.0 Veröffentlichungsdatum 27.03.2026 Github Link https://github.com/Eistee82/ioBroker.hoymiles Hallo zusammen,
ich möchte euch meinen neuen Adapter ioBroker.hoymiles vorstellen. Er ermöglicht die direkte Kommunikation mit Hoymiles HMS-Mikrowechselrichtern, die ein integriertes WiFi-DTU (DTUBI) haben — ganz ohne Cloud-Zwang und ohne zusätzliches Gateway.
Was kann der Adapter?
Zwei unabhängige Verbindungsmodi:
- Lokal: Direkte TCP/Protobuf-Verbindung auf Port 10081 — keine Cloud, kein Gateway nötig
- Cloud: Hoymiles S-Miles Cloud API — monatliche/jährliche Energie, CO₂-Einsparung, Ertragsberechnung
Beide Modi können gleichzeitig aktiv sein. Lokale Daten haben Priorität — Cloud-Daten füllen Lücken, wenn die DTU offline ist (z.B. nachts).
Features im Überblick:
- Persistente TCP-Verbindung mit Protobuf-Heartbeat (automatischer Keepalive alle 20s)
- Konfigurierbares Abfrageintervall (0 = schnellstmöglich, ~1s pro Zyklus)
- Cloud Relay: Leitet Wechselrichterdaten im Namen der DTU an die Hoymiles Cloud weiter — die lokale Verbindung blockiert damit nicht mehr den Cloud-Upload
- AES-128-CBC Verschlüsselung für neuere DTU-Firmware
- Echtzeit-Daten: Leistung, Spannung, Strom, Frequenz, Energie, Temperatur
- Per-Panel Monitoring (PV0/PV1, bei 4T auch PV2/PV3)
- Energie-Aggregate: täglich, monatlich, jährlich, gesamt (kWh)
- Ertragsberechnung basierend auf Strompreis (Cloud)
- CO₂-Einsparung (Cloud)
- Steuerung: Leistungslimit (2-100%), Wechselrichter ein/aus/reboot, DTU reboot, Leistungsfaktor, Blindleistung, Warnungen löschen, Erdungsfehler löschen, Wechselrichter sperren/entsperren
- Alarm- und Warnungsüberwachung (109 Codes DE/EN)
- 5 Minuten Idle-Timeout mit automatischem Reconnect
- Netzwerk-Discovery-Modul für ioBroker.discovery
- Vollständige i18n: en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn
Unterstützte Wechselrichter
Der Adapter funktioniert mit Hoymiles HMS-Mikrowechselrichtern mit integriertem WiFi-DTU:
Modell Strings Status HMS-300W bis HMS-500W 1T Untested HMS-600W bis HMS-1000W 2T HMS-800W-2T getestet ✓ HMS-1600DW bis HMS-2000DW 4T Untested Wichtig: Nur HMS-Modelle mit integriertem WiFi werden unterstützt. Der Adapter funktioniert nicht mit HM-Serie, MI-Serie, externen DTU-Pro/DTU-WLite, HMT-Dreiphasenmodellen oder HMS-1600/1800/2000-4T ohne "DW" (diese nutzen Sub-1G RF).
Wie funktioniert es technisch?
Das Protokoll wurde durch Decompilierung der originalen Hoymiles-App und PCAP-Analyse reverse-engineered. Der Adapter kommuniziert direkt per TCP/Protobuf mit dem Wechselrichter auf Port 10081 — genau so, wie es die originale App macht. Es wird kein ESP32-Gateway, kein OpenDTU und kein anderes Zwischengerät benötigt.
Das Cloud Relay ist ein besonderes Feature: Normalerweise blockiert eine lokale Verbindung zur DTU den Cloud-Upload. Der Adapter übernimmt diese Aufgabe und leitet die Daten selbst an die Hoymiles Cloud weiter (Heartbeat alle 60s, RealData alle 5 min). So hat man schnelle lokale Daten und die Cloud-App funktioniert weiterhin.
Konfiguration
Die Einrichtung ist einfach — im Admin nur die IP des Wechselrichters eingeben (oder leer lassen für Auto-Discovery). Für die Cloud optional E-Mail und Passwort des S-Miles-Kontos eintragen.
Bei mehreren Wechselrichtern einfach mehrere Adapter-Instanzen anlegen.
Installation
Der Adapter ist aktuell in Version 0.2.0. Installation über GitHub-URL (Custom-Adapter):
https://github.com/Eistee82/ioBroker.hoymilesLinks
- GitHub: https://github.com/Eistee82/ioBroker.hoymiles
- Dokumentation (DE): https://github.com/Eistee82/ioBroker.hoymiles/blob/main/docs/de/README.md
- Issues/Bugs: https://github.com/Eistee82/ioBroker.hoymiles/issues
Feedback & Tester gesucht
Ich habe den Adapter bisher nur mit meinem HMS-800W-2T testen können. Wenn jemand ein anderes HMS-Modell mit integriertem WiFi hat und testen möchte, wäre ich für Rückmeldungen sehr dankbar!
Viele Grüße
Eistee@homoran Bitte nach Tester oder Entwicklung verschieben. Danke
-
H Homoran verschob dieses Thema von ioBroker Allgemein
-
Bitte editier das Eröffnungsposting nochmals und trag ganz oben den Standard Header aus dem Template ein:
Aktuelle Test Version x.x.x Veröffentlichungsdatum xx.xx.xxxx Github Link https://github.com/xxx Hier sollte (auch in Zukunft) sofort zu sehen sein welche Version aktuell ist.
Und DANKE dass du Zeit für einen Adapter aufgewendet hast.
-
Nur als Anregung ohne mich gleich als Meckerer einzustellen:
Überleg ob du nicht multiple Inverter in einer Instanz unterstützen kannst. Grade von den Microinvertern (300W, 600W) ist es nicht unwahrscheinlich dass jemand meherere der Dinger betreibt. Multiple Instanzen sind natürlich ein Workaround benötigen typischer Wiese aber x mal so viel Speicher. Außerdem könnte Hoymiles es ev. ungern sehen wenn von einem Account zu oft parallel zugegriffen wird (und multiple Instanzen können sich nicht trivial synchronisiseren). Da ich das Cloud Api nicht kenne kann ich nicht sagen ob bei mehreren Invertern ev. alle Daten mit einem Zugriff aus der Cloud geholt werden können und damit Cloudzugriffe eingespart werden können.
-
Nur als Anregung ohne mich gleich als Meckerer einzustellen:
Überleg ob du nicht multiple Inverter in einer Instanz unterstützen kannst. Grade von den Microinvertern (300W, 600W) ist es nicht unwahrscheinlich dass jemand meherere der Dinger betreibt. Multiple Instanzen sind natürlich ein Workaround benötigen typischer Wiese aber x mal so viel Speicher. Außerdem könnte Hoymiles es ev. ungern sehen wenn von einem Account zu oft parallel zugegriffen wird (und multiple Instanzen können sich nicht trivial synchronisiseren). Da ich das Cloud Api nicht kenne kann ich nicht sagen ob bei mehreren Invertern ev. alle Daten mit einem Zugriff aus der Cloud geholt werden können und damit Cloudzugriffe eingespart werden können.
@mcm1957 die 'Wechselrichter senden per default 1x alle 5min an die S-Miles Cloud. Genau so oft fragt der Adapter die API auch ab da sich die Daten dort nicht häufiger ändern werden. Ich denke das ist total unkritisch. Es gibt die Möglichkeit zu sagen welchen Wechselrichter man genau abfragen will indem man die Seriennummer angibt. Dies ist aber auch nur erforderlich wenn keine lokale Verbindung genutzt wird. Es können grundsätzlich mehrere Wechselrichter in einem oder auch in mehreren Accounts genutzt werden.
-
@mcm1957 die 'Wechselrichter senden per default 1x alle 5min an die S-Miles Cloud. Genau so oft fragt der Adapter die API auch ab da sich die Daten dort nicht häufiger ändern werden. Ich denke das ist total unkritisch. Es gibt die Möglichkeit zu sagen welchen Wechselrichter man genau abfragen will indem man die Seriennummer angibt. Dies ist aber auch nur erforderlich wenn keine lokale Verbindung genutzt wird. Es können grundsätzlich mehrere Wechselrichter in einem oder auch in mehreren Accounts genutzt werden.
sagte in [Neuer Adapter] Hoymiles HMS Wechselrichter:
@mcm1957 die 'Wechselrichter senden per default 1x alle 5min an die S-Miles Cloud. Genau so oft fragt der Adapter die API auch ab da sich die Daten dort nicht häufiger ändern werden. Ich denke das ist total unkritisch. Es gibt die Möglichkeit zu sagen welchen Wechselrichter man genau abfragen will indem man die Seriennummer angibt. Dies ist aber auch nur erforderlich wenn keine lokale Verbindung genutzt wird. Es können grundsätzlich mehrere Wechselrichter in einem oder auch in mehreren Accounts genutzt werden.
Das Cloud Relay ahmt nur die Verbindung nach die der Wechselrichter zur Cloud aufrecht erhält solang keine lokale Verbindung hergestellt ist. Die Wechselrichter können nur eine TCP Verbindung und die lokale Verbindung unterbricht somit den Cloud Upload den dann der Adapter 1:1 übernimmt wie es sonst der Wechselrichter machen würde. Hier ist also ohnehin pro Wechselrichter eine Verbindung notwendig.
-
sagte in [Neuer Adapter] Hoymiles HMS Wechselrichter:
@mcm1957 die 'Wechselrichter senden per default 1x alle 5min an die S-Miles Cloud. Genau so oft fragt der Adapter die API auch ab da sich die Daten dort nicht häufiger ändern werden. Ich denke das ist total unkritisch. Es gibt die Möglichkeit zu sagen welchen Wechselrichter man genau abfragen will indem man die Seriennummer angibt. Dies ist aber auch nur erforderlich wenn keine lokale Verbindung genutzt wird. Es können grundsätzlich mehrere Wechselrichter in einem oder auch in mehreren Accounts genutzt werden.
Das Cloud Relay ahmt nur die Verbindung nach die der Wechselrichter zur Cloud aufrecht erhält solang keine lokale Verbindung hergestellt ist. Die Wechselrichter können nur eine TCP Verbindung und die lokale Verbindung unterbricht somit den Cloud Upload den dann der Adapter 1:1 übernimmt wie es sonst der Wechselrichter machen würde. Hier ist also ohnehin pro Wechselrichter eine Verbindung notwendig.
@mcm1957 die 'Wechselrichter senden per default 1x alle 5min an die S-Miles Cloud. Genau so oft fragt der Adapter die API auch ab da sich die Daten dort nicht häufiger ändern werden. Ich denke das ist total unkritisch. Es gibt die Möglichkeit zu sagen welchen Wechselrichter man genau abfragen will indem man die Seriennummer angibt. Dies ist aber auch nur erforderlich wenn keine lokale Verbindung genutzt wird. Es können grundsätzlich mehrere Wechselrichter in einem oder auch in mehreren Accounts genutzt werden.
Das Cloud Relay ahmt nur die Verbindung nach die der Wechselrichter zur Cloud aufrecht erhält solang keine lokale Verbindung hergestellt ist. Die Wechselrichter können nur eine TCP Verbindung und die lokale Verbindung unterbricht somit den Cloud Upload den dann der Adapter 1:1 übernimmt wie es sonst der Wechselrichter machen würde. Hier ist also ohnehin pro Wechselrichter eine Verbindung notwendig.