Ich wollte endlich sehen, was meine NIBE-Wärmepumpe wirklich an Strom zieht. Nicht geschätzt, sondern echt, schön als Gauge und Verlauf im Dashboard. Auf dem Weg dahin habe ich aber gelernt, dass der naheliegende Weg ein falsches Bild liefert. Hier zeige ich dir den ehrlichen Weg, geprüft gegen meinen echten Stromzähler.
Update (Juni 2026): Im Video lese ich die „aktuelle Leistungsaufnahme" direkt aus der Wärmepumpe (Modbus-Register 2305) und lege das Gauge darauf. Das war ein Fehler. Dieser Wert zeigt bei der S40 dauerhaft mehrere Kilowatt an, auch wenn der Verdichter aus ist. Die korrigierte Methode steht hier in der Anleitung.
Warum der einfache Weg ein falsches Bild zeigt
Naheliegend ist: einen Sensor auf die „aktuelle Leistungsaufnahme" der Wärmepumpe legen, ein Gauge drauf, fertig. Genau das mache ich im Video. Das Problem fiel mir erst später auf: Das Gauge stand fast konstant bei rund 6 kW, Tag und Nacht, auch wenn die Wärmepumpe nichts tat.
Ich habe es gegen meinen Stromzähler am Hausanschluss geprüft. Bei stehendem Verdichter meldete die Wärmepumpe weiter rund 6 kW, der echte Zähler sah aber keinen entsprechenden Bezug. Erst wenn der Verdichter wirklich lief, passte der Wert (rund 1,1 kW, und das deckte sich dann exakt mit dem Zähler).
Der Grund: Die S40 rechnet eine geschätzte Zusatzheizung in diesen Leistungswert mit ein, die in Wirklichkeit gar nicht zieht. Wer den Verbrauch direkt darauf aufbaut, landet schnell beim Zehnfachen des realen Werts.
Gilt auch für myUplink: Der Gesamtverbrauch aus der NIBE-Cloud lief bei mir an einem Tag um über 60 kWh hoch, während das ganze Haus laut Zähler nur etwa 6 kWh brauchte. Für den Stromverbrauch ist also auch der myUplink-Zähler keine verlässliche Quelle.
Der ehrliche Weg: nur zählen, wenn der Verdichter läuft
Die Lösung ist simpel. Ich nehme den Leistungswert nur, wenn der Verdichter tatsächlich arbeitet, sonst ist er 0. Dafür brauche ich ein Signal, das bei stehendem Verdichter sauber auf 0 fällt. Bei mir ist das die Verdichter-Ausgangsleistung aus der NIBE-Integration (sensor.power_eb101_ep14), die genau das tut.
1template:
2 - sensor:
3 - name: "WP Leistung elektrisch"
4 unique_id: nibe_wp_leistung_elektrisch
5 unit_of_measurement: "W"
6 device_class: power
7 state_class: measurement
8 state: >
9 {% set laeuft = states('sensor.power_eb101_ep14') | float(0) > 0 %}
10 {% set p = states('sensor.energy_log_current_power_consumption') | float(0) %}
11 {{ (p * 1000) | round(0) if laeuft else 0 }}sensor.energy_log_current_power_consumption ist der Leistungswert in kW (intern Register 32306, derselbe wie das Modbus-Register 2305, nur sauber benannt). Läuft der Verdichter, nehme ich ihn und rechne in Watt um. Steht er, kommt 0 raus. Damit ist das Phantom weg.
Für Einsteiger: Diesen Block kopierst du in deine Konfiguration, zum Beispiel
packages/nibe.yaml. Die Sensornamen heißen bei dir oft etwas anders, häufig mit Registernummer am Ende (etwasensor.power_eb101_ep14_31807). Schau unter Entwicklerwerkzeuge → Zustände nach. Du brauchst zwei Dinge: den Leistungswert der Wärmepumpe und ein Signal, das nur dann größer 0 ist, wenn der Verdichter läuft (Verdichter-Leistung, Verdichter-Frequenz oder ein Status-Register).
Wie du daraus den vollständigen Verbrauch in kWh, die Tages-, Monats- und Jahreswerte und die Kosten baust, zeige ich Schritt für Schritt in der NIBE-Modbus-Anleitung. Der Kern ist eine Riemann-Integration auf sensor.wp_leistung_elektrisch.
Überwachen: Gauge und Verlauf
Jetzt der Teil, um den es in diesem Video eigentlich geht: das Anzeigen. Ich nutze ein Gauge für die aktuelle Leistung und einen Verlauf für die letzten 24 Stunden. Wichtig ist nur, dass beide Karten auf den korrigierten Sensor sensor.wp_leistung_elektrisch zeigen, nicht auf den rohen Wert.
1type: vertical-stack
2cards:
3 - type: gauge
4 entity: sensor.wp_leistung_elektrisch
5 name: Aktuelle Leistung Wärmepumpe
6 unit: W
7 min: 0
8 max: 3000
9 severity:
10 green: 0
11 yellow: 1500
12 red: 2500
13
14 - type: history-graph
15 title: Verlauf Wärmepumpe (24h)
16 hours_to_show: 24
17 entities:
18 - entity: sensor.wp_leistung_elektrischTipp: Stell
maxbeim Gauge auf die elektrische Maximalaufnahme deines Verdichters, nicht auf einen Fantasiewert. Bei meiner S40 liegt der Verdichter unter 3 kW, deshalbmax: 3000. So nutzt du die Skala sinnvoll aus und erkennst Lastspitzen sofort.
Ins Energie-Dashboard
Wenn du den Verbrauch (die kWh aus der Anleitung oben) im offiziellen Energie-Dashboard sehen willst, geh auf Einstellungen → Dashboards → Energie → Gerät hinzufügen und wähle deinen kWh-Sensor der Wärmepumpe. Dann läuft sie als eigener Verbraucher neben dem Rest vom Haushalt mit.
Hinweis: Ein neuer Sensor erscheint dort erst nach der nächsten vollen Stunde, weil Home Assistant die Langzeit-Statistik nur stündlich verdichtet.
Für wen es aufs Watt genau sein muss
Die gegatete Methode trifft den Verdichter sehr gut, und der ist im Sommer praktisch der gesamte Verbrauch deiner Wärmepumpe. Läuft im Winter wirklich der Heizstab, kann die NIBE diesen Anteil nicht verlässlich melden, das ist ja der Kern des Phantom-Problems. Wer auch das exakt will, hängt einen physischen Zähler an den Wärmepumpen-Stromkreis, zum Beispiel einen Shelly Pro 3EM. Der misst direkt am Kabel, unabhängig von den Schätzungen der Wärmepumpe.
Mein Fazit
Den Stromverbrauch der NIBE in Home Assistant zu überwachen ist kein Problem, solange du nicht dem rohen Leistungswert vertraust. Der lügt im Standby. Mit dem Gate auf den laufenden Verdichter bekommst du ein Gauge und einen Verlauf, die ehrlich sind und sich mit deinem Stromzähler decken. Genau so läuft es jetzt bei mir.
Für Profis: Der rohe Wert ist deshalb so hoch, weil die S40 ihre elektrische Zusatzheizung über einen Laufzeitzähler schätzt (der bei mir klar zu schnell lief) und diese Schätzung in „current power consumption" einrechnet. Der reine Verdichter-Verbrauch über die Energie-Register (Heizung und Warmwasser, Modbus 2291 und 2293) ist davon nicht betroffen. Wer will, kann den Verbrauch alternativ aus diesen beiden Energie-Registern aufsummieren, statt über die gegatete Leistung zu gehen.
