nomos system nomos system

Geräteprofil · Wechselrichter und Speicher

Hoymiles über OpenDTU (MQTT)

Hinweis: Dieses Profil ist nach dem Quellcode von OpenDTU v26.9.28 (src/MqttHandleInverter.cpp, src/MqttSettings.cpp, lib/Hoymiles) und der OpenDTU-Dokumentation (MQTT Topics) erstellt.

OpenDTU ist eine quelloffene Firmware für einen ESP32, die Hoymiles-Mikrowechselrichter – typisch für Balkonkraftwerke – per Funk ausliest und steuert, ganz ohne Hoymiles-Cloud. Unterstützt werden die Serien HM (Funkmodul NRF24L01+) sowie HMS und HMT (Funkmodul CMT2300A). OpenDTU veröffentlicht alle Werte über MQTT; mit diesem Add-on kommen sie in nomos.

Für jeden Wechselrichter wird in nomos ein eigenes Gerät angelegt. Die Erreichbarkeit der OpenDTU selbst, ihre WLAN-Qualität und die Summen aller Wechselrichter liefert das Profil OpenDTU.

Voraussetzungen

  1. OpenDTU mit eingerichteten Wechselrichtern; bei jedem Wechselrichter sind Daten abrufen und Befehle senden eingeschaltet (Standard).
  2. Ein MQTT-Broker, den OpenDTU und nomos gemeinsam nutzen:
    • entweder der Broker des nomos Controllers (Port 1883, Zugangsdaten aus den nomos-MQTT-Einstellungen),
    • oder ein vorhandener Broker (z. B. Mosquitto), auf den in den nomos-MQTT-Einstellungen umgestellt wird.
  3. MQTT in OpenDTU einschalten unter Einstellungen → MQTT:
    • MQTT aktivieren ein, Hostname/IP und Port des Brokers, ggf. Benutzername und Passwort
    • Basis-Topic: Standard ist solar/ (muss mit / enden)
    • Retain-Flag aktivieren: ein (Standard) – dann hat nomos nach einem Neustart sofort alle Werte

OpenDTU veröffentlicht dann jeden Wert als eigenes Topic <Basis-Topic><Seriennummer>/... und nimmt Befehle unter <Basis-Topic><Seriennummer>/cmd/... entgegen.

Einrichtung

  1. Skills → MQTT aktivieren (falls noch nicht aktiv) und den Broker wie oben beschrieben einstellen
  2. Skills → Add-ons: Profil Hoymiles Micro-inverter (OpenDTU) importieren
  3. Gerät anlegen, Namen eingeben und als MQTT Topic das Basis-Topic plus Seriennummer des Wechselrichters eintragen, ohne Schrägstrich am Ende – z. B. solar/116181234567. Die Seriennummer (12 Stellen) steht in OpenDTU unter Einstellungen → Wechselrichter und auf dem Typenschild.
  4. Für jeden weiteren Wechselrichter ein weiteres Gerät mit dessen Seriennummer anlegen.
  5. Empfohlen: zusätzlich ein Gerät mit dem Profil OpenDTU anlegen (MQTT Topic solar), damit sichtbar wird, wenn die OpenDTU selbst ausfällt.

Datenbereich

Alle Topics relativ zum MQTT Topic des Geräts (z. B. solar/116181234567/0/power).

Topic nomos-Wert Inhalt
status/reachable reachable Wechselrichter per Funk erreichbar (1/0)
status/producing active, inverter_power Wechselrichter speist ein (1/0, AC-Leistung > 0)
0/power pv_power AC-Ausgangsleistung, W (das, was im Haus ankommt)
0/powerdc dc_power DC-Leistung aller Eingänge, W (ausgeblendet)
1/power … 4/power pv1_power … pv4_power DC-Leistung je Moduleingang, W (ausgeblendet)
0/yieldday e_day Ertrag heute, Wh
0/yieldtotal e_total Gesamtertrag, kWh
status/limit_relative power_limit aktuelle Leistungsbegrenzung, %
status/limit_absolute power_limit_w aktuelle Leistungsbegrenzung, W (nur wenn OpenDTU die Nennleistung kennt)
0/temperature temperature Temperatur des Wechselrichters, °C
0/voltage, 0/current, 0/frequency voltage, current, ac_frequency Netzspannung, AC-Strom, Netzfrequenz (ausgeblendet)
0/efficiency efficiency Wirkungsgrad AC/DC, % (ausgeblendet)
radio/rssi linkquality, rssi Funkqualität: dBm → 0–100 % (-100 dBm = 0 %, -50 dBm = 100 %); Rohwert ausgeblendet

Schreibbar (nomos sendet an <MQTT Topic>/cmd/..., nicht retained):

nomos-Wert Topic Payload
inverter_power ein / inverter_on cmd/power 1
inverter_power aus / inverter_off cmd/power 0
power_limit cmd/limit_persistent_relative 0–100 (%, bleibt über Nacht)
power_limit_temp cmd/limit_nonpersistent_relative 0–100 (%, gilt bis zur nächsten Nacht; ausgeblendet, für Szenen/Automationen)
power_limit_w cmd/limit_persistent_absolute 0–2250 (W, bleibt über Nacht; ausgeblendet)
restart cmd/restart 1 (ausgeblendet)

Hinweise