Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome

Geplant Angeheftet Gesperrt Verschoben Hardware
keba keenergy m-tec modbus
149 Beiträge 27 Kommentatoren 30.9k Aufrufe 24 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ttjadenT ttjaden

    @x4nder Wie hat es bei dir geklappt? Wenn ich über ein Skript ein Register neu setze, klappt es nicht. Wenn ich den Wert händisch setze, dann geht es:
    d0aa4734-06cc-437b-bbef-fdc67474b242-grafik.png
    -> hier z.B. 402_T_WW als Soll-Temperatur für Warmwasser. Händisch setzen geht, aber über ein Skript setzen lassen läuft so ab, dass der Wert da kurz steht und dann wieder vom Wert vorher überschrieben wird.

    Hier mein Skript, mit dem ich den Soll-Wert überschreiben lasse, wenn genug PV übrig ist
    bb7270f8-1efb-47c0-a129-9f6b43e4a5d1-grafik.png

    Wenn mindestens 3500W eingespeist wird, setze neue Warmwasser und Puffer-Solltemperaturen. Falls der Netzbezug kleiner 500W ist, behalte das ganze bei. Erst bei Netzbezug >500W setze die Solltemperaturen wieder auf einen niedrigeren Wert.

    X Offline
    X Offline
    x4nder
    schrieb am zuletzt editiert von
    #28

    @ttjaden
    Hi,
    Ich löse es in Moment über 1000 Register.
    Mein Fronius SmartMeter liefert den aktuellen Überschluss und diesen schreibe ich in den 1000 Register.
    Die Anlage nimmt es auf und entscheidet dann selbstständig.
    Zuerst wird das WW auf 54 Grad aufgeheizt dann kommt der Puffer für die Wärme.
    Damit der Register 1000 von der Anlage akzeptiert wird muss im Installateur-Menu etwas eingestellt werden.
    Bei mir hats M-TEC per Fernwartung eingestellt, da meine Installateur nicht erreichbar war!
    Im Grunde ist das ähnlich wir die E-Smart Lösung.

    Bildschirmfoto 2021-04-28 um 15.23.01.png

    Bildschirmfoto 2021-04-28 um 15.23.50.png

    ttjadenT 1 Antwort Letzte Antwort
    0
    • X x4nder

      @ttjaden
      Hi,
      Ich löse es in Moment über 1000 Register.
      Mein Fronius SmartMeter liefert den aktuellen Überschluss und diesen schreibe ich in den 1000 Register.
      Die Anlage nimmt es auf und entscheidet dann selbstständig.
      Zuerst wird das WW auf 54 Grad aufgeheizt dann kommt der Puffer für die Wärme.
      Damit der Register 1000 von der Anlage akzeptiert wird muss im Installateur-Menu etwas eingestellt werden.
      Bei mir hats M-TEC per Fernwartung eingestellt, da meine Installateur nicht erreichbar war!
      Im Grunde ist das ähnlich wir die E-Smart Lösung.

      Bildschirmfoto 2021-04-28 um 15.23.01.png

      Bildschirmfoto 2021-04-28 um 15.23.50.png

      ttjadenT Offline
      ttjadenT Offline
      ttjaden
      schrieb am zuletzt editiert von
      #29

      @x4nder
      Danke für die Rückmeldung. In jedem Fall unterscheiden sich die Register-Belegungen zwischen M-Tec und wie bei mir HAUTEC. Si enutzen wohl die gleiche Regler-Hardware von KEBA, aber die Register sind sind identisch.

      Meine Frage war auch eher technisch: Ich kann ja über iobroker den WW-Sollwert hoch setzen per Hand. Dies nimmt die Wärmepumpe über Modbus auch an und dann reagiert sie entsprechen. Wenn ich den Wert in iobroker aber nicht per Hand, sondern per Skript setze, klappt es nicht.

      Daher ist es eher eine technische Umsetzung-Frage, wo der unterschied ist zwischen dem setzen von werten per Hand und per Skript, wenn der Wert anschließend über das Modbus-Addon in das Register geschrieben wird.

      X 1 Antwort Letzte Antwort
      0
      • ttjadenT ttjaden

        @x4nder
        Danke für die Rückmeldung. In jedem Fall unterscheiden sich die Register-Belegungen zwischen M-Tec und wie bei mir HAUTEC. Si enutzen wohl die gleiche Regler-Hardware von KEBA, aber die Register sind sind identisch.

        Meine Frage war auch eher technisch: Ich kann ja über iobroker den WW-Sollwert hoch setzen per Hand. Dies nimmt die Wärmepumpe über Modbus auch an und dann reagiert sie entsprechen. Wenn ich den Wert in iobroker aber nicht per Hand, sondern per Skript setze, klappt es nicht.

        Daher ist es eher eine technische Umsetzung-Frage, wo der unterschied ist zwischen dem setzen von werten per Hand und per Skript, wenn der Wert anschließend über das Modbus-Addon in das Register geschrieben wird.

        X Offline
        X Offline
        x4nder
        schrieb am zuletzt editiert von x4nder
        #30

        @ttjaden
        versuche mal mit dem Register 402 mit einem 1/10 Faktor. Ich habe meinen gerade verändern können.
        Der Wert kann aber max 52 sein, zumindest würde ich das anhand der Tabelle deuten. (Siehe Bild2)
        Bei PV Überschuss kann es aber höher setzen. Irgendwann geht aber die WP wegen Überhitzung auf Störung und der Heizstab schaltet sich ein.
        Wenn meine einen geregelten Heizstab hat kann man auch höher fahren 70, 80 Grad.

        Hier sind noch ein paar Bilder von mir.
        Nicht wundern wenn das bei mir mit 40xxx beginnt und immer um eins nach vorne versetzt ist. Ich habe mich noch nicht damit auseinander gesetzt wie ich das 1 zu 1 hinbekomme.

        Bildschirmfoto 2021-05-02 um 11.55.56.png
        Bildschirmfoto 2021-05-02 um 11.56.16.png
        Bildschirmfoto 2021-05-02 um 11.56.44.png
        Bildschirmfoto 2021-05-02 um 11.57.05.png

        UPDATE:
        Habe den Wert auf 53 über iobroker setzen können. also ist 52 kein Endwert.

        M 1 Antwort Letzte Antwort
        0
        • X x4nder

          @ttjaden
          versuche mal mit dem Register 402 mit einem 1/10 Faktor. Ich habe meinen gerade verändern können.
          Der Wert kann aber max 52 sein, zumindest würde ich das anhand der Tabelle deuten. (Siehe Bild2)
          Bei PV Überschuss kann es aber höher setzen. Irgendwann geht aber die WP wegen Überhitzung auf Störung und der Heizstab schaltet sich ein.
          Wenn meine einen geregelten Heizstab hat kann man auch höher fahren 70, 80 Grad.

          Hier sind noch ein paar Bilder von mir.
          Nicht wundern wenn das bei mir mit 40xxx beginnt und immer um eins nach vorne versetzt ist. Ich habe mich noch nicht damit auseinander gesetzt wie ich das 1 zu 1 hinbekomme.

          Bildschirmfoto 2021-05-02 um 11.55.56.png
          Bildschirmfoto 2021-05-02 um 11.56.16.png
          Bildschirmfoto 2021-05-02 um 11.56.44.png
          Bildschirmfoto 2021-05-02 um 11.57.05.png

          UPDATE:
          Habe den Wert auf 53 über iobroker setzen können. also ist 52 kein Endwert.

          M Offline
          M Offline
          Manuel001
          schrieb am zuletzt editiert von
          #31

          Ich möchte die PV Einschaltschwelle über IO-Broker verändern.
          In der Modbusliste dürfte es wieder mal nicht enthalten sein. (Oder hat mittlerweile jemand umfangreichere Modbuslisten erhalten?)
          Also muss es über ein Script realisiert werden.
          Es geht um {"name":"APPL.CtrlAppl.sParam.photovoltaics.param.powerOn","value":"1300"}

          Ich habe schon das im Einsatz:

          /**
           * 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'; 
          //const jsondata = [{"name":"APPL.CtrlAppl.sParam.outdoorTemp.values.actValue"}];
           
          // all values I want to receive
          const jsonRequest = [
                  {"name":"APPL.CtrlAppl.sParam.heatpump[0].Compressor.values.setValueScaled"},
              ];
           
          const jsonAsString = JSON.stringify(jsonRequest);
           
          // create all the states in broker
          createState('javascript.'+instance+'.Heizung.Verdichter', 0, {type: 'number', 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);      
                 } 
              });
          });
          

          Macht es Sinn dieses Script zu erweitern oder ist ein eigenes Script sinnvoller?
          Was muss ich ändern? Ich bin da gerade etwas überfordert.

          P 1 Antwort Letzte Antwort
          0
          • M Manuel001

            Ich möchte die PV Einschaltschwelle über IO-Broker verändern.
            In der Modbusliste dürfte es wieder mal nicht enthalten sein. (Oder hat mittlerweile jemand umfangreichere Modbuslisten erhalten?)
            Also muss es über ein Script realisiert werden.
            Es geht um {"name":"APPL.CtrlAppl.sParam.photovoltaics.param.powerOn","value":"1300"}

            Ich habe schon das im Einsatz:

            /**
             * 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'; 
            //const jsondata = [{"name":"APPL.CtrlAppl.sParam.outdoorTemp.values.actValue"}];
             
            // all values I want to receive
            const jsonRequest = [
                    {"name":"APPL.CtrlAppl.sParam.heatpump[0].Compressor.values.setValueScaled"},
                ];
             
            const jsonAsString = JSON.stringify(jsonRequest);
             
            // create all the states in broker
            createState('javascript.'+instance+'.Heizung.Verdichter', 0, {type: 'number', 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);      
                   } 
                });
            });
            

            Macht es Sinn dieses Script zu erweitern oder ist ein eigenes Script sinnvoller?
            Was muss ich ändern? Ich bin da gerade etwas überfordert.

            P Offline
            P Offline
            peete
            schrieb am zuletzt editiert von
            #32

            Moin,

            bin gerade per Zufall auf dieses Thema gestoßen und habe mich extra für die Antwort hier registriert, weil ich auch gerade an meiner KEBA-Steuerung eines anderen Herstellers tüftle. Ich bekomme die nicht im Modbus-Adapter verbunden und weiß nicht, was ich falsch mache..

            @manuel001 said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:

            (Oder hat mittlerweile jemand umfangreichere Modbuslisten erhalten?)

            Ich habe von meinem WP-Hersteller, der auch diese KEBA-Steuerung einbaut, eine relativ umfangreiche Sammlung mit Adressen, Faktoren und Beschreibungen bekommen. Die kann ich dir gerne zukommen lassen. Kannst du mir im Gegenzug verraten, wie ich den Modbus-Adapter konfigurieren muss, um (zumindest lesend) an die Werte zu kommen? Meine bisherigen Versuche waren nicht von Erfolg gekrönt und scripten möchte ich vorerst nicht..

            M S 2 Antworten Letzte Antwort
            0
            • P peete

              Moin,

              bin gerade per Zufall auf dieses Thema gestoßen und habe mich extra für die Antwort hier registriert, weil ich auch gerade an meiner KEBA-Steuerung eines anderen Herstellers tüftle. Ich bekomme die nicht im Modbus-Adapter verbunden und weiß nicht, was ich falsch mache..

              @manuel001 said in Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome:

              (Oder hat mittlerweile jemand umfangreichere Modbuslisten erhalten?)

              Ich habe von meinem WP-Hersteller, der auch diese KEBA-Steuerung einbaut, eine relativ umfangreiche Sammlung mit Adressen, Faktoren und Beschreibungen bekommen. Die kann ich dir gerne zukommen lassen. Kannst du mir im Gegenzug verraten, wie ich den Modbus-Adapter konfigurieren muss, um (zumindest lesend) an die Werte zu kommen? Meine bisherigen Versuche waren nicht von Erfolg gekrönt und scripten möchte ich vorerst nicht..

              M Offline
              M Offline
              Manuel001
              schrieb am zuletzt editiert von
              #33

              @peete Ich habe soeben von M-TEC die Info erhalten, dass es noch keine Erweiterungen in der Modbusliste gegeben hat.
              Ev. werden für PV bis nächsten Sommer ein paar Werte ergänzt. Hat aber geringe Priorität.
              Vermutlich hast du in deiner Liste auch keine der folgenden Werte:
              Solltemperatur (Rücklauf)
              PV Einschaltschwelle
              PV Ausschaltschwelle
              Verdichterleistung in %

              Ich wollte mich auch nicht mit Scripts beschäftigen, aber mit dieser Modbusliste bleibt einem eigentlich fast nichts anderes über.
              So habe ich Modbus konfiguriert:
              871c7bd9-5274-4e1a-b6ef-20a781d685e2-image.png
              23ed203c-dffe-47ce-8b61-b9b1afd5ca17-image.png
              Bei dir können die Modbusadressen anders sein.

              P 1 Antwort Letzte Antwort
              0
              • M Manuel001

                @peete Ich habe soeben von M-TEC die Info erhalten, dass es noch keine Erweiterungen in der Modbusliste gegeben hat.
                Ev. werden für PV bis nächsten Sommer ein paar Werte ergänzt. Hat aber geringe Priorität.
                Vermutlich hast du in deiner Liste auch keine der folgenden Werte:
                Solltemperatur (Rücklauf)
                PV Einschaltschwelle
                PV Ausschaltschwelle
                Verdichterleistung in %

                Ich wollte mich auch nicht mit Scripts beschäftigen, aber mit dieser Modbusliste bleibt einem eigentlich fast nichts anderes über.
                So habe ich Modbus konfiguriert:
                871c7bd9-5274-4e1a-b6ef-20a781d685e2-image.png
                23ed203c-dffe-47ce-8b61-b9b1afd5ca17-image.png
                Bei dir können die Modbusadressen anders sein.

                P Offline
                P Offline
                peete
                schrieb am zuletzt editiert von
                #34

                @manuel001 Folgende Werte finde ich in meinen fünf PDFs:

                • Warmwasser Sollwert bei PV Nutzung (Adresse 405, read/write, Faktor 10)
                • PV Überschussnutzung (Adresse 406, read/write, Faktor 1)
                • (Bei Tandem-WP) Status der Verdichterstufe 1 (713, read, Faktor 1)
                • (Bei Tandem-WP) Status der Verdichterstufe 2 (714, read, Faktor 1)

                Mehr zu PV steht auch in meinen Listen leider nicht. Dank deinen Screenshots konnte ich nun meinen ersten Wert erfolgreich abholen - VIELEN DANK dafür! Ein paar Adressen unterscheiden sich etwas (z.B. Quelle Eingang ist bei mir 707 statt bei dir 708), eventuell verschieben sich die o.g. Adressen also bei dir auch. Falls du dennoch interessiert bist melde dich gern via PN, dann schicke ich dir die Listen per Mail.

                M 1 Antwort Letzte Antwort
                0
                • P peete

                  @manuel001 Folgende Werte finde ich in meinen fünf PDFs:

                  • Warmwasser Sollwert bei PV Nutzung (Adresse 405, read/write, Faktor 10)
                  • PV Überschussnutzung (Adresse 406, read/write, Faktor 1)
                  • (Bei Tandem-WP) Status der Verdichterstufe 1 (713, read, Faktor 1)
                  • (Bei Tandem-WP) Status der Verdichterstufe 2 (714, read, Faktor 1)

                  Mehr zu PV steht auch in meinen Listen leider nicht. Dank deinen Screenshots konnte ich nun meinen ersten Wert erfolgreich abholen - VIELEN DANK dafür! Ein paar Adressen unterscheiden sich etwas (z.B. Quelle Eingang ist bei mir 707 statt bei dir 708), eventuell verschieben sich die o.g. Adressen also bei dir auch. Falls du dennoch interessiert bist melde dich gern via PN, dann schicke ich dir die Listen per Mail.

                  M Offline
                  M Offline
                  Manuel001
                  schrieb am zuletzt editiert von
                  #35

                  @peete
                  Ich sage Danke für die zugesendeten Modbuslisten!
                  Jetzt wird es spannend. Das sind wesentlich mehr Register als ich habe. z.B. bei den 400er Registern für Warmwasser hast du 16 Register und ich nur 4.
                  Allerdings funktionieren diese zusätzlichen Register nicht.
                  Du hast also auch die Keba KeEnergy Heizungssteuerung? Darf man fragen, welcher Heizungshersteller das ist?
                  Vor allem sind es super aufbereitete Listen auf deutsch, was man bei meiner Liste nicht behaupten kann.

                  P 1 Antwort Letzte Antwort
                  0
                  • M Manuel001

                    @peete
                    Ich sage Danke für die zugesendeten Modbuslisten!
                    Jetzt wird es spannend. Das sind wesentlich mehr Register als ich habe. z.B. bei den 400er Registern für Warmwasser hast du 16 Register und ich nur 4.
                    Allerdings funktionieren diese zusätzlichen Register nicht.
                    Du hast also auch die Keba KeEnergy Heizungssteuerung? Darf man fragen, welcher Heizungshersteller das ist?
                    Vor allem sind es super aufbereitete Listen auf deutsch, was man bei meiner Liste nicht behaupten kann.

                    P Offline
                    P Offline
                    peete
                    schrieb am zuletzt editiert von
                    #36

                    @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
                    9d32b3c7-c188-46d9-a94c-6f759ffc225a-image.png
                    sowie iQontrol
                    0d39e320-d61c-4765-a122-3a5e354f56d3-image.png
                    anzeigen. Vorsicht übrigens bei Zeile 79/80 im Script, das habe ich angepasst weil mir der Wert falsch vorkam.

                    M 1 Antwort Letzte Antwort
                    0
                    • P peete

                      @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
                      9d32b3c7-c188-46d9-a94c-6f759ffc225a-image.png
                      sowie iQontrol
                      0d39e320-d61c-4765-a122-3a5e354f56d3-image.png
                      anzeigen. Vorsicht übrigens bei Zeile 79/80 im Script, das habe ich angepasst weil mir der Wert falsch vorkam.

                      M Offline
                      M Offline
                      Manuel001
                      schrieb am zuletzt editiert von
                      #37

                      @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.

                      M 1 Antwort Letzte Antwort
                      0
                      • M Manuel001

                        @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.

                        M Offline
                        M Offline
                        Manuel001
                        schrieb am zuletzt editiert von Manuel001
                        #38

                        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

                        P 1 Antwort Letzte Antwort
                        0
                        • M Manuel001

                          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

                          P Offline
                          P Offline
                          peete
                          schrieb am zuletzt editiert von
                          #39

                          @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..

                          M 1 Antwort Letzte Antwort
                          0
                          • P peete

                            @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..

                            M Offline
                            M Offline
                            Manuel001
                            schrieb am zuletzt editiert von
                            #40

                            @peete
                            O. K. Trotzdem danke!
                            Jetzt weiß ich wenigstens, dass es nicht so einfach geht.
                            Dann hoffe ich mal auf bessere Modbuslisten.

                            1 Antwort Letzte Antwort
                            0
                            • S socke

                              Ü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....

                              const desiredTemperature = 59.0;
                              const heaterTempName = "APPL.CtrlAppl.sParam.hotWaterTank[0].param.normalSetTempMax.value";
                              const jsonRequest = [{ name: heaterTempName, value: desiredTemperature.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(urlOfHeatpump, jsonAsString);
                              
                              M Offline
                              M Offline
                              Manuel001
                              schrieb am zuletzt editiert von
                              #41

                              @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?

                              1 Antwort Letzte Antwort
                              0
                              • P Offline
                                P Offline
                                penn0
                                schrieb am zuletzt editiert von
                                #42

                                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 :)

                                M A 2 Antworten Letzte Antwort
                                0
                                • P penn0

                                  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 :)

                                  M Offline
                                  M Offline
                                  Manuel001
                                  schrieb am zuletzt editiert von
                                  #43

                                  @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.

                                  P 1 Antwort Letzte Antwort
                                  0
                                  • M Manuel001

                                    @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.

                                    P Offline
                                    P Offline
                                    penn0
                                    schrieb am zuletzt editiert von
                                    #44

                                    @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 :)

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • P penn0

                                      @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 :)

                                      M Offline
                                      M Offline
                                      Manuel001
                                      schrieb am zuletzt editiert von Manuel001
                                      #45

                                      @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.

                                      M ttjadenT 2 Antworten Letzte Antwort
                                      0
                                      • M Manuel001

                                        @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.

                                        M Offline
                                        M Offline
                                        Manuel001
                                        schrieb am zuletzt editiert von
                                        #46

                                        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);
                                        
                                        1 Antwort Letzte Antwort
                                        0
                                        • M Manuel001

                                          @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.

                                          ttjadenT Offline
                                          ttjadenT Offline
                                          ttjaden
                                          schrieb am zuletzt editiert von
                                          #47

                                          @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.

                                          M 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          594

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe