Zum Inhalt springen
Alles Automatisch

NIBE & Home Assistant: Stromverbrauch der Wärmepumpe überwachen

Erfahre, wie du den Stromverbrauch deiner NIBE-Wärmepumpe in Home Assistant erfasst, als Sensor anlegst und übersichtlich in Lovelace visualisierst. Mit Modbus-Sensor, Template-Sensor und praktisch...

NIBE & Home Assistant: Stromverbrauch der Wärmepumpe überwachen

Überblick: NIBE Wärmepumpe und Stromverbrauch in Home Assistant visualisieren

Mit den folgenden Konfigurationsbeispielen kannst du den Stromverbrauch deiner NIBE-Wärmepumpe in Home Assistant erfassen, als Sensor anlegen und übersichtlich in der Oberfläche (Lovelace) darstellen. Die Lösung kombiniert Modbus-Sensoren, einen Template-Sensor für eine saubere Anzeige und eine Lovelace-Karte mit Messgerät und Verlaufsgraf. So hast du den aktuellen Verbrauch und den zeitlichen Verlauf immer im Blick.

Lovelace UI: Vertical-Stack für NIBE Stromverbrauch

Die Lovelace-Konfiguration zeigt dir den aktuellen Stromverbrauch als Messgerät (Gauge) und den Verlauf der letzten 24 Stunden in einem Diagramm. Das ist besonders praktisch, um Lastspitzen oder ungewöhnliche Verbrauchsmuster direkt zu erkennen.

yaml
1type: vertical-stack
2cards:
3  - type: gauge
4    entity: sensor.nibe_aktueller_stromverbrauch
5    name: Aktueller Stromverbrauch
6    min: 0
7    max: 10
8    severity:
9      - color: "#0da035" # Green
10        value: 3
11      - color: "#e0b400" # Yellow
12        value: 6
13      - color: "#a30707" # Red
14        value: 10
15
16  - type: history-graph
17    title: Verlauf Stromverbrauch (24h)
18    hours_to_show: 24
19    refresh_interval: 300
20    entities:
21      - entity: sensor.nibe_aktueller_stromverbrauch

Du kannst diese Karten direkt in dein Lovelace-Dashboard einfügen. Passe sensor.nibe_aktueller_stromverbrauch ggf. an den Namen deines Sensors an.

Modbus-Konfiguration für NIBE S40

Mit Modbus liest du die Verbrauchswerte direkt aus deiner NIBE-Wärmepumpe aus. Die folgende Konfiguration legt mehrere Sensoren für verschiedene Energie- und Leistungswerte an. So bekommst du nicht nur den aktuellen Verbrauch, sondern auch Daten zur Heiz- und Warmwasserenergie.

yaml
1modbus:
2  - name: "nibeS40"
3    type: tcp
4    host: 192.168.0.1
5    port: 502
6    sensors:
7      - name: "Nibe heating energy last hour"
8        unique_id: "nibe_in_energy_heating"
9        data_type: int16
10        address: 2291
11        input_type: input
12        scale: 0.01
13        precision: 2
14        state_class: measurement
15        unit_of_measurement: "kWh"
16        slave: 1
17        scan_interval: 900
18
19      - name: "Nibe hot water energy last hour"
20        unique_id: "nibe_in_energy_hot_water"
21        data_type: int16
22        address: 2293
23        input_type: input
24        scale: 0.01
25        precision: 2
26        state_class: measurement
27        unit_of_measurement: "kWh"
28        slave: 1
29        scan_interval: 900
30
31      - name: "Nibe hot water add energy last hour"
32        unique_id: "nibe_in_add_energy_hot_water"
33        data_type: int16
34        address: 2301
35        input_type: input
36        scale: 0.01
37        precision: 2
38        state_class: measurement
39        unit_of_measurement: "kWh"
40        slave: 1
41        scan_interval: 900
42
43      - name: "Nibe heating add energy last hour"
44        unique_id: "nibe_in_add_energy_heating"
45        data_type: int16
46        address: 2299
47        input_type: input
48        scale: 0.01
49        precision: 2
50        state_class: measurement
51        unit_of_measurement: "kWh"
52        slave: 1
53        scan_interval: 900
54
55      - name: "nibe_current_power"
56        unique_id: "nibe_current_power"
57        data_type: int16
58        address: 2305
59        input_type: input
60        precision: 2
61        state_class: measurement
62        unit_of_measurement: "kW"
63        scale: 0.01
64        slave: 1
65        scan_interval: 60

Diese Sensoren werden über die Modbus-Integration in Home Assistant eingebunden. Passe host und ggf. die Adressen an deine Anlage an.

Modbus-Konfiguration für WS300 (optional)

Falls du zusätzlich ein WS300-Gerät hast, kannst du weitere Sensoren für Temperaturen, Lüfterstufen und Luftqualität einbinden. Das folgende Beispiel zeigt typische Register für ein WS300-Modul.

Wichtig zum Kopieren: Der WS300-Hub gehört als weiterer - name:-Eintrag unter denselben modbus:-Block wie „nibeS40" weiter oben. Leg kein zweites modbus: in derselben Datei an, sonst überschreibt der eine Block den anderen.

yaml
1  - name: ws300
2    type: tcp
3    host: 10.10.146.32
4    port: 502
5    sensors:
6      - name: "kwl_t_aul"
7        unit_of_measurement: "°C"
8        slave: 1
9        address: 703
10        input_type: holding
11        data_type: int16
12        precision: 1
13        scale: 0.1
14
15      - name: "kwl_t_zu"
16        unit_of_measurement: "°C"
17        slave: 1
18        address: 704
19        input_type: holding
20        data_type: int16
21        precision: 1
22        scale: 0.1
23
24      - name: "kwl_t_ab"
25        unit_of_measurement: "°C"
26        slave: 1
27        address: 705
28        input_type: holding
29        data_type: int16
30        precision: 1
31        scale: 0.1
32
33      - name: "kwl_t_fol"
34        unit_of_measurement: "°C"
35        slave: 1
36        address: 706
37        input_type: holding
38        data_type: int16
39        precision: 1
40        scale: 0.1
41
42      - name: "kwl_betriebsart"
43        unit_of_measurement: ""
44        slave: 1
45        address: 550
46        input_type: holding
47        data_type: uint16
48        precision: 0
49        scale: 1.0
50
51      - name: "kwl_lueftungsstufe"
52        unit_of_measurement: ""
53        slave: 1
54        address: 650
55        input_type: holding
56        data_type: uint16
57        precision: 0
58        scale: 1.0
59
60      - name: "kwl_drehzahl_zu"
61        unit_of_measurement: "U/min"
62        slave: 1
63        address: 651
64        input_type: holding
65        data_type: uint16
66        precision: 0
67        scale: 1.0
68
69      - name: "kwl_drehzahl_ab"
70        unit_of_measurement: "U/min"
71        slave: 1
72        address: 652
73        input_type: holding
74        data_type: uint16
75        precision: 0
76        scale: 1.0
77
78      - name: "kwl_volumenstrom_zu"
79        unit_of_measurement: "m³/h"
80        slave: 1
81        address: 653
82        input_type: holding
83        data_type: uint16
84        precision: 0
85        scale: 1.0
86
87      - name: "kwl_volumenstrom_ab"
88        unit_of_measurement: "m³/h"
89        slave: 1
90        address: 654
91        input_type: holding
92        data_type: uint16
93        precision: 0
94        scale: 1.0
95
96      - name: "kwl_restlaufzeit_filter_zu"
97        unit_of_measurement: "d"
98        slave: 1
99        address: 655
100        input_type: holding
101        data_type: uint16
102        precision: 0
103        scale: 1.0
104
105      - name: "kwl_restlaufzeit_filter_aul"
106        unit_of_measurement: "d"
107        slave: 1
108        address: 656
109        input_type: holding
110        data_type: uint16
111        precision: 0
112        scale: 1.0
113
114      - name: "kwl_restlaufzeit_filter_ab"
115        unit_of_measurement: "d"
116        slave: 1
117        address: 657
118        input_type: holding
119        data_type: uint16
120        precision: 0
121        scale: 1.0
122
123      - name: "kwl_rF_ab"
124        unit_of_measurement: "%"
125        slave: 1
126        address: 750
127        input_type: holding
128        data_type: uint16
129        precision: 0
130        scale: 1.0
131
132      - name: "kwl_CO2"
133        unit_of_measurement: "ppm"
134        slave: 1
135        address: 755
136        input_type: holding
137        data_type: uint16
138        precision: 0
139        scale: 1.0
140
141      - name: "kwl_schalt_zu"
142        unit_of_measurement: ""
143        slave: 1
144        address: 800
145        input_type: holding
146        data_type: uint16
147        precision: 0
148        scale: 1.0
149
150      - name: "kwl_schalt_ab"
151        unit_of_measurement: ""
152        slave: 1
153        address: 801
154        input_type: holding
155        data_type: uint16
156        precision: 0
157        scale: 1.0
158
159      - name: "kwl_schalt_bypass"
160        unit_of_measurement: ""
161        slave: 1
162        address: 802
163        input_type: holding
164        data_type: uint16
165        precision: 0
166        scale: 1.0

Mit dieser Konfiguration hast du alle relevanten Werte deines WS300-Moduls ebenfalls in Home Assistant verfügbar.

Template-Sensor: NIBE aktueller Stromverbrauch

Um den Rohwert des Modbus-Sensors für die Anzeige aufzubereiten, empfiehlt sich ein Template-Sensor. Damit kannst du den Wert auf zwei Nachkommastellen runden und für die Visualisierung nutzen. Der Sensor ist die Basis für das Messgerät und die Verlaufsgrafik in Lovelace.

yaml
1template:
2  - sensor:
3      - name: "Nibe Aktueller Stromverbrauch"
4        unique_id: "nibe_current_power_consumption"
5        unit_of_measurement: "kW"
6        device_class: power
7        state_class: measurement
8        icon: "mdi:flash"
9        state: >-
10          {{ (states('sensor.nibe_current_power') | float(0)) | round(2) }}

Der Sensor braucht den template:-Block. Unter sensor: funktioniert er nicht mehr, die alte Platform-Syntax für Template-Entitäten ist seit 2026.6 entfernt. Hast du schon ein template: in derselben Datei, häng den Sensor dort als weiteren - name:-Eintrag an, statt ein zweites template: anzulegen.

Fazit und Hinweise zur Integration

Mit dieser Kombination aus Modbus-Integration, Template-Sensor und Lovelace-Karten kannst du den Stromverbrauch deiner NIBE-Wärmepumpe in Home Assistant komfortabel überwachen. Die Lösung ist flexibel: Passe die Entitäten und Adressen an deine Installation an. Wenn du die Home Assistant UI-Konfiguration nutzt, kannst du die Karten auch direkt über die Oberfläche hinzufügen.

Weitere Informationen findest du in der offiziellen Dokumentation:

Hier siehst du im Video, wie „NIBE & Home Assistant: Stromverbrauch der Wärmepumpe im Griff haben“ in der Praxis umgesetzt wird.

Snippet teilen