!Hand dreht am Thermostatkopf eines Heizkörpers

Am 17. November 2025 meldete ein Home-Assistant-Nutzer namens KlausHans auf GitHub ein kleines, aber lästiges Problem. Er wollte seiner Nibe-Wärmepumpe bei Sonnenschein einen Schubs geben und die Gradminuten verstellen, den Wert, nach dem die Pumpe entscheidet, wann ihr Verdichter anläuft. Home Assistant nahm die Eingabe an, und ein paar Sekunden später stand dort wieder eine Null. Vier Wochen lang passierte in dem Ticket wenig. Mitte Dezember schrieb er, es habe ein paar sonnige Tage gegeben, und er sei jedes Mal in den Keller gegangen, um den Wert von Hand an der Pumpe einzustellen.

Die Auflösung kam am 17. Dezember und ist ziemlich komisch. Das Register mit dem Titel "Degree minutes", Nummer 40012, war gar nicht das, was die Pumpe zum Schreiben erwartet. Das richtige hieß in Home Assistant limit_dm_40019, ein Name, bei dem niemand auf Gradminuten gekommen wäre. Ein zweiter Nutzer, lewurm, probierte es an seiner S1155 aus, und es funktionierte. KlausHans' Kommentar: "Very, very misleading name."

Diese Episode sagt viel über Nibe in Home Assistant. Die Anbindung ist lokal, offiziell, gut gepflegt und liefert Hunderte Werte. Lesen klappt fast immer. Beim Schreiben, also genau da, wo es für PV-Überschuss und dynamische Tarife spannend wird, liegen dagegen ein paar Fallen, von denen drei Stand heute noch offen oder gerade erst behoben sind. Wenn Sie eine Nibe-Wärmepumpe haben und wissen wollen, welcher Weg zu Ihrem Modell passt und worauf Sie beim Steuern achten müssen: Hier steht es, Stand 28. September 2026.

Die Kurzfassung

Eine Pumpe der S-Serie (S1155, S1255, S1156, S1256, S735, VVM S320 und andere) redet über Modbus TCP direkt mit Home Assistant. Das kostet nichts außer einem Netzwerkkabel und einer Einstellung im Menü. Bei der älteren F-Serie brauchen Sie entweder das Zubehör MODBUS 40 oder einen ESP32 mit RS485-Wandler, der dieses Zubehör nachahmt. Und wer gar nichts anschließen will, nimmt die Cloud-Integration myUplink, bekommt dann aber Daten im Minutentakt und hängt an Nibes Servern.

Die offizielle Integration: lokal seit 2022

Home Assistant bringt seit Version 2022.10 eine eigene Integration namens "Nibe Heat Pump" mit. Sie arbeitet laut Dokumentation im Modus Local Polling, fragt die Pumpe also im Heimnetz ab, ohne Umweg über das Internet. Gepflegt wird sie von elupus, die eigentliche Arbeit steckt aber zu einem guten Teil in der Python-Bibliothek nibe von yozik04. Dort liegen die Registerlisten für jedes Modell, im Fall der S1155/S1255 sind es 1.473 Einträge. Die aktuelle Version 2.24.0 vom 1. August 2026 hat unter anderem Register für die S2125 und die Firmware 4.10.5 nachgezogen.

Die Liste der unterstützten Geräte ist lang: F1145/F1245, F1155/F1255, F1345, F1355, F370, F470, F730, F750, S1155/S1255, S1156, S1256, S2125, S320/S325, S330/S332, S735, SMO40, SMO S40, VVM225/VVM320/VVM325 und VVM310/VVM500. Außerdem laufen baugleiche Pumpen anderer Marken. Die ESPHome-Komponente für Nibe nennt ausdrücklich die Jämä STAR RST 6, die einer F1245 entspricht. Und am 26. September 2026 hängte ein Nutzer eine Mitsubishi Heavy Industries HMA-100S an, die nach seiner Beschreibung aus einer OEM-Partnerschaft mit Nibe stammt und dasselbe Protokoll spricht. Sein Problem war nach einem Tag gelöst, es lag an den Ports.

Zur S2125 eine Anmerkung, weil sie in den Suchvorschlägen so weit oben steht: Das ist eine Außeneinheit. Laut Nibe dient sie etwa der Inneneinheit VVM S320 als Wärmequelle. Die Regelung und damit die Netzwerkschnittstelle sitzen im Innengerät oder im Regler SMO S40. Mit diesem Gerät verbinden Sie Home Assistant, nicht mit dem Kasten im Garten.

S-Serie: Modbus TCP ist schon eingebaut

Hier hat Nibe es seinen Kunden einfach gemacht, deutlich einfacher als etwa Stiebel Eltron, wo dafür ein eigenes Gateway nötig ist. Das Nibe-Dokument M12676 zur Modbus-Schnittstelle der S-Serie beginnt mit dem Satz, die S-Serie habe eingebauten Support für Modbus TCP/IP, aktivierbar im Menü 7.5.9. Kein Gateway für mehrere hundert Euro, kein Kundendienst, kein Abo. So geht es:

  1. Pumpe ins Netz bringen, per Kabel oder WLAN, im Menü 5.2 "Netzwerkeinstellungen". Geben Sie ihr im Router eine feste Adresse.
  2. Im Menü 7.5.9 "Modbus TCP/IP" die Schnittstelle einschalten. Nibe verlangt dafür Software 2.2.1 oder neuer.
  3. In Home Assistant die Integration "Nibe Heat Pump" hinzufügen, Modbus wählen, Ihr Modell auswählen und als Adresse tcp://192.168.x.y oder tcp://192.168.x.y:502 eintragen.
Ein Detail aus dem Nibe-Dokument, das ich für unterschätzt halte: Im selben Menü 7.5.9 können Sie mit einem USB-Stick im Display die Registerlisten exportieren, wahlweise "die meistgenutzten" oder alle, als CSV. Nibe schreibt dazu, es würden die Register angezeigt, die für Ihr Produkt und dessen installiertes Zubehör verfügbar sind. Wenn in Home Assistant ein Wert fehlt oder komisch aussieht, ist dieser Export Ihr bester Beleg. Die Entwickler der Bibliothek arbeiten genau mit solchen Dateien, und wer ein Ticket aufmacht, wird oft zuerst danach gefragt.

Bei Firmware-Updates der Pumpe lohnt dagegen etwas Aufmerksamkeit. Im März 2026 meldete ein Nutzer, seit Firmware 4.6 seien einige Modbus-Register nicht mehr erreichbar, obwohl der Export sie weiterhin aufführte. elupus hielt das für einen Fehler in der Pumpe. Der Nutzer schrieb Nibe an, Nibe bestätigte den Fehler, und am 26. April meldete er, mit Firmware 4.10.5 sei er behoben. Das ist eine gute Nachricht über Nibe. Aber es heißt auch: Nach einem Firmware-Update der Pumpe lohnt ein Blick, ob in Home Assistant noch alle Sensoren Werte liefern.

F-Serie: MODBUS 40 oder ein ESP32, der so tut

Die älteren F-Modelle haben kein Modbus TCP. Sie sprechen RS485 mit Zubehör, und das offizielle Zubehör für Gebäudeleittechnik heißt MODBUS 40. Home Assistant kann über einen USB-RS485-Adapter mit diesem Modul reden, die Dokumentation nennt das "RCU" und stuft es mit einem Satz ein: "Support for RCU-based communication is currently untested." Das ist ungewöhnlich ehrlich und sollte Sie davon abhalten, das Modul nur für Home Assistant zu kaufen.

Der verbreitete Weg ist ein anderer. Man hängt einen kleinen Rechner an den RS485-Bus, der sich der Pumpe gegenüber als MODBUS 40 ausgibt. Die Software dafür heißt NibeGW und stammt ursprünglich aus der openHAB-Community. Für ESPHome gibt es sie als fertige Komponente von elupus (esphome-nibe, 119 Sterne). Das README erklärt, warum das mit etwas Sorgfalt passieren muss: Ist die Modbus-Unterstützung an der Pumpe eingeschaltet, schickt sie regelmäßig Telegramme mit bis zu 20 Registern und erwartet auf jedes eine Quittung. Bleibt die aus, geht die Pumpe in den Alarmzustand. Die Home-Assistant-Dokumentation sagt dasselbe und empfiehlt deshalb eigene Hardware, auf der nur das Gateway läuft.

Als geprüftes Board nennt das Projekt den LilyGo T-CAN485, einen ESP32 mit eingebautem RS485-Anschluss. Zwei praktische Hinweise aus dem README: Den WLAN-Stromsparmodus mit power_save_mode: none abschalten, sonst verpasst der ESP UDP-Anfragen. Und bei sehr alter Pumpensoftware erst die Firmware aktualisieren.

Der Fall mit der Mitsubishi-Pumpe zeigt, wo es typischerweise hakt. Die Einrichtung in Home Assistant scheiterte 43 Mal mit einer Zeitüberschreitung beim Lesen, obwohl die Verbindung sonst funktionierte. Die Lösung, die der Nutzer am 27. September selbst postete: In ESPHome für Lesen und Schreiben getrennte Ports setzen (19999 und 20000), in Home Assistant dieselben als "Remote read port" und "Remote write port" eintragen, lokal auf 9999 lauschen. Ports müssen auf beiden Seiten zusammenpassen. Das klingt banal und kostet trotzdem regelmäßig einen Abend.

Seit Home Assistant 2024.2 gibt es zusätzlich die Integration myUplink. Sie holt die Daten über Nibes offizielle Cloud-API und fragt laut Dokumentation alle 60 Sekunden ab, damit sie innerhalb der Rate-Limits bleibt. Dafür legen Sie auf dev.myuplink.com eine eigene Anwendung an und tragen Client ID und Client Secret in Home Assistant ein. Die Integration funktioniert nicht nur mit Nibe, sondern mit allem, was an myUplink hängt, etwa CTC oder alpha innotec.

Drei Dinge sollten Sie vorher wissen. Erstens verlangt die Integration beim Anmelden auch das Recht, Änderungen am System vorzunehmen. Ein Nutzer, der nur lesen wollte, bekam 2024 "Incorrect OAuth2 scope". Die Antwort des Entwicklers astrandb: Das sei Absicht, die Integration sei für Überwachung und Steuerung gebaut. Als Ausweg schlug er ein zweites myUplink-Konto vor, dem man vom Hauptkonto nur Lesezugriff freigibt.

Zweitens das Geld. Die Home-Assistant-Dokumentation schreibt, für Steuerung über Schalter, Auswahlfelder und Zahlenwerte brauche man möglicherweise ein gültiges myUplink-Abo. Nibe listet auf der britischen Produktseite die API zwar für alle Stufen, die Premium-Stufen "Manage" und "History" kosten dort aber je 21 Pfund im Jahr. Auf der deutschen Seite beschreibt Nibe die Stufen ohne Preis: "Manage" gibt Zugriff auf die Menüs 1 bis 4 mit der Möglichkeit, etwas zu ändern.

Drittens die Abhängigkeit. Ab etwa dem 18. August 2026 meldeten mehrere Nutzer im Ticket #177110 ständige Zeitüberschreitungen, die Entitäten fielen immer wieder aus und rissen Lücken in die Verlaufsgrafik. Einer schrieb Nibe an und bekam ein knappes "We're on it". Am 27. und 28. August lief es wieder stabil. Solche Aussetzer haben Sie mit Modbus nicht. Dazu kommt ein kleiner Schönheitsfehler: Die Entitätsnamen liefert die API, sie sind englisch und lassen sich laut Dokumentation nicht übersetzen.

Meine Einschätzung: myUplink ist ein brauchbarer Einstieg, wenn Sie heute Abend Werte sehen wollen und noch nicht wissen, ob Sie mehr brauchen. Für eine S-Serie, die schon im Netz hängt, sehe ich keinen Grund, bei der Cloud zu bleiben. Modbus ist schneller, kostenlos und fällt nicht aus, wenn in Schweden ein Server hustet.

Beim Schreiben wird es heikel

Jetzt zu den Gradminuten vom Anfang und zu dem, was daraus geworden ist. Gradminuten sind bei Nibe die zentrale Regelgröße: die aufsummierte Abweichung zwischen berechneter und tatsächlicher Vorlauftemperatur, Minute für Minute. Wird der Wert negativ genug, springt der Verdichter an. Wer bei Sonnenüberschuss sofort heizen will, statt zu warten, bis sich die Gradminuten von selbst auf -400 oder so herunterzählen, setzt sie einfach tiefer. Genau das wollte KlausHans.

Das Nibe-Dokument M12676 führt "Degree minutes" als Holding-Register 18, 16 Bit, les- und schreibbar. In der Zählweise der Bibliothek, die Modbus-Adressen um eins versetzt führt, entspricht das 40019. Das 32-Bit-Register 40012 lässt sich lesen, Schreiben dagegen klappt nicht. In der Bibliothek heißen die beiden inzwischen "Degree minutes (32 bit)" und "Degree minutes (16 bit)", der Entitätsname in Home Assistant ist aber noch number.limit_dm_40019. Wenn Sie Gradminuten setzen wollen, nehmen Sie also diese Entität. elupus gab im Ticket noch einen Rat, den ich gern weitergebe: Lesen Sie den Wert vorher ab. Die Integration greift auf interne Einstellungen der Pumpe zu, und Sie wollen zurückkönnen.

Später stellte sich heraus, dass hinter dem gescheiterten 32-Bit-Schreiben mehr steckt. Am 27. August 2026 beschrieb ein Nutzer namens chlirre im Ticket #180379, was mit allen beschreibbaren 32-Bit-Registern der S-Serie über Modbus TCP passiert. Die Pumpe liefert beim Lesen das niedrige Wort zuerst, erwartet beim Schreiben aber das hohe Wort zuerst. Die Bibliothek kannte nur eine Einstellung für beides. Das Tückische: Die Pumpe bestätigt den falsch herum geschriebenen Wert auf Protokollebene und verwirft ihn dann still. Keine Fehlermeldung, kein Logeintrag, der Wert ändert sich einfach nicht. chlirre bestätigte das an seiner S1256, am 18. September schrieb elupus: "Got confirmation from NIBE. It is this silly." Die Korrektur landete heute Morgen, am 28. September, in der Bibliothek. In einer veröffentlichten Version steckt sie noch nicht, die letzte ist 2.24.0 vom 1. August. Bis sie in Home Assistant ankommt, braucht es erst ein neues Release der Bibliothek und danach ein Update der Integration. Meine Schätzung: ein paar Wochen.

Der dritte offene Punkt betrifft das Klima-Element. Am 7. August 2026 meldete merlijntishauser für seine VVM S320, dass sich der HVAC-Modus in Home Assistant nicht umschalten lässt. Die Integration schreibt die Wörter "ON" und "OFF" in ein Register, das bei allen S-Modellen nur Zahlen annimmt. Die Anzeige stimmt trotzdem, weil der Lesepfad zufällig auch die Null versteht. Ein Nutzer mit S1156 bestätigte das am 25. August unter 2026.8.3. Das Ticket ist offen. Die Solltemperatur setzen funktioniert dagegen, das hat derselbe Nutzer ausdrücklich getestet.

Was heißt das für Sie? Lesen können Sie bei Nibe fast alles, und die Daten sind gut. Beim Schreiben würde ich jede Automatisierung erst einmal von Hand testen und danach 60 Sekunden warten, bis Home Assistant den Wert neu gelesen hat. Steht dann wieder der alte Wert da, hat die Pumpe Ihren Befehl geschluckt, ohne ihn auszuführen. Und für PV-Überschuss ist der robusteste Weg oft gar kein Register, sondern SG Ready oder die Nibe-Register für externe Leistungsbegrenzung. Beides beschreiben wir im Überblick zu Wärmepumpen und SG Ready in Home Assistant.

Ein Wort noch zur Vorsicht. lewurm, der mit der S1155, erwähnte im Gradminuten-Ticket, dass sein Verdichter zuletzt Anfang November gestartet sei und er bei der Zahl der Starts "anal" sei. Das ist nicht übertrieben. Jede Automatisierung, die die Pumpe öfter an- und abschaltet, als sie es selbst täte, kostet Verdichterstarts. Sonnenüberschuss, der alle zehn Minuten kommt und geht, ist ein schlechter Auslöser. Bauen Sie Verzögerungen ein.

Welcher Weg zu Ihrer Pumpe passt

Ihre LageEmpfehlung
S-Serie oder VVM S / SMO S40, im NetzModbus TCP im Menü 7.5.9 einschalten, offizielle Integration
S2125 als Außeneinheitüber die zugehörige Inneneinheit oder SMO S40 anbinden
F-Serie, Bastellust vorhandenESP32 mit RS485 (z. B. LilyGo T-CAN485) und NibeGW über ESPHome
F-Serie, MODBUS 40 schon verbautRCU-Verbindung probieren, laut Dokumentation ungetestet
keine Lust auf Kabel, nur Werte ansehenmyUplink, Abo-Frage vorher klären
Gradminuten per Automatisierung setzennumber.limit_dm_40019, Wert vorher notieren
Wer seine Wärmepumpe zusätzlich an einen dynamischen Tarif koppeln will, findet die Anbieter im Vergleich dynamischer Stromtarife. Für andere Marken gibt es die Gegenstücke zu diesem Artikel: Stiebel Eltron in Home Assistant und myPyllant für Vaillant. Und wenn Sie für die F-Serie zum ersten Mal einen ESP32 flashen, hilft unser Einstieg in ESPHome.

Unterm Strich ist Nibe für Home Assistant eine der besten Marken, die man sich in den Keller stellen kann, zumindest bei der S-Serie. Modbus ab Werk, offizielle Registerlisten per USB-Stick, eine Integration im Kern von Home Assistant und ein Hersteller, der Fehler bestätigt und behebt. Die Schwachstelle ist das Schreiben, und die liegt weniger an der Integration als an einer Pumpe, die Zahlen beim Lesen andersherum sortiert als beim Schreiben und irreführend benannte Register exportiert. Wer das weiß, spart sich den Gang in den Keller.


Quellen: Home Assistant, Integrationsdokumentation "Nibe Heat Pump" (seit 2022.10, Local Polling, unterstützte Geräte, Verbindungsarten NibeGW, Modbus TCP, RCU) · Home Assistant, Integrationsdokumentation "myUplink" (seit 2024.2, Cloud Polling, 60 Sekunden, Abo-Hinweis, bekannte Einschränkungen) · NIBE, "Modbus S-series" M12676EN (Menü 7.5.9, Port 502, Menü 5.2, Registerexport per USB, Software 2.2.1, Register 18 Degree minutes) · NIBE, Produktseiten myUplink (de-de und en-gb, Stufen und Preise, abgerufen 28.09.2026) · NIBE, Produktseite VVM S320 (S2125 als Außeneinheit) · GitHub home-assistant/core, Issue #156732 (KlausHans, 17.11.2025; Kommentare lewurm, elupus, moorgrove bis 18.12.2025) · Issue #165849 (KG94, 17.03.2026; Nachtrag 26.04.2026 zu Firmware 4.10.5) · Issue #178491 (merlijntishauser, 07.08.2026; freddieleeman, 25.08.2026) · Issue #180379 (chlirre, 27.08.2026) · Issue #183206 (nitiiz, 26./27.09.2026) · Issue #121799 (Pyrdon, 11.07.2024; Antwort astrandb, 12.07.2024) · Issue #177110 (hawk2004, 23.07.2026; Kommentare jni1975, kpcz, joeyla bis 28.08.2026) · GitHub yozik04/nibe, Release 2.24.0 (01.08.2026), Registerdatei s1155_s1255.json, Issue #314 (Kommentare elupus 18.09.2026, geschlossen 28.09.2026) · GitHub elupus/esphome-nibe, README