NEWS
Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome
-
@manuel001 Bitte gern! Ich habe auch lang genug auf den Hersteller (Bartl) nervend eingewirkt, bis ich die Listen bekommen habe Die in der WP verbaute Steuerung ist eine KEBA KeEnergy. Die Oberfläche sieht exakt aus wie andere hier im Forum erwähnte Wärmepumpensteuerungen, nur dass eben rechts oben das Bartl-Logo steht. Hatte aufgrund dieser Tatsache erst bei KEBA versucht, die Liste zu bekommen (leider erfolglos, man spricht dort nicht mit Endkunden). Erst beim Hersteller konnte ich mich dann durchbeißen.
Habe gestern noch versucht, alle für mich interessant klingenden Register einzukonfigurieren. Auch bei mir funktionieren einige Register nicht (was ja nicht sein sollte), daher bin ich auf die Scriptlösung von weiter oben ausgewichen und habe die erweritert. Sieht nun wie folgt aus bei mir:
/** * This script reads data from a hautec heater Keba controller. * www.hautec.eu */ const request = require('request'); const heizung_host = '192.168.178.18'; const urlOfHeatpump = 'http://' + heizung_host + '/var/readWriteVars'; const jsondata = [{"name":"APPL.CtrlAppl.sParam.outdoorTemp.values.actValue"}]; // all values I want to receive const jsonRequest = [ {"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.heatCircuit[0].humidityRoom.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.outdoorTemp.state.msgId"}, {"name":"APPL.CtrlAppl.sParam.hotWaterTank[0].topTemp.state.msgId"}, {"name":"APPL.CtrlAppl.sParam.heatCircuit[0].humidityRoom.state.msgId"}, {"name":"APPL.CtrlAppl.sParam.heatCircuit[0].param.operatingMode"}, {"name":"APPL.CtrlAppl.sParam.heatCircuit[0].tempRoom.state.msgId"}, {"name":"APPL.CtrlAppl.sParam.screedDrying.values.active"}, {"name":"APPL.CtrlAppl.sParam.param.operatingMode"}, {"name":"APPL.CtrlAppl.sParam.hmiRetainData.ctrlSessionId"}, {"name":"APPL.CtrlAppl.sParam.hotWaterTank[0].param.normalSetTempMax.value"}, {"name": "APPL.CtrlAppl.sParam.hotWaterTank[0].values.heatRequestTop"}, {"name": "APPL.CtrlAppl.sParam.heatCircuit[0].tempReflux.values.actValue"}, {"name": "APPL.CtrlAppl.sParam.heatCircuit[0].values.flowSetTemp"}, {"name":"APPL.CtrlAppl.sParam.heatpump[0].TempSourceIn.values.actValue"}, {"name":"APPL.CtrlAppl.sParam.heatpump[0].TempSourceOut.values.actValue"}, {"name":"APPL.CtrlAppl.sParam.heatpump[0].values.heatpumpState","value":"0"} ]; const jsonAsString = JSON.stringify(jsonRequest); // create all the states in broker createState('javascript.'+instance+'.Heizung.Aussentemperatur', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.Boilertemperatur.ist', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.Boilertemperatur.soll', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.Raumtemperatur.ist', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.Raumtemperatur.soll', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.Boiler.aufheizen', 0, {type: 'boolean', role: 'value', unit: ''}); createState('javascript.'+instance+'.Heizung.Heizung.aufheizen', 0, {type: 'boolean', role: 'value', unit: ''}); createState('javascript.'+instance+'.Heizung.RuecklaufTemp.ist', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.RuecklaufTemp.soll', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.QuelleTempEingang', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.QuelleTempAusgang', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.WP-Status', 0, {type: 'boolean', role: 'value', unit: ''}); createState('javascript.'+instance+'.Heizung.WP-StatusText', 0, {type: 'string', role: 'value', unit: ''}); // every minute read the data from the heater and save it schedule("* * * * *", function() { request.post({ url: urlOfHeatpump, form: jsonAsString }, function(error, response, body) { if (error) log(error, 'error'); if (body) { //log(body); var responseBody = JSON.parse(body); setState('javascript.'+instance+'.Heizung.Aussentemperatur', parseFloat(responseBody[4].value), true); setState('javascript.'+instance+'.Heizung.Boilertemperatur.ist', parseFloat(responseBody[2].value), true); setState('javascript.'+instance+'.Heizung.Boilertemperatur.soll', parseFloat(responseBody[19].value), true); setState('javascript.'+instance+'.Heizung.Raumtemperatur.ist', parseFloat(responseBody[1].value), true); setState('javascript.'+instance+'.Heizung.Raumtemperatur.soll', parseFloat(responseBody[5].value), true); if (parseInt(responseBody[8].value) == 1) { setState('javascript.'+instance+'.Heizung.Heizung.aufheizen', true); } // if (parseInt(responseBody[8].value) == 2) { else { setState('javascript.'+instance+'.Heizung.Heizung.aufheizen', false); } setState('javascript.'+instance+'.Heizung.Boiler.aufheizen', JSON.parse(responseBody[20].value), true); setState('javascript.'+instance+'.Heizung.RuecklaufTemp.ist', parseFloat(responseBody[21].value), true); setState('javascript.'+instance+'.Heizung.RuecklaufTemp.soll', parseFloat(responseBody[22].value), true); setState('javascript.'+instance+'.Heizung.QuelleTempEingang', parseFloat(responseBody[23].value), true); setState('javascript.'+instance+'.Heizung.QuelleTempAusgang', parseFloat(responseBody[24].value), true); setState('javascript.'+instance+'.Heizung.WP-Status', parseFloat(responseBody[25].value), true); if (parseInt(responseBody[25].value) == 0) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Standby', true); } else if (parseInt(responseBody[25].value) == 1) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Vorlauf', true); } else if (parseInt(responseBody[25].value) == 2) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Heizbetrieb', true); } else if (parseInt(responseBody[25].value) == 3) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Abtaubetrieb', true); } else if (parseInt(responseBody[25].value) == 4) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Kühlbetrieb', true); } else if (parseInt(responseBody[25].value) == 5) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Nachlauf', true); } else if (parseInt(responseBody[25].value) == 7) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Sicherheitsabschaltung', true); } else if (parseInt(responseBody[25].value) == 8) { setState('javascript.'+instance+'.Heizung.WP-StatusText', 'Störung', true); } } }); });
Die gewonnenen Werte speichere ich in meiner InfluxDB und lasse sie in Grafana
sowie iQontrol
anzeigen. Vorsicht übrigens bei Zeile 79/80 im Script, das habe ich angepasst weil mir der Wert falsch vorkam. -
@peete sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
leider erfolglos, man spricht dort nicht mit Endkunden)
Das kann ich nur bestätigen. Diese Firma ist sogar bei mir um die Ecke. Ich habe mal eine Mail mit meiner Meinung nach gut aufbereiteten Verbesserungsvorschlägen dort hin gesendet, aber da ist überhaupt nichts zurück gekommen.
Offensichtlich kann mir M-TEC wirklich die zusätzlichen Modbusregister nicht zur Verfügung stellen.
Entweder implementieren das andere Heizungsbauer zusätzlich dazu oder M-TEC arbeitet nicht mit dem letzten Softwarestand von Keba. Anders kann ich mir das nicht erklären.
Somit bin ich eigentlich eh dazu gezwungen, es auf Scriptbasis zu versuchen. -
Irgendwie steige ich da nicht ganz durch.
Die Werte über das Script lesen verstehe ich so weit. Ich habe es auch schon um einen weiteren Wert erweitert.
Wenn man dann den Wert in IO-Broker als Objekt hat, kann man aber nicht einfach da drauf schreiben? Also den Wert aus IO-Broker ändern?
Der HTML request sollte ja auch über den Browser funktionieren. Aber wie müsste das dann aussehen?http://192.168.1.101/name:APPL.CtrlAppl.sParam.photovoltaics.param.powerOn,value:1300
funktioniert nicht
-
@manuel001 Einfach zurückschreiben geht nicht. Du musst das Objekt, das du zum WP steuern setzen willst, per Script überwachen und bei Änderung mit der richtigen Methode (z.B. als HTTP PUT Request) gescriptet genau das tun, was das WebHMI von Keba tut, wenn du die gewünschte Änderung im Browser machst. Das Tracen über die Devtools vom Browser ist da unerlässlich, um draufzukommen was d da passiert. Leider kann ich dir da nicht abschließend weiterhelfen, ich müsste selber rumprobieren bis es irgendwie geht..
-
@peete
O. K. Trotzdem danke!
Jetzt weiß ich wenigstens, dass es nicht so einfach geht.
Dann hoffe ich mal auf bessere Modbuslisten. -
@socke sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Übrigens, man kann hier auch die Temperatur wunderbar über einen Request setzen
So "simuliere" ich gerade mein Überschussladen, indem ich die Soll-Temp bei genug Energie auf 60 Grad setze... zack springt der Verdichter an. Da brauch ich das nicht über das Stromkabel triggern.
Der Wert dafür ist: APPL.CtrlAppl.sParam.hotWaterTank[0].param.normalSetTempMax.value
"ohne Gewähr", das ist auch nicht komplett, hab die PV erst seit kurzer Zeit....Jetzt muss ich das nochmal aufgreifen.
Das müsste doch auch für {"name":"APPL.CtrlAppl.sParam.photovoltaics.param.powerOn","value":"1300"} funktionieren, oder? -
Hallo, bin leider noch recht neu im Thema Heizungssteuerung jedoch beim Hersteller M-TEC auch nicht wirklich weiter gekommen. Ich nutze Loxone in Verbindung mit der Keenergy und habe bereits die Verbindung der beiden Systeme über Modbus einrichten können (Variable List).
Ich würde gerne die einzelnen Heizkreise der WP mit Raumtemperatur- bzw. Raumfeuchtigkeitswerten aus Loxone füttern - leider scheint es jedoch so, dass diese in der Variable List nur als "Read" hinterlegt sind. Sorry falls es eine blöde Frage ist - aber ist es irgendwie möglich meine Daten an die Keenergy zu senden? Bin für jegliche Hilfe sehr dankbar -
@penn0
Freut mich, dass es doch mehr Leute gibt, welche sich mit M-TEC bzw. der Keba Steuerung abkämpfen.
Bist du auch aus Oberösterreich?
Wenn nur Read hinterlegt ist, kann man das Register nur lesen.
Ich kann dir nur einen Tipp geben: Möglichst lästig bei M-TEC zu sein. So lange ich nur der Einzige bin, der bei M-TEC lästig ist, werden sie nichts ändern.
Meiner Meinung nach ist das komplett unbrauchbar. Ernsthaft steuern bzw. in Smart Home integrieren geht mit den paar Registern nicht.
Vor allem wenn man dann auch noch PV Überschussregelung verwendet. Das ist alles mehr Marketing als dass es wirklich brauchbar funktioniert.
Am Anfang (vor 2 Jahren) hatte die Regelung sogar eine grobe Fehlfunktion. Sobald auf einer Phase eine Überschuss war, hat die Heizung Vollgas gegeben, auch wenn in Summe sogar Strom vom Netz bezogen wurde! PV Überschussregelung in Zusammenhang mit Rücklauftemperaturregelung war auch noch gar nicht implementiert.
Hast du eine PV und wie alt ist deine Anlage?
Mir ist nämlich aufgefallen, dass du eine komplett veraltete Modbusliste hast. -
@manuel001 Ja genau - bin aus OÖ (Wels Land) und haben unser Haus 2020 bezogen - Anlage ist also jedenfalls noch ein sehr aktuelles Gerät (AP440/H-A; WPS412). Ich werde gleich morgen mal wieder bei M-Tec anklopfen - bin da eigentlich schon etwas enttäuscht vor allem weil sehr stark mit innovativen Produkten geworben wird - beim genauen hinsehen siehts dann aber leider anders aus...
PV habe ich aktuell noch nicht drauf - kommt nächstes Jahr. Wollte mich aber bereits mal jetzt mit den Funktionen vertraut machen damit ich dann bei der PV zumindest die richtigen Komponenten auswähle... und bestenfalls dann auch mit der WP schon wieder mehr möglich ist.
Hättest du eventuell die aktuelle Liste für mich? Danke -
@penn0
Ich wohne in Hörsching. Haus 2019 bezogen.
Frage mal M-TEC weshalb du eine Modbusliste von 2017 erhalten hast.
Bei "meiner" 20200610_MTec.Modbus_Server_VariableList__IB__.xls steht im Dokument 2019 und im Dateinamen 2020. Da sieht man wieder wie professionell das ist.PV zusammen mit der Drehzahlgeregelten WP macht schon Sinn und war für mich der Hauptgrund, weshalb ich mich für diese WP entschieden habe.
Deshalb bin in so enttäuscht, dass die Regelung eigentlich ein Witz ist.
Beispiel:
Man kann eine Einschaltschwelle und eine Ausschaltschwelle einstellen.
Wobei: Einschaltschwelle = Einschaltschwelle + 600W: Also wenn man 400W einstellt, startet die WP bei PV Überschuss von 1000W. Das muss man erst mal wissen.
Das größere Problem: Sollwert für die Drehzahlregelung PV-Betrieb ist die Einschaltschwelle + Ausschaltschwelle.
Somit gibt es eine Abhängigkeit zwischen Einschaltschwelle und Ausschaltschwelle, was ein kompletter Schwachsinn ist.
Im Sommer stelle im z.B. Einschaltschwelle 1,5kW und Ausschaltschwelle 0,2kW ein, damit die Wärmepumpe nicht ständig startet und gleich wieder abschaltet, nur weil kurz mal ein Verbraucher aktiv ist.
Diese Einstellung hätte im Winter aber das Ergebnis, dass auf 1,7kW Überschuss hingeregelt wird. Also man würde immer 1,7kW ins Netz einspeisen, obwohl man es selbst brauchen könnte.
Jetzt stelle ich diese Werte immer je nach Jahreszeit um.
Natürlich würde ich das gerne über Smart Home automatisieren. Allerdings stehen auch diese Register nicht in der Modbusliste zur Verfügung.
Deshalb wäre ich an der Lösung von @socke interessiert. Aber das bringe ich nicht zusammen. -
Vielleicht kann mir jemand sagen, was da falsch ist:
const heizung_host = '192.168.1.101'; const heaterUrl = 'http://' + heizung_host; const Einschaltschwelle = 300; const EinschaltschwelleTempName = "APPL.CtrlAppl.sParam.photovoltaics.param.powerOn"; const jsonRequest = [{ name:EinschaltschwelleTempName, value: Einschaltschwelle.toString()}]; const jsonAsString = JSON.stringify(jsonRequest); const doUeberschussLaden = (heaterUrl, json) => { request.post({ url: heaterUrl, form: json }, function (error, response, body) { if (error) log(error, 'error'); if (body) { log("ueberschussladen aktiviert"); } }); }; doUeberschussLaden(heaterUrl, jsonAsString);
-
@manuel001
Ich habe ja einen Regler von Keba, jedoch nur einstufige Wärmepumpen ohne drehzahlvariablem Verdichter. Bei mir setze ich (über Modbus) einfach nur die zunächst die Soll-Temperatur Pufferspeicher etwas höher und dann noch die Soll-Temperatur im Boiler. Aber auch erst, wenn der Batteriespeicher voll geladen ist. Der Nutzungsgrad über den Batteriespeicher ist immer besser als über die Temperaturerhöhung der Wärmepumpe.Bei den Wärmepumpen mit Inverter sollte das erhöhen der Soll-Temperaturen auch zu höheren elektrischen Leistungen führen. Alternativ/ergänzend müsste man der Wärmepumpe eine kühlere Außtemperratur vorgaukeln. Auch dann steigt die Kompressordrehzahl.
-
@ttjaden
Ah O.K.
Ich habe keinen Batteriespeicher. (Nur ein E-Auto. Das kommt aber erst ins Spiel, wenn die WP schon auf 100% läuft.)@ttjaden sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Bei den Wärmepumpen mit Inverter sollte das erhöhen der Soll-Temperaturen auch zu höheren elektrischen Leistungen führen.
Leider ist das Verhalten etwas anders. Wenn man die Soll-Temperaturen oder Außentemperatur ändern würde, glaubt die Steuerung, dass die Leistung nicht gereicht hat um die Temperaturen zu erreichen und erhöht auf 100% Verdichterleistung. Das geht natürlich, ist aber von mir nicht gewünscht.
Ich möchte auf möglichst keinen Überschuss hinregeln. Dazu sind halt meistens irgendwelche Werte zwischen 40% und 100% Verdichterleistung notwendig.
Das macht die Steuerung grundsätzlich auch selbst. Allerdings ist das mit der Einschaltschwelle und eine Ausschaltschwelle komplett doof gelöst.
Wenn man Einschaltschwelle und Ausschaltschwelle über Modbusregister ändern könnte, wäre es eh schon wieder kein Problem mehr. Das geht aber leider nicht. -
Ich wollte noch einen boolschen Zustand abfragen (APPL.CtrlAppl.sParam.photovoltaics.values.excessEnergyActive).
So funktioniert es zwar:/** * This script reads data from a hautec heater Keba controller. * www.hautec.eu */ const request = require('request'); const heizung_host = '192.168.1.101'; const urlOfHeatpump = 'http://' + heizung_host + '/var/readWriteVars'; // all values I want to receive const jsonRequest = [ {"name":"APPL.CtrlAppl.sParam.heatpump[0].Compressor.values.setValueScaled"}, {"name":"APPL.CtrlAppl.sParam.heatpump[0].values.setTemp"}, {"name":"APPL.CtrlAppl.sParam.heatCircuit[0].values.flowSetTemp"}, {"name":"APPL.CtrlAppl.sParam.photovoltaics.values.excessEnergyActive"} ]; const jsonAsString = JSON.stringify(jsonRequest); // create all the states in broker createState('javascript.'+instance+'.Heizung.Verdichter', 0, {type: 'number', role: 'value', unit: '%'}); createState('javascript.'+instance+'.Heizung.Rücklauf_Soll_WP', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.Rücklauf_Soll_Heizkreis', 0, {type: 'number', role: 'value', unit: '°C'}); createState('javascript.'+instance+'.Heizung.Überschussbetrieb', 0, {type: 'boolean', role: 'value', unit: ''}); // every minute read the data from the heater and save it schedule("* * * * *", function() { request.post({ url: urlOfHeatpump, form: jsonAsString }, function(error, response, body) { if (error) log(error, 'error'); if (body) { //log(body); var responseBody = JSON.parse(body); setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody[0].value) * 100); setState('javascript.'+instance+'.Heizung.Rücklauf_Soll_WP', parseFloat(responseBody[1].value)); setState('javascript.'+instance+'.Heizung.Rücklauf_Soll_Heizkreis', parseFloat(responseBody[2].value)); setState('javascript.'+instance+'.Heizung.Überschussbetrieb', parseFloat(responseBody[3].value)); } }); });
Allerdings kommt die Meldung "State value to set for "javascript.1.Heizung.Überschussbetrieb" has to be type "boolean" but received type "number"".
Wie kann ich das beheben?
Ursprünglich hätte ich es eingebaut sie socke mit "Heizung.Heizung.aufheizen".
Allerdings habe ich als Wert immer nur "Null" erhalten. -
Moin zusammen,
ich habe eine Frage in die Runde.
Seit ca. 2,5 Wochen hänge ich an dem Heizstab und der Installateur kommt nicht bei.
Die Anlage schaltet sich kurz nach dem Anlauf des Kompressors mit dem Fehler
"1037.1 | Wärmepumpe 1 WPLK412: Durchflussüberwachung Heizungsseite ausgelöst" ab.Habt ihr eine Idee wo ich den Schwellwert auslesen und ggf. verändern kann.
Danke im Voraus.
Alexander -
@x4nder Da zahlt dir hoffentlich der Installateur die Stromrechnung.
Mit dieser Frage bist du wahrscheinlich in einem Haustechnik-Forum bzw. Heizungs-Forum besser aufgehoben.
Wobei ich kaum glaube, dass du das Problem beheben kannst.
Entweder liegt es an einer Einstellung, die du nicht selbst ändern kannst oder es ist ein Sensor defekt. -
@manuel001 Danke dir.
Ich versuche mein Glück im Haustechnik-Forum.
VG
Alexander -
Hallo zusammen, ich habe mich extra wegen diesem Topic in diesem Forum registriert (verwende FHEM als Hausautomatisierung-SW) da es mit Abstand der umfangreichste und technisch interessanteste Beitrag zu der M-Tec Wärmepumpen ist den ich finden konnte.
Schreibe auch aus diesem Grund in dieses Topic (auch wenn es älter ist), hoffe, das ist so ok. Meine Hoffnung ist, in diesem Thread wertvolle Informationen und einen regen Austausch zu etablieren.
Wir sind seit ein paar Wochen stolze Besitzer einer M-Tec Wärmepumpe (WPLK722), sie lief bislang nur im Testlauf da die Heizperiode ja erst beginnt. Auch ich war etwas enttäuscht über die sehr beschränkten Steuermöglichkeiten via ModBus. Folgendes habe ich allerdings herausgefunden:- Mit dem Technikerlogin könnt ihr viel mehr über die Maschine herausfinden, ich verrate nur soviel: schaut euch mal mit der "Netzwerkanalyse" in den Entwicklungswerkzeugen von Firefox an, was in der Anfrage von "/userLevel?action=getUserLevels" zurückgeschickt wird, ihr kommt wohl schnell drauf, wie das Technikerpasswort zusammengesetzt ist
- Ich würde als erstes die aktuellen Einstellungen auf einem USB Stick sichern (Service -> Parameter sichern etc. etc.)
- Unter Service -> Statusreport könnt ihr einen Statusreport generieren und herunterladen. Der hat viele technische Infos, ich konnte noch nicht alles durchgehen. U.A. scheint es mehr Modbusregister zu geben als dokumentiert (gemäss KeCtrlStaRep.txt zähle ich ca. 100 Register)
- Unter Service -> Diagnose -> Variablenmonitor könnt ihr mega viele Variablen anschauen. Ich denke, irgendwo ist dort auch eine Variable für "Raumtemperatur ist-Wert" vorhanden (evtl. erst, wenn die Raumsteuerung aktiviert ist?).
- Die Raumsteuerung AP420 ist glaub ich via LAN & Modbus angebunden und sie kann ja sowohl "Raumtemperatur ist" übermitteln als auch "Raumtemperatur soll" festlegen -> das sollte also gehen wenn man weiss, welche Modbusregister dafür verwendet werden (die in der Tabelle von M-Tec sind ja beide "read-only")
- Es gibt die Möglichkeit für einen SSH Login, ich weiss da Passwort/Benutzername nicht. Hat jemand vielleicht ein Firmware Image damit ich dieses untersuchen könnte?
Soviel für den Moment, ich werde versuchen, mehr Infos hier reinzuschreiben sobald ich die WP in Betrieb habe
-
@antfab sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Mit dem Technikerlogin könnt ihr viel mehr über die Maschine herausfinden, ich verrate nur soviel: schaut euch mal mit der "Netzwerkanalyse" in den Entwicklungswerkzeugen von Firefox an, was in der Anfrage von "/userLevel?action=getUserLevels" zurückgeschickt wird,
Super ist ja, dass man diese Werte dann auch auslesen und teilweise ändern kann, ohne dass man das Techniker-Passwort eingeben muss. Sehr secure.
Ich war allerdings zu doof. Auslesen hat funktioniert, aber nicht schreiben. Deshalb war ich dann bei MTEC so lange lästig, bis ich ein brauchbares Interface erhalten habe. Eigentlich traurig.@antfab sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
U.A. scheint es mehr Modbusregister zu geben als dokumentiert (gemäss KeCtrlStaRep.txt zähle ich ca. 100 Register
Ich fürchte die sind nicht aktiv.
Nach 2 Jahren lästig sein, hat mir M-TEC dann meine gewünschten Register ergänzt. Da war aber eine neue Firmware notwendig.
Mich wundert es etwas, dass das Modbus Interface heute scheinbar noch immer so schwach ist.@antfab sagte in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
irgendwo ist dort auch eine Variable für "Raumtemperatur ist-Wert" vorhanden (evtl. erst, wenn die Raumsteuerung aktiviert ist?).
Da bei mir öfter zwischen Raumsteuerung und Rücklaufsteuerung gewechselt wurde, kann ich folgendes sagen, bzw. hat mir der Techniker das so gesagt:
Luftfeuchte kann man auch bei Raumsteuerung aktivieren. Temperatur wird nur angezeigt, wenn auf Raumsteuerung gestellt ist. -
@antfab said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:
Die Raumsteuerung AP420 ist glaub ich via LAN & Modbus angebunden und sie kann ja sowohl "Raumtemperatur ist" übermitteln als auch "Raumtemperatur soll" festlegen -> das sollte also gehen wenn man weiss, welche Modbusregister dafür verwendet werden (die in der Tabelle von M-Tec sind ja beide "read-only")
Hi,
bei mir ist es der Register 40005 für den ersten Heizkreis und dieser ist R/W.
Wie sicher bist du dir, dass AP420 auf die Raumtemperatur messen kann.
Ich bin mir fast sicher das fürs Messen ein AP412 o. IO420 notwendig sind.Die Raumtemperatur regelt die Heizung über den Rücklauf und die Aussentemp.
Kann mich natürlich auch irren.
Viele Grüße
Alexander