NEWS
[Neuer Adapter] Hoymiles HMS Wechselrichter
-
Aktuelle Version 0.3.4 Veröffentlichungsdatum 08.04.2026 Github Link https://github.com/Eistee82/ioBroker.hoymiles npm https://www.npmjs.com/package/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
- Multi-Inverter: Mehrere DTUs in einer Adapter-Instanz, Cloud erkennt alle Wechselrichter und Stationen automatisch
- Stations-Daten: Aggregierte Daten pro Station (Leistung, Energie, CO₂, Ertrag, Wetter)
- Pro-Wechselrichter Cloud-Daten: Leistung, Spannung, Strom, Temperatur per Protobuf Chart-API
- 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)
- State Quality: Markiert Daten als veraltet bei Verbindungsabbruch, Substitut bei Cloud-Fallback, automatischer Reset bei Reconnect
- Nachtmodus: Reduzierte Cloud-Abfragen wenn Wechselrichter offline (nur Wetter + Firmware)
- Firmware-Check: Tägliche Prüfung auf Firmware-Updates via Cloud
- Wetterdaten pro Station: Temperatur, Icon, Beschreibung, Sonnenaufgang/Untergang
- 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-1000W-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.
Mehrere Wechselrichter
Ab v0.3.0 unterstützt der Adapter mehrere Wechselrichter in einer einzigen Instanz:
- Lokal: Mehrere DTU IP-Adressen in der Gerätetabelle eintragen
- Cloud: Alle Wechselrichter und Stationen im Account werden automatisch erkannt
Jede DTU erstellt einen eigenen Geräteknoten mit Seriennummer als ID (z.B.
hoymiles.0.4143A01CEDE4.*). Cloud-Stationen erstellen aggregierte Geräteknoten (z.B.hoymiles.0.station-12345.*).Konfiguration
Die Einrichtung ist einfach — im Admin die IP-Adressen der DTUs in die Gerätetabelle eintragen (oder den Discovery-Button nutzen). Für die Cloud optional E-Mail und Passwort des S-Miles-Kontos eintragen.
Installation
Der Adapter ist auf npm veröffentlicht und kann direkt über den ioBroker Admin installiert werden:
Über npm (empfohlen):
Im Admin unter Adapter → Benutzerdefiniert → npm eingeben:iobroker.hoymilesÜber GitHub-URL:
https://github.com/Eistee82/ioBroker.hoymilesHinweis: Die Aufnahme ins ioBroker Latest-Repository (Beta) ist beantragt (PR #5711). Sobald der Review abgeschlossen ist, wird der Adapter direkt über den Admin installierbar sein — ohne manuelle URL-Eingabe.
Links
- GitHub: https://github.com/Eistee82/ioBroker.hoymiles
- npm: https://www.npmjs.com/package/iobroker.hoymiles
- Dokumentation (DE): https://github.com/Eistee82/ioBroker.hoymiles/blob/main/docs/de/README.md
- Dokumentation (EN): https://github.com/Eistee82/ioBroker.hoymiles/blob/main/docs/en/README.md
- Issues/Bugs: https://github.com/Eistee82/ioBroker.hoymiles/issues
- Repository-PR: https://github.com/ioBroker/ioBroker.repositories/pull/5711
Feedback & Tester gesucht
Ich habe den Adapter bisher mit HMS-800W-2T (Lokal + Cloud) und HMS-1000W-2T (Lokal, Community) getestet. 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 -
H Homoran verschob dieses Thema von ioBroker Allgemein am
-
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.
-
Erstmal Dank an @eistee für den Adapter, ich hab ohne viel Stress 2 Hoymiles HWS 800 in den iobroker gebracht, er liefert seit 2 Tagen stabil Daten.
Allerdings sehe ich nur die "lokalen Datenpunkte". In der s miles cloud kommen aller 15 min neue Daten, also scheint die Relayfunktion auch zu senden. Aber wie bekomme ich die Clouddatenpunkte in das iobroker-objekt. Die Datenpunkte "hoymiles.0.station-12345....." tauchen bei mir einfach nicht auf bzw. wurden nicht angelegt. An welcher Stelle habe ich hier was nicht beachtet oder überlesen?
Und eine "kleiner Vorschlag": Wenn es einen Datenpunkt "total energy" auf AC Seite , vielleicht auch summiert über alle Wecdhselrichter, bräuchte ich die Cloud garnicht, da könnte ich sourceanalytics "addieren lassen.
-
Erstmal Dank an @eistee für den Adapter, ich hab ohne viel Stress 2 Hoymiles HWS 800 in den iobroker gebracht, er liefert seit 2 Tagen stabil Daten.
Allerdings sehe ich nur die "lokalen Datenpunkte". In der s miles cloud kommen aller 15 min neue Daten, also scheint die Relayfunktion auch zu senden. Aber wie bekomme ich die Clouddatenpunkte in das iobroker-objekt. Die Datenpunkte "hoymiles.0.station-12345....." tauchen bei mir einfach nicht auf bzw. wurden nicht angelegt. An welcher Stelle habe ich hier was nicht beachtet oder überlesen?
Und eine "kleiner Vorschlag": Wenn es einen Datenpunkt "total energy" auf AC Seite , vielleicht auch summiert über alle Wecdhselrichter, bräuchte ich die Cloud garnicht, da könnte ich sourceanalytics "addieren lassen.
-
@mkhalle Wenn du lokal aktiv hast. kommen dann noch Daten in der App an? Wenn ja dann funktioniert das Cloud Relais schon mal. Wenn nein dann klemmt es da schon. In den Instanz Einstellungen hast du Cloud auch aktiv und deinen Login korrekt eingegeben? Was steht denn im Debug Log wenn du den Adapter startest?
So hab ich meins eingestellt:

-
so hab ich eigentlich auch eingetragen , aber dein Hinweis das log mal zu starten war schon mal ein guter Ansatz (ärgere mich nur das ich nicht aus solche naheliegenden Dinge kommen)
"cloud login failed:login failed:all authentification strategies rejected" - ich war mir zwar so sicher das richtige PW gesetzt zu haben, scheint aber nicht so zu sein. Weil ja das cloud relais funktioniert dachte ich, dafür verwendest du das wäre das gleiche PW und hab nicht weiter nachgedacht. Also morgen nochmal - zur Zeit sperrt mich hoymiles s cloud mit "The number of failed logins exceeds the daily maximum limit" , aber das sollt auch korrekt sein, wenn ich die mit vermeintlich falschen PW´s bombardiere. OK Danke erst mal. Und ein gutes Restwochenende. -
Das Cloud Relais braucht kein Passwort. Da sendet der Wechselrichter im Normalfall nur mit seiner Seriennummer die Daten an den Server was dann halt der Adapter übernimmt wenn er eine lokale Verbindung aufgebaut hat und dadurch der Wechselrichter nicht mehr an die Cloud sendet. In deinem Account ist die Seriennummer dann hinterlegt und so werden die Daten dir zugeordnet. Ich werd mir nochmal die falsches Passwort rückmeldung vornehmen und den Adapter so ändern das er dann nicht immer wieder mit dem falschen Passwort probiert. Das ist denke ich noch eine Sinnvolle ergänzung. und evtl kann ich in den Adaptereinstellungen noch einen roten Hinweis einblenden wenn das Passwort falsch ist.
-
Mach nicht zuviel Arbeit, läuft ja und es war ja eindeutig ein "userproblem" , ganz im Sinne "never touch a running system". Aber du hast recht, eine dauernde Serverlast bei Hoymiles zu erzeugen (wegen des users, der das PW sich nicht merken kann, ist auch nicht toll. Danke nochmal an dich , das sich überhaupt jemand den WIFI hoymiles angenommen hat. Letzte Frage für heute: Anregungen, Testergebnisse etc willst du lieber hier oder in github sehen?
-
Also auf GitHub sehe ich die schneller und die Chans etwas zu übersehen ist geringer da man die Issues dort gleich automatisch schließen kann mit neuen pull requests. Von daher ich GitHub für Bugs und Anregungen bestimmt besser. Für Diskussionen oder "Smalltalk" zum Adapter ist hier aber auch gut. Ich möchte da niemandem was vorschreiben. Gibt halt nicht so viele die sich mit GitHub auskennen bzw. das überhaupt nutzen. Das Forum hier ist bei den Anwendern von ioBroker bestimmt beliebter.
-
Bleiben wir dann erst mal hier, leider bin ich nicht erfolgreich gewesen. Der Adapter log ist angefügt. Das PW und login ist das gleiche wie
https://global.hoymiles.com/website/login
und da komme ich erfolgreich rein und sehe meine Anlagen. Es ist allerdings auch der gleiche accout bei hoymiles, den ich auch für die Konfigurationsapp s miles Installer benutze (mit dem ich mich auch noch einloggen kann).
Es kann sein das bei Hoymiles kein Cloudbenutzer existiert und da irgendein Rechteverwaltungsding mich blockt. Und die Rollen- und Rechteverwaltung bei Hoymiles ist etwas verwirrend. Wenn du hier ne Idee hast ..., sonst muss ich mich da selber "durcharbeiten".hoymiles.0
2026-04-13 12:56:28.248 info [4143A01C4A21] Poll cycle: every 10s, config/alarms every 6 polls
hoymiles.0
2026-04-13 12:56:28.166 info [4143A01C4101] Poll cycle: every 10s, config/alarms every 6 polls
hoymiles.0
2026-04-13 12:56:28.001 info Will retry cloud login in 60s...
hoymiles.0
2026-04-13 12:56:27.994 error Cloud login failed: Login failed: all authentication strategies rejected
hoymiles.0
2026-04-13 12:56:27.259 info [4143A01C4A21] Cloud relay connected to dataeu.hoymiles.com:10081
hoymiles.0
2026-04-13 12:56:27.246 info [192.168.178.56] Enabling performance data mode
hoymiles.0
2026-04-13 12:56:27.176 info [4143A01C4101] Cloud relay connected to dataeu.hoymiles.com:10081
hoymiles.0
2026-04-13 12:56:27.154 info [192.168.178.58] Enabling performance data mode
hoymiles.0
2026-04-13 12:56:26.490 info [4143A01C4A21] Device states created
hoymiles.0
2026-04-13 12:56:26.430 info [4143A01C4101] Device states created
hoymiles.0
2026-04-13 12:56:25.815 info [192.168.178.56] Device info: DTU SN=4143A01C4A21, devices=1, PVs=2
hoymiles.0
2026-04-13 12:56:25.808 info [192.168.178.58] Device info: DTU SN=4143A01C4101, devices=1, PVs=2
hoymiles.0
2026-04-13 12:56:25.533 info [192.168.178.58] Connected to DTU
hoymiles.0
2026-04-13 12:56:25.516 info [192.168.178.56] Connected to DTU
hoymiles.0
2026-04-13 12:56:25.449 info Starting cloud connection to Hoymiles S-Miles API
hoymiles.0
2026-04-13 12:56:25.448 info Starting local connection to DTU at 192.168.178.58:10081
hoymiles.0
2026-04-13 12:56:25.442 info Starting local connection to DTU at 192.168.178.56:10081 -
H Homoran verschob dieses Thema von Tester am
-
H Homoran verschob dieses Thema von ...nicht in offiziellem Repo am
-
H Homoran verschob dieses Thema von Tester am
-
Erstmal Dank an @eistee für den Adapter, klasse Arbeit.
Installation und Einrichtung waren sehr einfach und alles war gut erklärt.
Leider werden nach 10 Minuten die Grid-Datenpunkte nicht mehr aktualisiert.
lastResponse wird weiterhin aktualisiert.Grüße, invi
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden