NEWS
Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome
-
@ms Hmmm, ich versuche mich mal an einer Antwort. Gemäss Schemabild https://www.keba.com/de/heating-control/heat-pump/waermepumpe scheint es die Möglichkeit zu geben, ein AP440 auch als "Touch-Fernbedienung" zu verwenden. In den Einstellungen gibt es einen entsprechenden Menupunkt (unter "Stationseinstellungen"). Mangels Gerät habe ich das nicht getestet. Es stellt sich auch die Frage, ob das finanziell Sinn macht: ich meinte, die Steuerung kostet ein paar hundert Euro. Den Touchscreen finde ich nicht sehr prickelnd, er scheint noch resistiv statt kapazitiv zu arbeiten, generell ist die Bedienung lahm. Ich hätte daher wohl eher ein (gebrauchtes) Android Smartphone genommen und an die Wand gehängt, ist billiger, schneller und flexibler. Dort einen Link auf die Websteuerung und gut ist...
@antfab said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Ich hätte daher wohl eher ein (gebrauchtes) Android Smartphone genommen und an die Wand gehängt, ist billiger, schneller und flexibler. Dort einen Link auf die Websteuerung und gut ist...
Bringt leider nichts, wenn weiterhin der Temperatursensor unten im Keller verwendet wird...
-
@ms Hmmm, ich versuche mich mal an einer Antwort. Gemäss Schemabild https://www.keba.com/de/heating-control/heat-pump/waermepumpe scheint es die Möglichkeit zu geben, ein AP440 auch als "Touch-Fernbedienung" zu verwenden. In den Einstellungen gibt es einen entsprechenden Menupunkt (unter "Stationseinstellungen"). Mangels Gerät habe ich das nicht getestet. Es stellt sich auch die Frage, ob das finanziell Sinn macht: ich meinte, die Steuerung kostet ein paar hundert Euro. Den Touchscreen finde ich nicht sehr prickelnd, er scheint noch resistiv statt kapazitiv zu arbeiten, generell ist die Bedienung lahm. Ich hätte daher wohl eher ein (gebrauchtes) Android Smartphone genommen und an die Wand gehängt, ist billiger, schneller und flexibler. Dort einen Link auf die Websteuerung und gut ist...
@antfab said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
In den Einstellungen gibt es einen entsprechenden Menupunkt (unter "Stationseinstellungen")
Danke, gefunden.
Nun müsste man nur wissen, welcher Temperatursensor verwendet wird, wenn man eine AP440 als Master definiert und eine zweite als Touch.
Und ob das überhaupt funktioniert mit zwei angesteckten AP440.
Wenn, dann wohl am zweiten Bus-Anschluss der CP022, wo normalerweise das OI420 angeklemmt wird.
Um einen eigenen Test mit einer zweiten AP440 wird man nicht herumkommen, da M-Tec ja meint, man "will nicht", dass Kunden das machen.Hat einer von euch einen Tipp, wo man als Privatperson solche Teile von M-Tec (oder direkt Keba?) kaufen kann, wenn man den Installateur nicht damit "belästigen" will?
Gerne auch per PN ;-)VG
Martin -
Danke euch für die Antworten und Tipps!
Nach hartnäckigen Gesprächen mit verschiedenen Leuten (M-Tec, Installateure) stellt sich die Situation wie folgt dar:-
Zweites Touch:
All diese Freiheitsgrade aus dem Keba-Schemabild mit zweitem AP440 (für einen Heizkreis), AP415 etc. hat M-Tec angeblich nicht implementiert. -
Externer Temp.-Sensor an der AP440:
Im Installationshandbuch der M-Tec WPLK ist zwar beschrieben, wie man an das AP440 in der WP einen externen Temperatursensor KTY ansteckt und die Buchse ist auch hier am AP440 vorhanden, das wird jedoch laut M-Tec bei einer WPS412 nicht unterstützt.
Man "will nicht", dass Kunden das so machen und weigert sich, Zugriff auf den Menüpunkt zu geben, der die Umschaltung int./ext. Sensor unterstützt.
Es läuft in allen WP von M-Tec die gleiche Software, bei der Inbetriebnahme muss man sich im Assistenten allerdings auf einen Typ festlegen und das führt angeblich zu unterschiedlichem Funktionsumfang bei der Steuerung. Ich überlege gerade, das neu zu durchlaufen und dabei WPLK zu wählen.
Allerdings ist eben auch in deren Doku nicht beschrieben, wie man dann auf den ext. Sensor umschaltet und M-Tec rückt nicht mit der Info raus.
Try and Error?
Ob das alles wirklich so ist oder sie mich nur abwimmeln wollen, kann ich schlecht einschätzen - Kooperation sieht anders aus.Andere WP-Hersteller nutzen wohl viel mehr Möglichkeiten der Keba-Steuerung bzw. sperren nicht so viel für Kunden.
Habe also die falsche Wärmepumpe gekauft bzw. beim falschen Hersteller.VG
@ms said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Es läuft in allen WP von M-Tec die gleiche Software, bei der Inbetriebnahme muss man sich im Assistenten allerdings auf einen Typ festlegen und das führt angeblich zu unterschiedlichem Funktionsumfang bei der Steuerung. Ich überlege gerade, das neu zu durchlaufen und dabei WPLK zu wählen.
Das würde ich nun definitiv nicht empfehlen! Die WPs haben andere Kompressoren mit anderen Kennlinien etc. da könntest du im dümmsten Fall deine WP beschädigen.
-
-
kleines Update von mir:
habe nunmal eine Modbus-Verbindung zusammengebracht und ein paar Modbus-Werte identifizieren können.Habe dazu das NTouch vorsichtig geöffnet (siehe dieses Video) und ein Patch-Kabel eingesteckt. NTouch war auf DHCP eingestellt, somit habe ich dessen IP schnell herausgefunden. Im Browser die IP eingegeben und da kann man sich das Java-Interface-Applet runterladen. Hat man das zum laufen gebracht kann man sich im LAN dann mit der IP auf der Wärmepumpe mit den hinterlegten Usern anmelden.
In meinem Fall ist der admin-User:
- user: neura
- pw: aruen1234 (<- von hinten neura - wie kreativ O_o)
mit diesem User kann ich alles einstellen/einsehen.
Tool zum Modbus-Verbindung auf PORT 502 // Slave 1 herstellen habe ich die Software Modbus-Poll genommen. Anbei meine Werte die sich eigentlich NICHT wirklich mit den Modbus-Listen hier in diesem Thread decken.

Ich habe
- Wärmepumpe Neura D14EuC - 14KW
- Keba AP420 NTouch Bedienpaneel
Meine Wärmepumpe heizt direkt in die Fussbodenheizung rein - ohne Puffer.
Was ich erreichen möchte:
Wärmepumpe nicht auf Automatik-Betrieb fahren sondern bei Bedarf über einen Modbus-schreibenden Wert ein/ausschalten. Wenn mir anhand meiner Daten evtl. jemand mitteilen könnte wie ich das Ding extern anfordern kann wäre mir sehr geholfen.Neura: gibts nimmer
M-TEC: Anfragen werden leider nicht beantwortet
Keba: sie sind kein Reseller? Ja die Daten übers AP420 haben wir schon. Ist auch schon ein altes Produkt und Auslaufmodell - aber wir geben sie trotzdem nicht raus...da könnte ja jeder kommen...Danke
-
kleines Update von mir:
habe nunmal eine Modbus-Verbindung zusammengebracht und ein paar Modbus-Werte identifizieren können.Habe dazu das NTouch vorsichtig geöffnet (siehe dieses Video) und ein Patch-Kabel eingesteckt. NTouch war auf DHCP eingestellt, somit habe ich dessen IP schnell herausgefunden. Im Browser die IP eingegeben und da kann man sich das Java-Interface-Applet runterladen. Hat man das zum laufen gebracht kann man sich im LAN dann mit der IP auf der Wärmepumpe mit den hinterlegten Usern anmelden.
In meinem Fall ist der admin-User:
- user: neura
- pw: aruen1234 (<- von hinten neura - wie kreativ O_o)
mit diesem User kann ich alles einstellen/einsehen.
Tool zum Modbus-Verbindung auf PORT 502 // Slave 1 herstellen habe ich die Software Modbus-Poll genommen. Anbei meine Werte die sich eigentlich NICHT wirklich mit den Modbus-Listen hier in diesem Thread decken.

Ich habe
- Wärmepumpe Neura D14EuC - 14KW
- Keba AP420 NTouch Bedienpaneel
Meine Wärmepumpe heizt direkt in die Fussbodenheizung rein - ohne Puffer.
Was ich erreichen möchte:
Wärmepumpe nicht auf Automatik-Betrieb fahren sondern bei Bedarf über einen Modbus-schreibenden Wert ein/ausschalten. Wenn mir anhand meiner Daten evtl. jemand mitteilen könnte wie ich das Ding extern anfordern kann wäre mir sehr geholfen.Neura: gibts nimmer
M-TEC: Anfragen werden leider nicht beantwortet
Keba: sie sind kein Reseller? Ja die Daten übers AP420 haben wir schon. Ist auch schon ein altes Produkt und Auslaufmodell - aber wir geben sie trotzdem nicht raus...da könnte ja jeder kommen...Danke
@alexander-sontinger habs herausgefunden, ich schreibe einfach über Adresse 1500 den Betriebsmodus von 2 (Automatik) auf 0 (Standby) - und dass über mein Smart Home-System
mfg
-
Hallo, ich habe seit ca 1 Jahr eine M-Tec WPLK618 in Betrieb mit PV. Die PV Überschuss-Regelung sollte über einen zusätzlichen Zähler, der S0-Impuls übermittelt funktionieren. Dies tut es aber nicht. Die Platine des IM110 wurde schon getauscht und auch der S0-Impuls Zähler. Die Einstellung auch schon oft geändert. Aber es wird nichts angezeigt, geregelt.
Vor der WP hatte ich bereits den Puffer und diesen mit 9kW Heizstab mit PV-Überschuss (Homematic Script) betrieben. Dies habe ich weiterhin. Letztes Jahr habe ich die WP dann manuell bei Überschuss die Soll-Temp des WW und des Puffers erhöht und wenn ich es nicht vergessen habe wieder runtergeregelt. Nun habe ich seit ein paar Wochen mit Hilfe des ModBus TCP Interface eine einfache Möglichkeit die ModBus Register der WP/KEBA Steuerung zu ändern und ändere nun einfach die Soll-Temp bei PV Überschuss und erhöhe die Temp des FußbodenHeizkreises. Dies funktioniert soweit.
Nun möchte ich aber auch die PV Überschuss Regelung der Keba Steuerung nutzen, da die ja (hoffentlich) auch Drehzahl/Leistung an den PV-Überschuss anpasst.
Ich habe den PV-Überschuss/Zähler: "Module Type" auf "virtual" gestellt.Nun mein Fragen:
-wie oft (in welchen Abständen) muss ich den PV Überschuss in das Register 1000 schreiben?
Ich teste gerade, aber ich erkenne derzeit kein Auswirkungen in der Anzeige noch in der Regelung. Sehe ich in den PV Panels etwas dazu?-kann ich auch die externe Wärmequelle ansteuern über den Modbus?
Ich erkenne auch nicht wie die ext Wärmequelle zu regeln ist. Wenn ich diese auf "Ein" setze, dann schaltet die sofort ein, sobald Wärmeanforderung vorhandne ist, unhabängig, wass ich in Startkriterien, Vorlauf setze.
Kann mir hier ein Licht ins Dunkel bringen.
Leider finde ich keine "Service" Doku zur KebaMeine Anlage: PV 20 kWp (ca 15 14 kWp Süd, der Rest Ost/West od beschattet), 1000 l Schichtenspeicher, 3x3 kW Heizstab - Regelung über Script in der Homematic PV Überschuss, alte GasBrennwert noch vorhanden (lasse ich bei hoher Luftfeuchte über 92% und unter 1°C und bei unter -6°C laufen; schaltet Homematic automatisch dazu)
-
Hallo, ich habe seit ca 1 Jahr eine M-Tec WPLK618 in Betrieb mit PV. Die PV Überschuss-Regelung sollte über einen zusätzlichen Zähler, der S0-Impuls übermittelt funktionieren. Dies tut es aber nicht. Die Platine des IM110 wurde schon getauscht und auch der S0-Impuls Zähler. Die Einstellung auch schon oft geändert. Aber es wird nichts angezeigt, geregelt.
Vor der WP hatte ich bereits den Puffer und diesen mit 9kW Heizstab mit PV-Überschuss (Homematic Script) betrieben. Dies habe ich weiterhin. Letztes Jahr habe ich die WP dann manuell bei Überschuss die Soll-Temp des WW und des Puffers erhöht und wenn ich es nicht vergessen habe wieder runtergeregelt. Nun habe ich seit ein paar Wochen mit Hilfe des ModBus TCP Interface eine einfache Möglichkeit die ModBus Register der WP/KEBA Steuerung zu ändern und ändere nun einfach die Soll-Temp bei PV Überschuss und erhöhe die Temp des FußbodenHeizkreises. Dies funktioniert soweit.
Nun möchte ich aber auch die PV Überschuss Regelung der Keba Steuerung nutzen, da die ja (hoffentlich) auch Drehzahl/Leistung an den PV-Überschuss anpasst.
Ich habe den PV-Überschuss/Zähler: "Module Type" auf "virtual" gestellt.Nun mein Fragen:
-wie oft (in welchen Abständen) muss ich den PV Überschuss in das Register 1000 schreiben?
Ich teste gerade, aber ich erkenne derzeit kein Auswirkungen in der Anzeige noch in der Regelung. Sehe ich in den PV Panels etwas dazu?-kann ich auch die externe Wärmequelle ansteuern über den Modbus?
Ich erkenne auch nicht wie die ext Wärmequelle zu regeln ist. Wenn ich diese auf "Ein" setze, dann schaltet die sofort ein, sobald Wärmeanforderung vorhandne ist, unhabängig, wass ich in Startkriterien, Vorlauf setze.
Kann mir hier ein Licht ins Dunkel bringen.
Leider finde ich keine "Service" Doku zur KebaMeine Anlage: PV 20 kWp (ca 15 14 kWp Süd, der Rest Ost/West od beschattet), 1000 l Schichtenspeicher, 3x3 kW Heizstab - Regelung über Script in der Homematic PV Überschuss, alte GasBrennwert noch vorhanden (lasse ich bei hoher Luftfeuchte über 92% und unter 1°C und bei unter -6°C laufen; schaltet Homematic automatisch dazu)
@sepp-1 said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
-wie oft (in welchen Abständen) muss ich den PV Überschuss in das Register 1000 schreiben?
Ich teste gerade, aber ich erkenne derzeit kein Auswirkungen in der Anzeige noch in der Regelung. Sehe ich in den PV Panels etwas dazu?Ich schreibe via Modbus alle 5s in's Register 1000, das sieht dann so aus im Interface:

-kann ich auch die externe Wärmequelle ansteuern über den Modbus?
Ich erkenne auch nicht wie die ext Wärmequelle zu regeln ist. Wenn ich diese auf "Ein" setze, dann schaltet die sofort ein, sobald Wärmeanforderung vorhandne ist, unhabängig, wass ich in Startkriterien, Vorlauf setze.Kann ich so nicht 100% sagen da ich das nicht verwende, ich schalte die "externe Wärmequelle" - also den Heizstab - manuell via Relaiskarte da ich die Keba Steuerung doof finde: die ist ja fix auf einen bestimmten Temperaturschwellwert eingestellt. Ich schalte den Heizstab allerdings so, dass er bei niederen Temperaturen der WP mithilft, möglichst rasch auf Soll-VL zu kommen nach einem Abtauvorgang oder EW-Sperre. Dann wird der Heizstab wieder deaktiviert. Wenn du eine PV Steuerung via Keba möchtest würde ich PV -> Paramter -> Ext. Wärmequelle anschauen.
Generell zu PV: die Steuerung funktioniert meiner Meinung nach recht gut, viele Tipps und so findest du weiter oben im Thread, sonst fragen.
-
@sepp-1 sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Hallo, ich habe seit ca 1 Jahr eine M-Tec WPLK618 in Betrieb mit PV. Die PV Überschuss-Regelung sollte über einen zusätzlichen Zähler, der S0-Impuls übermittelt funktionieren. Dies tut es aber nicht.
Mhmm. Gemäß deinem Screenshot hast du einen Überschuss von 0.39kW. Prüfe bitte, ob dein M-TEC Überschusszähler bei einer erzeugten Last, z.B. ein Wasserkocher, nach unten geht. Falls nicht, sind die Stromwander an der "falschen" Stelle angeschlossen. Die Ges. Energie von 4017 kWh ist ein Indiz, dass der Zähler nicht den Überschuss erfasst.
Auch bei mir mussten die Stromwandler an der richtigen Position platziert werden, da der Wasserkochertest den Überschuss nicht minderte.
Deine Einschaltschwelle und Aktivierungsintervall sind zu gering. Bei einem COP von 3 dürfte die WP ~ @30% RPM ~ 1.x kW ziehen Meine 412er W-W WP zieht ~ 1 kW. Je nach dem wie hoch der Überschuss ist, fährt die WP bis zur Leistungsgrenze max. RPM, sinkt der Überschuss dann sinkt die Drehzahl. Funktioniert deine Leistungsregelung?Der M-TEC Modbus Zähler pollt im ms Bereich, das schreiben auf das Register wird immer nur der 2te Sieger sein.
Die PV Überschussregelung funktioniert bei mir "out of the box" mit diesen Parametern.

-
@sepp-1 said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
-wie oft (in welchen Abständen) muss ich den PV Überschuss in das Register 1000 schreiben?
Ich teste gerade, aber ich erkenne derzeit kein Auswirkungen in der Anzeige noch in der Regelung. Sehe ich in den PV Panels etwas dazu?Ich schreibe via Modbus alle 5s in's Register 1000, das sieht dann so aus im Interface:

-kann ich auch die externe Wärmequelle ansteuern über den Modbus?
Ich erkenne auch nicht wie die ext Wärmequelle zu regeln ist. Wenn ich diese auf "Ein" setze, dann schaltet die sofort ein, sobald Wärmeanforderung vorhandne ist, unhabängig, wass ich in Startkriterien, Vorlauf setze.Kann ich so nicht 100% sagen da ich das nicht verwende, ich schalte die "externe Wärmequelle" - also den Heizstab - manuell via Relaiskarte da ich die Keba Steuerung doof finde: die ist ja fix auf einen bestimmten Temperaturschwellwert eingestellt. Ich schalte den Heizstab allerdings so, dass er bei niederen Temperaturen der WP mithilft, möglichst rasch auf Soll-VL zu kommen nach einem Abtauvorgang oder EW-Sperre. Dann wird der Heizstab wieder deaktiviert. Wenn du eine PV Steuerung via Keba möchtest würde ich PV -> Paramter -> Ext. Wärmequelle anschauen.
Generell zu PV: die Steuerung funktioniert meiner Meinung nach recht gut, viele Tipps und so findest du weiter oben im Thread, sonst fragen.
-
@sepp-1 sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Hallo, ich habe seit ca 1 Jahr eine M-Tec WPLK618 in Betrieb mit PV. Die PV Überschuss-Regelung sollte über einen zusätzlichen Zähler, der S0-Impuls übermittelt funktionieren. Dies tut es aber nicht.
Mhmm. Gemäß deinem Screenshot hast du einen Überschuss von 0.39kW. Prüfe bitte, ob dein M-TEC Überschusszähler bei einer erzeugten Last, z.B. ein Wasserkocher, nach unten geht. Falls nicht, sind die Stromwander an der "falschen" Stelle angeschlossen. Die Ges. Energie von 4017 kWh ist ein Indiz, dass der Zähler nicht den Überschuss erfasst.
Auch bei mir mussten die Stromwandler an der richtigen Position platziert werden, da der Wasserkochertest den Überschuss nicht minderte.
Deine Einschaltschwelle und Aktivierungsintervall sind zu gering. Bei einem COP von 3 dürfte die WP ~ @30% RPM ~ 1.x kW ziehen Meine 412er W-W WP zieht ~ 1 kW. Je nach dem wie hoch der Überschuss ist, fährt die WP bis zur Leistungsgrenze max. RPM, sinkt der Überschuss dann sinkt die Drehzahl. Funktioniert deine Leistungsregelung?Der M-TEC Modbus Zähler pollt im ms Bereich, das schreiben auf das Register wird immer nur der 2te Sieger sein.
Die PV Überschussregelung funktioniert bei mir "out of the box" mit diesen Parametern.

-
@antfab Danke! Wie sieht deine Variablen dazu aus? Egal was ich dort einstelle, bei mir kommt nichts an, weder per S0-Impuls vom Zähler, noch über den Modbus.

@Kieferer ÜS-Regelung funktioniert tiptop, die WP hat bereits ein paar Jahre auf dem Buckel, daher die 4017kWh. Ich habe keinen M-Tec Zähler oder so sondern steure das alles nur via Modbus, was die M-Tec Steuerung für Werte ausrechnet ist mir herzlich egal, die Summe stimmt :-) Und Aktivierungsintervall und Einschaltschwelle sind bewusst sehr tief gewählt (siehe oben).
@sepp-1 bei mir steht dort folgendes:

-
Ich habe eine neuere Modbus Register Beschreibung gefunden: https://library.loxone.com/detail/m-tec-heat-pump-93/overview bzw direkt hier der Download https://api.library.loxone.com/downloader/file/1850/Modbusdatapoints.xls
-
Hallo, ich habe seit ca 1 Jahr eine M-Tec WPLK618 in Betrieb mit PV. Die PV Überschuss-Regelung sollte über einen zusätzlichen Zähler, der S0-Impuls übermittelt funktionieren. Dies tut es aber nicht. Die Platine des IM110 wurde schon getauscht und auch der S0-Impuls Zähler. Die Einstellung auch schon oft geändert. Aber es wird nichts angezeigt, geregelt.
Vor der WP hatte ich bereits den Puffer und diesen mit 9kW Heizstab mit PV-Überschuss (Homematic Script) betrieben. Dies habe ich weiterhin. Letztes Jahr habe ich die WP dann manuell bei Überschuss die Soll-Temp des WW und des Puffers erhöht und wenn ich es nicht vergessen habe wieder runtergeregelt. Nun habe ich seit ein paar Wochen mit Hilfe des ModBus TCP Interface eine einfache Möglichkeit die ModBus Register der WP/KEBA Steuerung zu ändern und ändere nun einfach die Soll-Temp bei PV Überschuss und erhöhe die Temp des FußbodenHeizkreises. Dies funktioniert soweit.
Nun möchte ich aber auch die PV Überschuss Regelung der Keba Steuerung nutzen, da die ja (hoffentlich) auch Drehzahl/Leistung an den PV-Überschuss anpasst.
Ich habe den PV-Überschuss/Zähler: "Module Type" auf "virtual" gestellt.Nun mein Fragen:
-wie oft (in welchen Abständen) muss ich den PV Überschuss in das Register 1000 schreiben?
Ich teste gerade, aber ich erkenne derzeit kein Auswirkungen in der Anzeige noch in der Regelung. Sehe ich in den PV Panels etwas dazu?-kann ich auch die externe Wärmequelle ansteuern über den Modbus?
Ich erkenne auch nicht wie die ext Wärmequelle zu regeln ist. Wenn ich diese auf "Ein" setze, dann schaltet die sofort ein, sobald Wärmeanforderung vorhandne ist, unhabängig, wass ich in Startkriterien, Vorlauf setze.
Kann mir hier ein Licht ins Dunkel bringen.
Leider finde ich keine "Service" Doku zur KebaMeine Anlage: PV 20 kWp (ca 15 14 kWp Süd, der Rest Ost/West od beschattet), 1000 l Schichtenspeicher, 3x3 kW Heizstab - Regelung über Script in der Homematic PV Überschuss, alte GasBrennwert noch vorhanden (lasse ich bei hoher Luftfeuchte über 92% und unter 1°C und bei unter -6°C laufen; schaltet Homematic automatisch dazu)
@sepp-1 ich hatte eine neue Platine bekommen und trotzdem wurde keine PV-Überschussmittels via SO-Impuls übermittelt. Nun hatte ich mal Zeit und habe die Inbetriebnahmeassistent durchlaufen. Danach wurde der PV Überschuss angezeigt und die PV Regelung arbeitet entsprechend. Die Einstellung des Modul Typ ist eigentlich egal. Es zeigt bei "Virtual" und bei "not used" die Werte an. Bin grad noch am Testen mit Filterzeitkonstante. Hatte vor default 90s, da kam aber gelegentlich bis oft falsche Werte raus. Habe jetzt mal 10s und dies sieht bisher gut aus.
Nun wollte ich dies noch weiter verbessern, da ich mehrere PV Überschuss Optionen inkls Akku-Ladung habe und im Sommerhalbjahr auch einspeise. Deshalb will ich per Homematic script/Befehl
system.Exec("tclsh /usr/local/addons/modbus/modbus_interface.tcl 192.168.16.xxx 502 247 06 1000 3000",&lGetOut,&lGetErr);
den Überschuss in das Register 1000 schreiben.
Grundsätzlich funktioniert das Homematic Script sehr gut. Ich kann Temperaturen von Heizkreisen und Stütztemperaturen etc. damit gut verändern. Nur das Schreiben in das Register 1000 erzeugt kein PV-Überschuss Aktion. Ich habe schon probiert dies alle 5sec , alle 2 sec zu schreiben. Die Einstellung habe ich auf "Virtual" gestellt und ich habe auch nochmals ein Installtionsroutine durchlaufen und ich habe auch den SO-Zähler wieder abgeklemmt. Alles kein Erfolg. Bzgl ModBus Script. Ich hab schon mit Device ID 255, 247 und 1 probiert...alles keine Änderung. Wenn ich in den Variablen Monitor schaue, sehe ich das Register 1000 mit dem von mir gesetzten Wert....? Jemand noch einen Tip? -
@sepp-1 ich hatte eine neue Platine bekommen und trotzdem wurde keine PV-Überschussmittels via SO-Impuls übermittelt. Nun hatte ich mal Zeit und habe die Inbetriebnahmeassistent durchlaufen. Danach wurde der PV Überschuss angezeigt und die PV Regelung arbeitet entsprechend. Die Einstellung des Modul Typ ist eigentlich egal. Es zeigt bei "Virtual" und bei "not used" die Werte an. Bin grad noch am Testen mit Filterzeitkonstante. Hatte vor default 90s, da kam aber gelegentlich bis oft falsche Werte raus. Habe jetzt mal 10s und dies sieht bisher gut aus.
Nun wollte ich dies noch weiter verbessern, da ich mehrere PV Überschuss Optionen inkls Akku-Ladung habe und im Sommerhalbjahr auch einspeise. Deshalb will ich per Homematic script/Befehl
system.Exec("tclsh /usr/local/addons/modbus/modbus_interface.tcl 192.168.16.xxx 502 247 06 1000 3000",&lGetOut,&lGetErr);
den Überschuss in das Register 1000 schreiben.
Grundsätzlich funktioniert das Homematic Script sehr gut. Ich kann Temperaturen von Heizkreisen und Stütztemperaturen etc. damit gut verändern. Nur das Schreiben in das Register 1000 erzeugt kein PV-Überschuss Aktion. Ich habe schon probiert dies alle 5sec , alle 2 sec zu schreiben. Die Einstellung habe ich auf "Virtual" gestellt und ich habe auch nochmals ein Installtionsroutine durchlaufen und ich habe auch den SO-Zähler wieder abgeklemmt. Alles kein Erfolg. Bzgl ModBus Script. Ich hab schon mit Device ID 255, 247 und 1 probiert...alles keine Änderung. Wenn ich in den Variablen Monitor schaue, sehe ich das Register 1000 mit dem von mir gesetzten Wert....? Jemand noch einen Tip?@sepp-1 said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Nun wollte ich dies noch weiter verbessern, da ich mehrere PV Überschuss Optionen inkls Akku-Ladung habe und im Sommerhalbjahr auch einspeise. Deshalb will ich per Homematic script/Befehl
system.Exec("tclsh /usr/local/addons/modbus/modbus_interface.tcl 192.168.16.xxx 502 247 06 1000 3000",&lGetOut,&lGetErr);
den Überschuss in das Register 1000 schreiben.
Grundsätzlich funktioniert das Homematic Script sehr gut. Ich kann Temperaturen von Heizkreisen und Stütztemperaturen etc. damit gut verändern. Nur das Schreiben in das Register 1000 erzeugt kein PV-Überschuss Aktion. Ich habe schon probiert dies alle 5sec , alle 2 sec zu schreiben. Die Einstellung habe ich auf "Virtual" gestellt und ich habe auch nochmals ein Installtionsroutine durchlaufen und ich habe auch den SO-Zähler wieder abgeklemmt. Alles kein Erfolg. Bzgl ModBus Script. Ich hab schon mit Device ID 255, 247 und 1 probiert...alles keine Änderung. Wenn ich in den Variablen Monitor schaue, sehe ich das Register 1000 mit dem von mir gesetzten Wert....? Jemand noch einen Tip?Was schreibst du denn für Werte? Ganzzahl? Und was wird dir in der Keba Steuerung angezeigt (also nicht im Variablenmonitor sondern im PV Menu)?
-
@antfab Hallo, hatte mal wieder Zeit und die WP gebootet und auch den Inbetriebnahmeassistent durchgeführt und vorher bzw. dabei den Modul Typ auf Virtual gesetzt. Und ich habe den WMZ Modus auf "Analog" gesezt. Denke dies war die wichtige Einstellung, ob die WP nun den S0-Impuls ("Impuls") und den Wert vom Register 1000 nehmen soll.
Nun kann ich von meiner Homematic den entsprechenden PV-Überschuss Wert setzen und dabei mein PV-Überschussregelung optimieren - für Akku-Ladung, zusätzlicher Heizstab, kleines E-Auto. Vorher möchte ich aber noch die PV-Prognose für den aktuellen Tag und des nächsten Tages mit einbauen. -
Hab hier im Beitrag mal einige Informationen gesammelt und mich mit ChatGPT mal um ein aktuelles Skript gekümmert. Vielen Dank für die Vorarbeit. Es hat jetzt auch schreibbare Datenpunkte für Normal und Absenktemperatur, Boiler Soll&Stütztemp, sowie Boiler Betriebsart erzeugt. Außerdem mit der Möglichkeit, für einen lokalen login. Einfach host, username und password ändern im ersten Abschnitt "Konfiguration"
/** * Script für Mtec / Hautec / Keba Wärmepumpe * Verwendet AXIOS statt request */ const axios = require('axios'); // ==== KONFIGURATION ==== const heizung_host = '192.168.xxx.xxx'; const username = 'BENUTZERNAME'; const password = 'PASSWORT'; // Konstanten const urlOfHeatpump = 'https://' + heizung_host + '/var/readWriteVars'; const urlWriteHeatpump = 'https://' + heizung_host + '/var/readWriteVars?action=set'; // Variablen die wir lesen wollen const jsonRequest = [ // bereits vorhandene { "name": "APPL.CtrlAppl.sParam.param.setControlMode" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].tempRoom.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].topTemp.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.outdoorTemp.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].values.setValue" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].param.offsetRoomTemp" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].values.selectedSetTemp" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].values.heatRequest" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].values.coolRequest" }, { "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].values.heatRequestTop" }, { "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].param.normalSetTempMax.value" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].tempReflux.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].values.flowSetTemp" }, { "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].param.operatingMode" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].param.normalSetTemp" }, { "name": "APPL.CtrlAppl.sParam.heatCircuit[0].param.reducedSetTemp" }, { "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].param.reducedSetTempMax.value" }, // Quelle / WP-Temperaturen (Namen je nach Firmware, hier typische KEBA-Namen) { "name": "APPL.CtrlAppl.sParam.heatpump[0].TempSourceIn.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.heatpump[0].TempSourceOut.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.heatpump[0].TempHeatFlow.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.heatpump[0].TempCompressorIn.values.actValue" }, { "name": "APPL.CtrlAppl.sParam.heatpump[0].TempCompressorOut.values.actValue" }, // Pumpen- / Verdichter-Leistungen (skaliert, z.B. 0..1) { "name": "APPL.CtrlAppl.sParam.heatpump[0].CircPump.values.setValueScaled" }, { "name": "APPL.CtrlAppl.sParam.heatpump[0].Source.values.setValueScaled" }, { "name": "APPL.CtrlAppl.sParam.heatpump[0].Compressor.values.setValueScaled" }, // WP-Zustand { "name": "APPL.CtrlAppl.sParam.heatpump[0].values.heatpumpState" }, // Estrichprogramm aktiv? { "name": "APPL.CtrlAppl.sParam.screedDrying.values.active" }, // PV-Überschuss aktiv? { "name": "APPL.CtrlAppl.sParam.photovoltaics.values.excessEnergyActive" } ]; // ==== STATES ANLEGEN ==== // Allgemeine Temperaturen createState('javascript.'+instance+'.Heizung.Aussentemperatur', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.Boilertemperatur.ist', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.Boilertemperatur.soll', 0, { type: 'number', role: 'level.temperature', unit: '°C', read: true, write: true }); createState('javascript.'+instance+'.Heizung.Boilertemperatur.reducedSoll', 0, { type: 'number', role: 'level.temperature', unit: '°C', read: true, write: true }); // Heizkreis-Ordner (wie gewünscht) createState('javascript.'+instance+'.Heizung.Heizkreis.Raumtemperatur.soll', 0, { type: 'number', role: 'level.temperature', unit: '°C', read: true, write: true }); createState('javascript.'+instance+'.Heizung.Heizkreis.Heizung.aufheizen', false, { type: 'boolean', role: 'indicator', read: true, write: false }); createState('javascript.'+instance+'.Heizung.Heizkreis.NormalTemp.soll', 0, { type: 'number', role: 'level.temperature', unit: '°C', read: true, write: true }); createState('javascript.'+instance+'.Heizung.Heizkreis.ReducedTemp.soll', 0, { type: 'number', role: 'level.temperature', unit: '°C', read: true, write: true }); // Rücklauf createState('javascript.'+instance+'.Heizung.RuecklaufTemp.ist', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.RuecklaufTemp.soll', 0, { type: 'number', role: 'level.temperature', unit: '°C', read: true, write: false }); // Boiler-Betriebsart createState('javascript.'+instance+'.Heizung.Boiler.aufheizen', false, { type: 'boolean', role: 'indicator', read: true, write: false }); createState('javascript.'+instance+'.Heizung.Boiler.Betriebsart', 0, { type: 'number', role: 'level', states: { "0": "Aus", "1": "Auto", "2": "Ein", "3": "ManAufheizen" }, read: true, write: true }); // Quelle / WP / Pumpen / Status createState('javascript.'+instance+'.Heizung.QuelleTemp.Ein', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.QuelleTemp.Aus', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.Heizkreis.VorlaufTemp.ist', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.WP.VerdichterTemp.Ein', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.WP.VerdichterTemp.Aus', 0, { type: 'number', role: 'value.temperature', unit: '°C', read: true, write: false }); createState('javascript.'+instance+'.Heizung.Pumpe.Heizkreis.Soll', 0, { type: 'number', role: 'value', unit: '', read: true, write: false }); createState('javascript.'+instance+'.Heizung.Pumpe.Quelle.Soll', 0, { type: 'number', role: 'value', unit: '', read: true, write: false }); createState('javascript.'+instance+'.Heizung.WP.Verdichter.Soll', 0, { type: 'number', role: 'value', unit: '', read: true, write: false }); createState('javascript.'+instance+'.Heizung.WP.Status', 0, { type: 'number', role: 'value', read: true, write: false }); createState('javascript.'+instance+'.Heizung.WP.StatusText', '', { type: 'string', role: 'text', read: true, write: false }); // Estrichprogramm / PV createState('javascript.'+instance+'.Heizung.Estrichprogramm.aktiv', false, { type: 'boolean', role: 'indicator', read: true, write: false }); createState('javascript.'+instance+'.Heizung.PV.UeberschussAktiv', false, { type: 'boolean', role: 'indicator', read: true, write: false }); // Hilfsfunktion: WP-Statuscode in Text umwandeln (Beispiel-Mapping, je nach Doku anpassen) function mapHeatpumpStateToText(code) { switch (code) { case 0: return 'Standby'; case 1: return 'Anforderung'; case 2: return 'Heizen'; case 3: return 'Abtauen'; case 4: return 'Warmwasser'; case 5: return 'Fehler'; default: return 'Unbekannt (' + code + ')'; } } // ==== FUNKTION: Daten lesen ==== async function readHeatpump() { try { const response = await axios.post(urlOfHeatpump, jsonRequest, { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false // Selbstsigniertes KEBA-Zertifikat akzeptieren }), auth: { username: username, password: password }, headers: { 'Content-Type': 'application/json' } }); const data = {}; response.data.forEach(item => data[item.name] = item.value); // Allgemeine Temperaturen setState('javascript.'+instance+'.Heizung.Aussentemperatur', parseFloat(data["APPL.CtrlAppl.sParam.outdoorTemp.values.actValue"]) || 0, true); setState('javascript.'+instance+'.Heizung.Boilertemperatur.ist', parseFloat(data["APPL.CtrlAppl.sParam.hotWaterTank[0].topTemp.values.actValue"]) || 0, true); // Heizkreis-Soll (berechneter Sollwert der WP) setState('javascript.'+instance+'.Heizung.Heizkreis.Raumtemperatur.soll', parseFloat(data["APPL.CtrlAppl.sParam.heatCircuit[0].values.setValue"]) || 0, true); // Heizanforderung (Heizkreis) nur lesen setState('javascript.'+instance+'.Heizung.Heizkreis.Heizung.aufheizen', data["APPL.CtrlAppl.sParam.heatCircuit[0].values.heatRequest"] == "1", true); // Boiler aufheizen nur lesen const heatRequestTop = data["APPL.CtrlAppl.sParam.hotWaterTank[0].values.heatRequestTop"]; setState('javascript.'+instance+'.Heizung.Boiler.aufheizen', heatRequestTop === "true" || heatRequestTop === "1" || heatRequestTop === true, true); // Rücklauf setState('javascript.'+instance+'.Heizung.RuecklaufTemp.ist', parseFloat(data["APPL.CtrlAppl.sParam.heatCircuit[0].tempReflux.values.actValue"]) || 0, true); setState('javascript.'+instance+'.Heizung.RuecklaufTemp.soll', parseFloat(data["APPL.CtrlAppl.sParam.heatCircuit[0].values.flowSetTemp"]) || 0, true); // Boiler-Betriebsart setState('javascript.'+instance+'.Heizung.Boiler.Betriebsart', parseInt(data["APPL.CtrlAppl.sParam.hotWaterTank[0].param.operatingMode"]) || 0, true); // Normal- und Absenktemperatur (Heizkreis) setState('javascript.'+instance+'.Heizung.Heizkreis.NormalTemp.soll', parseFloat(data["APPL.CtrlAppl.sParam.heatCircuit[0].param.normalSetTemp"]) || 0, true); setState('javascript.'+instance+'.Heizung.Heizkreis.ReducedTemp.soll', parseFloat(data["APPL.CtrlAppl.sParam.heatCircuit[0].param.reducedSetTemp"]) || 0, true); // Boiler Soll-Temperaturen setState('javascript.'+instance+'.Heizung.Boilertemperatur.reducedSoll', parseFloat(data["APPL.CtrlAppl.sParam.hotWaterTank[0].param.reducedSetTempMax.value"]) || 0, true); setState('javascript.'+instance+'.Heizung.Boilertemperatur.soll', parseFloat(data["APPL.CtrlAppl.sParam.hotWaterTank[0].param.normalSetTempMax.value"]) || 0, true); // === neue Datenpunkte setzen === // Quelle / WP Temperaturen setState('javascript.'+instance+'.Heizung.QuelleTemp.Ein', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].TempSourceIn.values.actValue"]) || 0, true); setState('javascript.'+instance+'.Heizung.QuelleTemp.Aus', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].TempSourceOut.values.actValue"]) || 0, true); setState('javascript.'+instance+'.Heizung.Heizkreis.VorlaufTemp.ist', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].TempHeatFlow.values.actValue"]) || 0, true); setState('javascript.'+instance+'.Heizung.WP.VerdichterTemp.Ein', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].TempCompressorIn.values.actValue"]) || 0, true); setState('javascript.'+instance+'.Heizung.WP.VerdichterTemp.Aus', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].TempCompressorOut.values.actValue"]) || 0, true); // Pumpen-/Verdichter-Sollwerte (skaliert) setState('javascript.'+instance+'.Heizung.Pumpe.Heizkreis.Soll', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].CircPump.values.setValueScaled"]) || 0, true); setState('javascript.'+instance+'.Heizung.Pumpe.Quelle.Soll', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].Source.values.setValueScaled"]) || 0, true); setState('javascript.'+instance+'.Heizung.WP.Verdichter.Soll', parseFloat(data["APPL.CtrlAppl.sParam.heatpump[0].Compressor.values.setValueScaled"]) || 0, true); // WP-Status const hpState = parseInt(data["APPL.CtrlAppl.sParam.heatpump[0].values.heatpumpState"]) || 0; setState('javascript.'+instance+'.Heizung.WP.Status', hpState, true); setState('javascript.'+instance+'.Heizung.WP.StatusText', mapHeatpumpStateToText(hpState), true); // Estrichprogramm setState('javascript.'+instance+'.Heizung.Estrichprogramm.aktiv', data["APPL.CtrlAppl.sParam.screedDrying.values.active"] == "true", true); // PV-Überschuss aktiv? setState('javascript.'+instance+'.Heizung.PV.UeberschussAktiv', data["APPL.CtrlAppl.sParam.photovoltaics.values.excessEnergyActive"] == "true", true); } catch (err) { log("Fehler beim Lesen der Wärmepumpe: " + err, 'error'); } } // ==== INTERVALL: alle 1 Minute lesen ==== schedule("* * * * *", readHeatpump); // ==== SCHREIBEN: Boiler-Betriebsart ==== on('javascript.'+instance+'.Heizung.Boiler.Betriebsart', async function (obj) { if (!obj || obj.state.ack) return; const newValue = String(obj.state.val); try { await axios.post(urlWriteHeatpump, [{ "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].param.operatingMode", "value": newValue }], { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }), auth: { username: username, password: password }, headers: { 'Content-Type': 'application/json' } }); log("Betriebsart erfolgreich gesetzt auf: " + newValue); } catch (err) { log("Fehler beim Schreiben der Betriebsart: " + err, 'error'); } }); // ==== SCHREIBEN: Boilertemperaturen ==== on('javascript.'+instance+'.Heizung.Boilertemperatur.soll', async function (obj) { if (!obj || obj.state.ack) return; const newValue = String(obj.state.val); log("Heizung: schreibe Boilertemperatur.soll = " + newValue, 'info'); try { await axios.post(urlWriteHeatpump, [{ "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].param.normalSetTempMax.value", "value": newValue }], { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }), auth: { username: username, password: password }, headers: { 'Content-Type': 'application/json' } }); log("Boilertemperatur.soll erfolgreich gesetzt auf: " + newValue, 'info'); } catch (err) { log("Fehler beim Schreiben Boilertemperatur.soll: " + err, 'error'); } }); on('javascript.'+instance+'.Heizung.Boilertemperatur.reducedSoll', async function (obj) { if (!obj || obj.state.ack) return; const newValue = String(obj.state.val); log("Heizung: schreibe Boilertemperatur.reducedSoll = " + newValue, 'info'); try { await axios.post(urlWriteHeatpump, [{ "name": "APPL.CtrlAppl.sParam.hotWaterTank[0].param.reducedSetTempMax.value", "value": newValue }], { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }), auth: { username: username, password: password }, headers: { 'Content-Type': 'application/json' } }); log("Boilertemperatur.reducedSoll erfolgreich gesetzt auf: " + newValue, 'info'); } catch (err) { log("Fehler beim Schreiben reducedSetTempMax.value: " + err, 'error'); } }); // ==== SCHREIBEN: Normal- und Absenktemperatur Heizkreis ==== on('javascript.'+instance+'.Heizung.Heizkreis.NormalTemp.soll', async function (obj) { if (!obj || obj.state.ack) return; const newValue = String(obj.state.val); log("Schreibe Normal-Temperatur (Heizkreis) = " + newValue, 'info'); try { await axios.post(urlWriteHeatpump, [{ "name": "APPL.CtrlAppl.sParam.heatCircuit[0].param.normalSetTemp", "value": newValue }], { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }), auth: { username: username, password: password }, headers: { 'Content-Type': 'application/json' } }); log("NormalTemp erfolgreich gesetzt.", 'info'); } catch (err) { log("Fehler beim Schreiben NormalTemp: " + err, 'error'); } }); on('javascript.'+instance+'.Heizung.Heizkreis.ReducedTemp.soll', async function (obj) { if (!obj || obj.state.ack) return; const newValue = String(obj.state.val); log("Schreibe Reduzierte Temperatur (Heizkreis) = " + newValue, 'info'); try { await axios.post(urlWriteHeatpump, [{ "name": "APPL.CtrlAppl.sParam.heatCircuit[0].param.reducedSetTemp", "value": newValue }], { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }), auth: { username: username, password: password }, headers: { 'Content-Type': 'application/json' } }); log("ReducedTemp erfolgreich gesetzt.", 'info'); } catch (err) { log("Fehler beim Schreiben ReducedTemp: " + err, 'error'); } }); -
Hallo zusammen,
ich habe eine M-Tec WLPK412 Luft Wärmepumpe. Diese ist seit Herbst 2023 installiert.
Ebenfalls habe ich eine 14,6 kWp PV Anlage mit ca 15kWh Speicher - der Speicher ist von M-Tec (4x Energy-Butler Module)Leider funktioniert noch nicht alles wie ich mir das vorstelle:
- Die WP zeigt wiederholt Fehlermeldungen, wie "Frequenzumrichter defekt" und "Ventilatorstörung" und "Kompressorkennlinie". Im Prinzip arbeitet die WP, Wasser ist warm, die Fehler bereiten mir aber Bauchschmerzen und ich befürchte, dass hier bereits irgendwo ein kleiner Defekt ist (z.B. Hauptplatine, wo beides angeschlossen ist?) der irgendwann sehr teuer werden kann. Die Fehler sind bereits kurz nach Inbetriebnahme aufgetaucht, habe ich festgestellt wenn man den Fehlerspeicher zurückverfolgt.
Hat jemand ähnliche Fehlermeldungen? Kann man die irgendwie beheben oder sind dafür tiefere Diagnosen/ Eingriffe notwendig? Oder kann man anhand der Fehler bereits sagen, wo der Defekt ist?
Auch gibt es haufenweise Fehlereinträge mit "no value set" Das werden wohl fehlerhafte Einstellungen sein?2a) Ich habe eine PV Anlage im April 2025 bekommen. Diese wurde auch in der M-Tec Steuerung eingepflegt, aber diese ist kein einziges Mal mit PV-Überschuss gelaufen. Auch nicht über den Sommer, wo es wirklich perfekte wolkenlose PV Tage gegeben hat.
Welche Einstellungen sollten hier drin sein? Habe meine hier mal als Bilder angehängt.2b) Zusätzlich habe ich zwei Zusatzheizungen. Eine 9kW mir Vor- und Rücklauf sowie ein 6kW Heizstab im Boiler.
Geplant war, dass PV Überschuss den 6kW Heizstab "befeuert" und die 9kW Zusatzheizung als Notfallheizung (WP fällt aus oder Außentemperatur zu niedrig) fungiert.
Leider wurde die Konfiguration vom Installateur so gemacht, dass sie die Notfall-Funktion der 9kW Heizung deaktiviert haben und nun mit PV Überschuss betreiben und die 6kW Heizung nur als manuelle Notfallheizung genutzt werden kann, sonst aber ungenutzt bleibt. In der M-Tec eSmart App bleibt das Modul "Heizstab" deshalb auch immer bei 0 - wird ja nicht angesteuert.
Ist die geplante Konfiguration (9kW = Notfallheizung, 6kW Heizstab wird mir PV Überschuss betrieben) überhaupt möglich? Ich habe einen Fronius Ohmpilot der den PV-Überschuss managed.- Software-Updates vom AP440. Ich habe aktuell die 2.6.1 Gibt es da was aktuelleres? Kommt man an die SW Updates irgendwie ran oder kann das nur der Hersteller z.B. über Fernwartung machen?










-
Hallo Alexander, ich versuch mich mal an einer Antwort:
- Fehlermeldungen: definitiv nicht normal, würde ich dem Support melden.
2a) PV ist falsch konfiguriert denke ich, "Modul Type" sollte "Virtual" sein und "WMZ Modus" auf "Analog".
2b) Deine Konfiguration ist so glaub ich leider nicht umsetzbar, die M-Tec Steuerung kann nur 1 "Externe Wärmequelle", also Zusatzheizung. Das wäre dann Heizstab ODER Zusatzheizung. Ich finde auch dort die Konfigurationsmöglichkeiten sehr ungeschickt und steure Heizstab/Zusatzheizung komplett unabhängig von der M-Tec Steuerung mit meiner Smart Home Steuerung und Zusatzrelais (im Prinzip braucht mein Heizstab ein 24V Signal welches ihn aktiviert, das sende ich direkt über ein Modbus Relais falls das was für dich ist).
- Fehlermeldungen: definitiv nicht normal, würde ich dem Support melden.
-
Hi,
vielen Dank für deine Antwort.
- Diese habe ich dem Support mitgeteilt, der meinte ich soll mich an meinen Installateur wenden. Der macht aber nichts. Stehe also hier recht alleine da.
2a) Danke dir. Wie sind sonst die Einstellungen hinsichtlich Einschalt/ Ausschaltschwelle und Leistungsaufnahme?
2b) Oh ok. D.h. PV-Überschuss --> Fronius Ohmpilot --> 6kW Heizstab + 9kW Zusatzheizung (ohne PV) sondern nur als automatische Notfallheizung geht nicht? D.h. mein Installateur hat mir etwas zugesichert, was nicht möglich ist, weshalb es nun zwangsläufig anders konfiguriert ist, als vereinbart.
Puh, damit kenne ich mich noch gar nicht aus, interessiert wäre ich schon. Ich glaub ich nutze mal meinen Weihnachtsurlaub, um mich in das Thema Modbus und Smart Home einzulesen 8)
Weißt du zufällig, ob diese Notallheizfunktion (zu kalt oder WP Ausfall) durch die PV-Überschussregelung trotzdem aktiv sein kann oder reaktiviert werden kann? Der Installateur meinte, dass die Notfallheizung nicht mehr ist, sondern durch PV-Überschuss-Funktion ersetzt wurde. Macht das Betreiben von der 9kW Notfallheizung (Hat eine Vor- und Rücklauf, ist ja kein Heizstab) mit PV-Überschuss überhaupt technisch sinn?
Wie kann ist eigentlich testen, ob diese 9kW Zusatzheizung funktioniert? Also manuell und unabhängig davon welche Konfiguration gerade eingestellt ist. Ich habe nämlich auch das Gefühl, dass diese unabhängig der Konfiguration nicht funktioniert... (ist eine andere aber auch noch offene Baustelle)
Anbei auch mal die Einstellungen von "Externe Wärmequelle".
Vielen Dank.
Viele Grüße




- Diese habe ich dem Support mitgeteilt, der meinte ich soll mich an meinen Installateur wenden. Der macht aber nichts. Stehe also hier recht alleine da.
-
Hallo Alexander, ich versuch mich mal an einer Antwort:
- Fehlermeldungen: definitiv nicht normal, würde ich dem Support melden.
2a) PV ist falsch konfiguriert denke ich, "Modul Type" sollte "Virtual" sein und "WMZ Modus" auf "Analog".
2b) Deine Konfiguration ist so glaub ich leider nicht umsetzbar, die M-Tec Steuerung kann nur 1 "Externe Wärmequelle", also Zusatzheizung. Das wäre dann Heizstab ODER Zusatzheizung. Ich finde auch dort die Konfigurationsmöglichkeiten sehr ungeschickt und steure Heizstab/Zusatzheizung komplett unabhängig von der M-Tec Steuerung mit meiner Smart Home Steuerung und Zusatzrelais (im Prinzip braucht mein Heizstab ein 24V Signal welches ihn aktiviert, das sende ich direkt über ein Modbus Relais falls das was für dich ist).
@antfab sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Konfigurationsmöglichkeiten sehr ungeschickt und steure Heizstab/Zusatzheizung komplett unabhängig von der M-Tec Steuerung mit meiner Smart Home Steuerung und Zusatzrelais
Hallo,
ich lese euren Austausch recht interessiert mit und stimme dem völlig zu. Diese Hersteller versuchen leider nur eine halbherzige Gesamtsteuerung von WP, PV, Wallbox etc.
Meine Hausanlage sieht völlig anders aus, aber ich habe doch einige Erfahrungen mit Modbus und dem IOBroker gemacht. Wenn ich euch behilflich sein kann -- gerne!
Grüße aus dem Mühlviertel, Hans F.
- Fehlermeldungen: definitiv nicht normal, würde ich dem Support melden.
