[Modul] NRG-Stack WPModbusHub - lokale Modbus-Anbindung für Wärmepumpen mehrerer Hersteller (NIBE, Stiebel Eltron, LG, Samsung)

Hallo zusammen,

wie im Teaser zum NRG-Stack (Vorankündigung) angekündigt, stelle ich die Module einzeln vor - hier WPModbusHub, die lokale Modbus-Anbindung für Wärmepumpen.

Worum geht es?

WPModbusHub liest eine Wärmepumpe direkt per Modbus TCP im lokalen Netz aus - ganz ohne Internet und ohne Herstellerkonto. Dritter Baustein der Wärmepumpen-Vertikale im NRG-Stack, neben WPHub (Herstellerclouds: Panasonic, Vaillant) und HeishaMon (lokal, nur Panasonic mit HeishaMon-Platine):

Modul Weg Hersteller
WPHub Cloud (Internet nötig) Panasonic, Vaillant, weitere geplant
HeishaMon lokal, MQTT nur Panasonic (mit HeishaMon-Platine)
WPModbusHub lokal, Modbus TCP NIBE, Stiebel Eltron, LG, Samsung

Eine Instanz = eine Wärmepumpe. Eine Hersteller-Auswahl im Formular schaltet auf das passende Registerprofil um.

Funktionsumfang

  • NIBE (S-Serie, z. B. S1155/S1255/S2125) - Registerkarte aus einer aktiv gepflegten, unabhängigen Referenzbibliothek.
  • Stiebel Eltron (ISG-Gateway, WPMsystem/WPM3/WPM3i/LWZ) - Registerkarte direkt aus der offiziellen Stiebel-Eltron-Bedienungsanleitung „ISG Modbus“.
  • LG Therma V - Registerkarte aus einer community-gepflegten Konfiguration, keine offizielle LG-Quelle gefunden.
  • Samsung EHS über das offizielle Zubehör-Modul MIM-B19N - Registerkarte aus einer Community-Sammlung, die sich auf Samsungs offizielle MIM-B19N-Installationsanleitung beruft. Gilt nur für Anlagen MIT diesem Zubehörmodul - für Samsung EHS ohne MIM-B19N (direkt über das interne NASA-Protokoll) gibt es das eigenständige Schwestermodul SamsungEhs.

Ausgelesen werden aktuell Außentemperatur, Vorlauf-/teils Rücklauftemperatur sowie teils Warmwasser Ist/Soll und Heizzonen-Temperaturen - noch keine Leistungs- oder Energiezähler. Vertrag WPMBHUB_GetFunctions() liefert dieselbe Form wie WPHub/HeishaMon - Verbund-Module (EMS, Dashboard) behandeln alle Wärmepumpen-Quellen identisch.

Ehrlich dazu

Keine der vier Registerkarten ist an echter Hardware verifiziert - ich habe selbst keine dieser Anlagen. Jede Registerkarte trägt im Formular einen eigenen Herkunfts- und Vertrauenshinweis. Bewusst nur lesend, keine Steuerbefehle.

Voraussetzungen

  • IP-Symcon 9.0 oder neuer
  • Netzwerkzugriff auf die Wärmepumpe bzw. das jeweilige Modbus-Gateway

Einrichtung in Kürze

  1. Modulverwaltung → Modul-Store → ggf. erst „Beta-Module anzeigen“ aktivieren → nach „NRG-Stack WPModbusHub“ suchen → hinzufügen.
  2. Instanz „WPModbusHub“ anlegen, Hersteller wählen.
  3. IP-Adresse, Port und Unit-ID eintragen, übernehmen.
  4. „WPModbusHub aktiv“ einschalten und erneut übernehmen.

Lizenz

PolyForm Noncommercial 1.0.0 - privat/nicht-kommerziell frei, gewerblich lizenzpflichtig. Volltext im Repo (LICENSE). Spenden willkommen: paypal.me/DietmarGureth.

Feedback

Das Modul ist neu und an keinem der vier Hersteller live getestet - über Rückmeldungen freue ich mich hier im Thread. Besonders gesucht: Tester mit einer NIBE-, Stiebel-Eltron-, LG- oder Samsung-Anlage (mit MIM-B19N).

Viele Grüße
Dietmar

Hallo Dietmar,

ich habe eine Proxonx Wärmepumpe welche wohl in sehr vielen Fertighäusern verbaut wird.
Die Anlage wird per ModBus abgefragt und lässt sehr viel Steuerung zu.

Hast du Intresse dein Modul zu erweitern?

Hallo Dietmar,
ich habe eine IDM ALM Wärmepumpe.
Diese habe ich über Modbus hier in IP-Symcon angebunden.
Könnte man diese auch in dein Modul integrieren?

Gruß Christian

Hallo Christian,

schön, mal wieder von dir zu lesen! Eine IDM-Anbindung wäre ein sinnvoller sechster Hersteller für mein WPModbusHub-Modul (aktuell NIBE, Stiebel Eltron, LG Therma V, Samsung EHS und Waterkotte).

Da du die IDM ALM bei dir schon selbst per Modbus in IP-Symcon eingebunden hast: Könntest du mir deine Register-Zuordnung schicken (welche Modbus-Adressen du für Außentemperatur, Vorlauf, Rücklauf, Warmwasser Ist/Soll usw. nutzt, und ob das Holding- oder Input-Register sind, mit welcher Skalierung)? Das wäre die beste Quelle überhaupt - direkt von einer echten, laufenden Anlage getestet, nicht nur aus einer PDF oder einem Forenpost übernommen. Ich schau parallel auch, ob IDM selbst eine offizielle Modbus-Dokumentation veröffentlicht hat.

Kein Stress, wenn das Zusammensuchen Zeit braucht - meld dich einfach, wenn du dazu kommst.

Gruß

Hallo Ghostraider,

klingt interessant, danke für den Hinweis! Ich hab schon mal nachgeschaut: Proxon ist ein eigenständiges System der Zimmermann Lüftungs- und Wärmesysteme GmbH & Co. KG, kein Rebrand eines mir bereits bekannten Herstellers (WeberHaus/Fingerhaus & Co. sind da nur Einbaupartner, nicht der Hersteller). Technisch besteht das aus zwei Teilen - einer Lüftungs-/Wärmepumpenzentrale (FWT 1.x/2.0, dort sitzt auch die Modbus-Schnittstelle, nativ RS485 an Port X6) und einer separaten Trinkwasser-Wärmepumpe (T300).

Zimmermann scheint eine offizielle Modbus-Dokumentation zu haben („Kurzbeschreibung GLT-Schnittstelle FWT2.0“ plus eine Registerliste als Excel), die aber nicht öffentlich online steht, sondern offenbar nur auf Kundenanfrage rausgeht. Zwei Fragen dazu:

  1. Hast du als Proxon-Besitzer schon eine dieser beiden Dateien, oder könntest du sie bei Zimmermann anfragen? Das wäre die verlässlichste Quelle - direkt vom Hersteller, nicht nur aus einer Forenzusammenfassung.
  2. Falls du die Anlage selbst schon per Modbus ausliest: Welche Adressen/Register nutzt du dafür konkret (Außentemperatur, Vorlauf, Warmwasser usw.), und sind das Holding- oder Input-Register?

Mein Modul (WPModbusHub) deckt aktuell NIBE, Stiebel Eltron, LG Therma V, Samsung EHS, Waterkotte und IDM ab - Proxon als siebter Hersteller wäre gut machbar, sobald die Registeradressen einigermaßen gesichert sind.

Hallo Christian,

eine IDM-Anbindung ist jetzt drin - ich habe nicht auf deine Rückmeldung gewartet, sondern hab direkt IDMs eigene offizielle Modbus-Dokumentation gefunden („Modbus TCP Navigatorregelung 2.0“, Dok. 812170_Rev.10) und daraus einen sechsten Hersteller-Treiber gebaut (0.3.0, gerade gepusht). Die gilt laut IDM für alle Wärmepumpen mit Navigator-2.0-Regelung, sollte also auch für deine ALM passen - namentlich auf die ALM-Serie zugeschnitten ist sie aber nicht, insofern wäre ein echter Test bei dir Gold wert.

Ausgelesen werden (alles direkt aus der PDF-Registertabelle):

  • Außentemperatur (Adresse 1000)
  • Vorlauf-/Rücklauftemperatur Wärmepumpe (1050/1052)
  • Pufferspeichertemperatur (1008)
  • Warmwasser-Zapftemperatur (1030) und Warmwasser-Solltemperatur (1032)
  • Heizkreis-A-Vorlauftemperatur Ist/Soll (1350/1378)

Technische Besonderheit bei IDM (falls dich das interessiert): Als einziger Hersteller in meinem Modul überträgt die Navigatorregelung die Werte als 32-Bit-Fließkommazahl über zwei Register, nicht als einfache Ganzzahl mit Faktor - und dabei auch noch in vertauschter Wortreihenfolge. Mein Modul rechnet das jetzt entsprechend um.

Falls du magst: Könntest du das mal gegen deine echte Anlage testen (Hersteller „IDM Energiesysteme“ im Formular auswählen, IP/Port eintragen)? Und falls du deine eigene, bereits laufende Modbus-Konfiguration griffbereit hast - selbst wenn die Anbindung jetzt schon steht, wäre ein Abgleich der Adressen eine gute Gegenprobe, ob die PDF-Werte bei der ALM konkret so stimmen. Bislang ist noch keiner der sechs Wärmepumpen-Hersteller in meinem Modul an echter Hardware verifiziert, insofern zählt jeder echte Test.

Ich hab die Execl Datei sowohl für die FWT als auch die T300.
Ausgelesen (und auch gesteuert) wir alles möglich. Von der Lüfterdrezahl und dem Betriebsmodus bis hin zu Störungen und Fehler Meldungen im Frequenzumrichter :slight_smile:

Die Geräte sind sehr Kommunikativ und geben allerhand Daten Preis.
Es sind sowohl Input als auch Holding Register.

Ich habe eine komplette Steuerung für die Anlage gebaut und betreibe sie im Manuelllen Modus ohne Hersteller Regeulung, angepasst an meine Bedürfnisse.

Hier ein kurzes Summary via MCP von Codex:

• ## Kurzfassung

In IP-Symcon werden die Proxon-Anlage und die T300 über den seriellen Anschluss #47843 / COM7 ausgelesen:

  • 19200 Baud
  • 8 Datenbits
  • Even Parity
  • 1 Stopbit
  • Port aktuell geöffnet

Insgesamt sind unter Technik/Proxon etwa 250 Variablen vorhanden.

Proxon FWT

Auslesbar sind unter anderem:

  • Betriebsart und Betriebsmodus
  • Heizen, Kühlen, Lüften und Bypass
  • Kompressorleistung und Kompressordrehzahl
  • Zu- und Abluftdrehzahlen
  • Temperaturen wie T1, T3, T4, T5, T6, T7, T8, T10, T11, T13 und T14
  • Verdampfer- und Kondensatorwerte
  • Drücke und Überhitzung
  • E-Ventilpositionen
  • 4-Wege-Ventil
  • PTC-Freigaben und aktive PTCs
  • Filterlaufzeiten und Gerätefilterstandzeiten
  • Betriebsstunden von Lüftern, Kompressor, Vorwärmung und Abtauung
  • Schieberposition und Schieberlaufzeiten
  • Kühlfreigabe und Kühlbedarf
  • Leistungsbegrenzungen und Temperaturgrenzen
  • FU-Status, Motorströme und FU-Temperaturen
  • Modbus-, Paket-, Restart- und Fehlerzähler
  • Fehlerstatus, Errorcodes und zentrale Störung
  • Diagnoseprotokoll und CSV-Archivierung

T300

Auslesbar sind unter anderem:

  • T300-Betriebsart und Automatikmodus
  • Normaler Warmwasser-Sollwert
  • E-Heiz-Sollwert
  • E-Heizung Ein/Aus
  • Abtauung
  • Kompressorstatus
  • Ventilatorgeschwindigkeit und Drehzahl
  • Tanktemperaturen unten und Mitte
  • gemittelte Behältertemperatur
  • aktuelle Solltemperatur
  • Verdampfertemperatur
  • Sauggastemperatur
  • Kompressortemperatur
  • Verdampferdruck
  • Fehler- und Restartzähler
  • Notbetrieb
  • Fehlerliste
  • Abtau- und Schutzzeiten
  • Tages-, Nacht- und PV-Solltemperatur
  • Nachtabsenkung

Zusätzlich werden Rohwerte und teilweise bereinigte beziehungsweise korrigierte Werte parallel geführt.

Raum- und Energieinformationen

Vorhanden sind außerdem:

  • Ist-Temperaturen für Büro, Flur, Kinderzimmer, Schlafzimmer und Wohnzimmer
  • Basis- und Solltemperaturen
  • Sollwert-Offsets
  • PTC-Freigabe und PTC-Zustand je Raum
  • Gesamtverbrauch

Einige Register sind Rohwerte und müssen über die zugehörigen „Cleared“-Variablen bewertet werden.

Was damit möglich ist

In IP-Symcon sind bereits Steuerungen vorgesehen für:

  • automatische T300-Wassertemperatur
  • Umschaltung zwischen Tag-, Nacht- und PV-Sollwert
  • Erhöhung der Temperatur bei Duschen oder Baden
  • Freigabe beziehungsweise Abschaltung der E-Heizung
  • Intensivlüftung der FWT mit einstellbarer Laufzeit
  • Auswahl der Lüfterstufe
  • Umschaltung Sommer/Winter/Manuell
  • Rückkehr zum vorherigen Betriebsmodus nach der Intensivlüftung
  • FWT-Fehler zurücksetzen
  • FWT-Geräteneustart
  • Diagnose-Snapshot, HTML-Monitoring und CSV-Export

Wow, das ist deutlich mehr, als ich erwartet hatte - 250 Variablen und schon eine komplette Eigensteuerung, sehr beeindruckend! Und gut zu wissen, dass du die offizielle Excel-Registerliste von Zimmermann schon hast - das ist die verlässlichste Quelle, die es für Proxon geben kann.

Zwei Dinge brauche ich noch, um daraus einen Treiber zu bauen:

1. Die Anbindung läuft bei dir über einen seriellen COM-Port (COM7, 19200 Baud), nicht über Modbus TCP/Ethernet. Mein Modul spricht bisher nur Modbus TCP (reine Socket-Verbindung zu einer IP-Adresse, kein serieller Port). Hast du dafür einen RS485-zu-Ethernet-Adapter im Einsatz oder direkt einen USB-RS485-Dongle am Symcon-Host stecken? Falls es ein Netzwerk-Adapter ist, wäre das Modbus TCP direkt kompatibel. Falls es ein lokaler USB-Dongle ist, bräuchte mein Modul dafür eine eigene Transportart (native serielle Anbindung à la IP-Symcons Serial-Port-Instanzen) - das ist eine größere Erweiterung als nur eine neue Registerkarte, aber grundsätzlich machbar, wenn es sich lohnt.

2. Für den Einstieg reicht mir ein kleiner Ausschnitt aus der Excel, nicht die ganzen 250 Variablen. Konkret die Adressen (+ Datentyp/Skalierung, Holding oder Input) für:

  • Außentemperatur
  • Vorlauf- und Rücklauftemperatur (FWT bzw. T300)
  • Warmwassertemperatur Ist und Soll (T300)
  • eine der Raumtemperaturen (Ist/Soll), falls vorhanden
  • falls leicht ersichtlich: welcher deiner T1/T3/T4/…-Sensoren welche physikalische Bedeutung hat (Außenluft, Zuluft, Abluft usw.) - deine Liste nennt nur die Kennungen, nicht die Zuordnung

Den Rest (Kompressor, Ventile, Drücke, Diagnose usw.) heb ich mir für eine spätere Erweiterung auf - v1 orientiert sich bei allen Herstellern an denselben Grundwerten, die auch die anderen Module liefern.

Das ganez läuft über RS485 an einem USB Dongel.
Die Excel schick Ich dir per PN.

Hallo Bricoleur,

verstehe ich das richtig, dass du auch ein Modul für die Auswertung der NASA Schnittstelle bei einer SAMSUNG Wärmepumpe hast?

Zitat:

Ich habe mich nämlich bereits per RS485 Wandler an den NASA Bus gehängt und bekomme die Daten auch in Symcon rein, habe aber bisher den Aufwand gescheut die Daten zu dekodieren.

Also wenn du da bereits etwas hättest wäre das sehr interessant für mich.

(Wenn es da etwas gibt, nach welchem Modul müsste ich da suchen?)

Beste Grüße

Ralf

Guten Morgen Ralf,

hier findest Du im Wesentlichen alles zum NRG-Stack.

Hier dann das spezielle Modul:

Hoffentlich sonnige Grüße

Dietmar

1 „Gefällt mir“

Hallo Dietmar,

da warst du aber sehr schnell. Respekt. War am Wochenende mal nicht am PC.

Bis auf das Warmwasser passt alles.
Mein Installateur hat hier nicht die IDM-Warmasserstation verbaut.
Darum habe ich auch keinen Wert für das Warmwasser-Zapftemperatur.
Aber es macht ja eigentlich auch keine Sinn die Zapftemeratur anzuzeigen. Die wir immer gleich eingestellt sein.
Hier wäre es ja vielleicht besser die Speichertemperatur oben zu nehmen (1014)
Die Warmwasser-Solltemperatur (1032) sagt ja auch aus, wie warm der Speicher beladen werden soll. Ansonsten passen die Werte.

Viele Grüße
Christian

Hallo Christian,

vielen Dank für den ausführlichen Test - das ist genau die Rückmeldung, die ich brauche. Damit ist auch bestätigt, dass die 32-Bit-Werte bei IDM (Low-Word zuerst) richtig gelesen werden. Das hatte ich bisher nur aus dem PDF abgeleitet.

Deinen Vorschlag habe ich übernommen: „Warmwasser“ zeigt jetzt die Speichertemperatur oben (Register 1014, B48) statt der Zapftemperatur (1030). Die Zapftemperatur gibt es ja nur mit IDMs Warmwasserstation, und die hast du nicht. Der Speicherfühler oben hat dagegen jede Anlage mit Warmwasserspeicher, deshalb ist das für alle die bessere Wahl.

Das steckt in Version 0.7.0 (Beta). Wenn du das Modul in der Modulverwaltung aktualisierst, sollte „Warmwasser“ beim nächsten Lesezyklus den Wert vom Speicher oben zeigen. Magst du kurz nachschauen, ob er zu dem passt, was das Navigator-Display anzeigt?

Neu ist außerdem eine Statuszeile im Bereich „Wärmepumpe“ im Instanzformular. Sie zeigt live, ob die Wärmepumpe antwortet, wie lange die letzte Aktualisierung her ist und welche Werte gerade ankommen. Damit siehst du den Speicherwert oben direkt im Formular, ohne erst in den Objektbaum zu gehen. Falls einzelne Felder nicht gelesen werden, steht dort auch, welche.

Falls du auch den Fühler unten (1012, B41) im Objektbaum haben möchtest, sag Bescheid. Das Feld gibt es bei anderen Herstellern schon, für IDM könnte ich es ergänzen.

Viele Grüße
Dietmar

Hallo Dietmar,

Jetzt passt der Wert für das Warmwasser oben.
Warmwasser unten (1012) wäre natürlich auch praktisch wenn man diesen drin hätte.

Gruß
Christian

Hallo Christian,

prima, dass der Wert oben jetzt passt - danke fürs schnelle Nachschauen.

Den Fühler unten (1012, B41) habe ich gerade ergänzt: Version 0.7.1 (Beta) hat für IDM zusätzlich die Variable „Warmwasser unten“. Nach dem Update über die Modulverwaltung erscheint sie beim nächsten Lesezyklus im Objektbaum neben „Warmwasser“. Sag kurz Bescheid, ob der Wert zum Navigator-Display passt - dann gilt die IDM-Registerkarte an deiner ALM komplett als bestätigt.

Viele Grüße
Dietmar

Hallo Dietmar,
Werte passen jetzt.
Vielen Dank für integrieren.
Gruß
Christian

1 „Gefällt mir“

Hallo Christian,

danke für den Test und die genaue Rückmeldung - die IDM-Registerkarte gilt jetzt an einer echten ALM als bestätigt. Sag Bescheid, falls dir bei den Werten im Alltag etwas auffällt oder du noch ein Feld vermisst.

Viele Grüße
Dietmar