Du möchtest deine M-Tec Wärmepumpe mit Keba-Platine lokal in Home Assistant einbinden, um Betriebs- und Temperaturwerte ohne Cloud im Blick zu behalten? Über das Netzwerkprotokoll Modbus TCP lassen sich die Daten der Steuerung direkt abgreifen. Mit wenigen Zeilen Konfiguration hast du die wichtigsten Sensoren – von der Warmwassertemperatur bis zur Heizleistung – im Dashboard.
Das brauchst du
- Home Assistant (Core oder OS)
- M-Tec Wärmepumpe mit Keba-Regler, per Ethernet-Kabel im Heimnetzwerk angeschlossen
- Feste IP-Adresse der Wärmepumpe im lokalen Netzwerk
- Dauer: ca. 10 Minuten
1. IP-Adresse und Modbus-Port ermitteln
Für die Kommunikation benötigt deine Wärmepumpe keinen zusätzlichen Hardware-Adapter; die Keba-Platine wird schlicht über ein Standard-Netzwerkkabel mit deinem Router oder Switch verbunden. Notiere dir die vergebene IP-Adresse der Heizung. Als Standard-Port für Modbus TCP wird Port 502 verwendet.
2. Modbus-Konfiguration anlegen
Home Assistant bringt eine native Modbus-Integration (eine Schnittstelle zur Kommunikation mit Geräten) mit. Am übersichtlichsten bindest du die Sensoren über eine ausgelagerte Konfigurationsdatei ein. Trage in deiner configuration.yaml folgende Zeile ein:
modbus: !include modbus.yamlErstelle anschließend im Home-Assistant-Verzeichnis die Datei modbus.yaml und trage die Register deiner Wärmepumpe ein. Passe die IP-Adresse an dein Setup an:
In modbus.yaml:
- name: WP_M-Tec
type: tcp
host: 192.168.1.50
port: 502
sensors:
- name: WP_M-Tec_aktuell_eingestellte_Raumtemperatur
data_type: uint16
slave: 1
address: 2
device_class: temperature
scan_interval: 15
scale: 0.1
precision: 1
state_class: measurement
unique_id: eingestellte_Raumtemperatur
unit_of_measurement: "°C"
- name: WP_M-Tec_Warmwasserspeicher_Temperatur
data_type: uint16
slave: 1
address: 401
device_class: temperature
scale: 0.1
precision: 1
state_class: measurement
unique_id: Warmwasserspeicher_Temperatur
unit_of_measurement: "°C"
- name: WP_M-Tec_gesamte_Heizenergie
data_type: uint16
slave: 1
address: 701
device_class: power
scale: 1
precision: 1
state_class: measurement
unique_id: gesammte_Heizenergie
unit_of_measurement: "kWh"
- name: WP_M-Tec_Heizleistung
data_type: uint16
slave: 1
address: 706
device_class: power
scale: 0.001
precision: 2
state_class: measurement
unique_id: Heizleistung
unit_of_measurement: "kW"
- name: WP_M-Tec_Stromverbrauch
data_type: uint16
slave: 1
address: 707
device_class: power
scale: 1
precision: 1
unit_of_measurement: "W"
state_class: measurement
unique_id: Stromverbrauch
- name: WP_M-Tec_Sole_Eingangstemperatur
data_type: int16
slave: 1
address: 708
device_class: temperature
scan_interval: 15
scale: 0.1
precision: 1
state_class: measurement
unique_id: Sole_Eingangstemperatur
unit_of_measurement: "°C"
- name: WP_M-Tec_Sole_Ausgangstemperatur
data_type: int16
slave: 1
address: 709
device_class: temperature
scan_interval: 15
scale: 0.1
precision: 1
state_class: measurement
unique_id: Sole_Ausgangstemperatur
unit_of_measurement: "°C"
- name: WP_M-Tec_Rücklauftemperatur
data_type: uint16
slave: 1
address: 710
device_class: temperature
scale: 0.1
precision: 1
state_class: measurement
unique_id: Rücklauftemperatur
unit_of_measurement: "°C"3. Konfiguration prüfen und neu starten
Öffne Einstellungen > Entwicklerwerkzeuge > YAML und klicke auf Konfiguration prüfen. Ist alles in Ordnung, wähle Neu starten, um Home Assistant neu zu laden und die Modbus-Verbindung aufzubauen.
Funktioniert es?
Gehe auf Einstellungen > Geräte & Dienste > Entitäten (eine Entität ist ein einzelner Datenpunkt im System) und filtere nach WP_M-Tec. Werden aktuelle Werte für Raumtemperatur, Leistung oder Vor-/Rücklauf angezeigt, steht die Kommunikation.
Wenn es nicht klappt
- Entitäten bleiben nicht verfügbar: Kontrolliere die IP-Adresse in der Konfiguration und prüfe, ob Port 502 an der Wärmepumpe erreichbar ist. Ein einfacher Neustart von Home Assistant behebt gelegentlich anfängliche Verbindungsprobleme.
- Falsche Soletemperaturen bei Frost: Wenn deine Anlage Minusgrade erreicht (etwa bei PVT-Kollektoren), stelle für Adresse 708 und 709 den
data_typeaufint16stattuint16, da vorzeichenlose Integer keine negativen Werte abbilden. - SunSpec schlägt fehl: Die Standard-SunSpec-Integration scheitert oft an Keba-Controllern; die direkte Definition über
modbus.yamloder maßgeschneiderte Keba-Integrationen aus HACS lösen das Problem. - Frischwasserstation (FriWa) nicht auffindbar: Die FriWa-Temperaturen werden in vielen M-Tec-Modbus-Registern nicht standardmäßig mitgeliefert; hierfür ist eine alternative Abfrage über KeEnergy erforderlich.
Mit den erfassten Sensordaten kannst du nun das integrierte Energie-Dashboard füttern und die Heizleistung optimal mit einer Photovoltaikanlage abstimmen.
Quellen: Forum: Simon42 – Forum, community.simon42.com, community.home-assistant.io
