Keen
26. Juli 2024 um 16:38
1
Hallo Leute,
ich versuche mit meiner M-Tec Wärmepumpe eine Verbindung mit Modbus herzustellen, aber ich weiß nicht so richtig wie ich vorgehen muss. Ich habe mir einiges durchgelesen, aber das bringt mich alles nicht weiter. Die Wärmepumpe hat eine Keba Platine und nutzt auch das System.
Kann mich jemand in die richtige Richtung schubsen?
Gruß
Keen
Nachtrag:
Vom Installateur habe ich eine Excel Tabelle mit den ganzen Sensoren für Modbus bekommen.
Oder bin ich hier falsch?
by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
Mark
27. Juli 2024 um 15:37
3
Keen
27. Juli 2024 um 20:02
4
Wie muss ich da vorgehen? ich habe es installiert, aber ich sehe nirgends Einträge die darauf deuten das ich es installiert habe.
Unter Integrationen hinzufügen kann ich SunSpec auswählen, im folgenden Dialog kann ich den Hostnamen und den Port eintragen. Es kann aber keine Verbindung aufgebaut werden.
Keen
17. August 2024 um 07:22
5
Hab’s nun hinbekommen, es waren lediglich ein paar Zeilen Code nötig die ich mir im Netz zusammen gesucht habe.
1 „Gefällt mir“
wach
30. August 2024 um 12:29
6
Hej Keen, was hast Du denn da so an Code entsprechend eingefügt? Ich möchte auch meinen Energy Smart und die M-TEC Wärmepumpe hinzufügen. Danke!
Keen
11. September 2024 um 17:06
7
Hier meine Einträge in der modbus.yaml
unter host kommt die IP deiner Wärmepumpe und bei port die 502
Dies ist erstmal ein Anfang, man kann noch sehr viel mehr Werte auslesen, das erweitere ich mal wenn ich mehr Zeit habe.
- name: WP_M-Tec
type: tcp
host: !secret modbus_wp_ip
port: !secret modbus_wp_port
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: uint16
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: uint16
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
2 „Gefällt mir“
@Keen : vielen Dank für die gute Starthilfe! Klappt super.
Wäre es aber nicht besser die Sole Ein-/Ausgangstemperaturen in int16 einzusammeln? Die Temperaturen können ja auch mal negativ (Minusgrade) werden.
Keen
29. Januar 2025 um 17:42
9
Minusgrade erreichen sie bei mir nicht, ich habe eine Tiefenbohrung
Interessant! Ich nutze PVT Kollektoren. Damit geht Sole auch im Minusbereich. Musste deshalb auf int16 umstellen. Funktioniert aber prima dein Modbus yaml! Vielen Dank!
Servus Keen,
Ich bekomme morgen auch die M-Tec Wärmepumpe und würde das auch gerne so machen.
Welchen Harware Adapter hast du für die Modbus Schnittstelle genommen?
Danke
Thomas
Keen
18. Mai 2025 um 19:14
12
Die Heizung ist lediglich mit einem Ethernet Kabel verbunden. Sonst keine Adapter oder ähnliches.
1 „Gefällt mir“
Hallo,
wenn es euch Interessiert, ich habe eine Integration für die M-TEC Heizung erstellt:
Hallo,
ich habe eine Integration erstellt mir der man Wärmepumpen mit einer KEBA KeEnergy Steuerung in Home Assistant einbinden kann. Ich selber habe eine Heizung von M-TEC, es sollte aber mit jeder anderen Heizung auch funktionieren sofern die Web GUI der Steuerung aktiv ist.
Wenn jemand eine M-TEC Heizung hat oder eine neue Heizung testen möchte, kann er gerne diese Integration ausprobieren. Viel Spass
Die Integration kann über HACS oder manuell installiert werden:
Keen
12. September 2025 um 05:57
14
Super, werde ich bei Gelegenheit mal ausprobieren!
rattan
2. November 2025 um 16:38
15
@superbox-dev Ich habe die Integration heute ohne Probleme installiert und in Betrieb genommen. Danke für die tolle Arbeit, super Ergebnis und Funktionalität!
Ich werde bei mir eine Zeitlang parallel laufen lassen (müssen), da ich vor einem halben Jahr per Modbus vieles eingerichtet hatte. Mal sehen, was jetzt wie final zum Einsatz und Nutzung kommt,
Vielen Dank für Deine Arbeit!
Danke, freut mich das dir die Integration gefällt. Sollten irgendwelche Sensoren/Entitäten noch fehlen kannst du dich gerne melden.
1 „Gefällt mir“
Hallo zusammen,
ich habe nun eine Home Assistant Modbus Integration für Wärmepumpen mit einer Keba Steuerung (M-Tec) implementiert, da ich noch ein paar zusätzliche Sensorwerte benötige. Ich denke es ist eine gute Ergänzung zu der Keenergy Integration.
A Home Assistant integration to interact with a KEBA heat pump controller over modbus.
Welche Sensorwerte fehlen dir denn? Ich kann dieser gerne noch ergänzen.
Es wären zB noch die Werte des Pufferspeichers interessant.
Ja, diesen Wunsch hatte bereits @Keen und kommt mit dem nächsten Release. In der Beta-Version v1.5.0b3 kann man das bereits testen.
1 „Gefällt mir“
van
15. April 2026 um 14:03
21
ich habe eine Neura DX R410a WP aus 2016
Steuerung KEBA AP420
hab mir das selbst zusammen gebaut - falls es jemand weiterhilft
- name: neura_ap420
type: tcp
host: 192.168.1.xxx
port: 502
delay: 1
sensors:
####Heizkreis
- name: WP Heizkreis 1 Raumtemperatur
unique_id: wp_heizkreis1_raumtemperatur
slave: 1
input_type: holding
address: 0
scan_interval: 30
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Heizkreis 1 Luftfeuchtigkeit
unique_id: wp_heizkreis1_luftfeuchtigkeit
slave: 1
input_type: holding
address: 1
scan_interval: 30
scale: 1
precision: 0
device_class: humidity
state_class: measurement
unit_of_measurement: "%"
- name: WP Heizkreis 1 Vorlauf Soll
unique_id: wp_heizkreis1_vorlauf_soll
slave: 1
input_type: holding
address: 2
scan_interval: 60
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Heizkreis 1 Waermeanforderung
unique_id: wp_heizkreis1_waermeanforderung
slave: 1
input_type: holding
address: 8
scan_interval: 30
scale: 1
precision: 0
state_class: measurement
unit_of_measurement: state
- name: WP Externe Waermeanforderung
unique_id: wp_externe_waermeanforderung
slave: 1
input_type: holding
address: 12
scan_interval: 30
scale: 1
precision: 0
unit_of_measurement: state
###Kältekreis
- name: WP Vorlauf Temperatur
unique_id: wp_vorlauf_temperatur
slave: 1
input_type: holding
address: 700
scan_interval: 30
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Ruecklauf Temperatur
unique_id: wp_ruecklauf_temperatur
slave: 1
input_type: holding
address: 701
scan_interval: 30
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Kompressor Ausschalttemperatur
unique_id: wp_kompressor_ausschalttemperatur
slave: 1
input_type: holding
address: 702
scan_interval: 30
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Kompressor Einschalttemperatur
unique_id: wp_kompressor_einschalttemperatur
slave: 1
input_type: holding
address: 703
scan_interval: 30
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Verdampfung Temperatur
unique_id: wp_verdampfung_temperatur
slave: 1
input_type: holding
address: 706
scan_interval: 30
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Ueberhitzung IST Temperatur
unique_id: wp_ueberhitzung_ist_temperatur
slave: 1
input_type: holding
address: 707
scan_interval: 30
scale: 0.1
precision: 1
device_class: temperature
state_class: measurement
unit_of_measurement: °C
- name: WP Niederdruck
unique_id: wp_niederdruck
slave: 1
input_type: holding
address: 709
scan_interval: 30
scale: 0.1
precision: 2
state_class: measurement
unit_of_measurement: bar
###Betrieb
- name: WP Verdichter Status
unique_id: wp_verdichter_status
slave: 1
input_type: holding
address: 714
scan_interval: 15
scale: 1
precision: 0
unit_of_measurement: state
- name: WP Quelle Pumpe Status
unique_id: wp_quelle_pumpe_status
slave: 1
input_type: holding
address: 715
scan_interval: 15
scale: 1
precision: 0
unit_of_measurement: state
- name: WP Betriebsmodus
unique_id: wp_betriebsmodus
slave: 1
input_type: holding
address: 1500
scan_interval: 15
scale: 1
precision: 0
unit_of_measurement: state
switches:
- name: wp_Betrieb_ONOFF
slave: 1
address: 1500
write_type: holding
command_on: 2
command_off: 0
verify:
input_type: holding
address: 1500
state_on: 2
state_off: 0