Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    509

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome

Scheduled Pinned Locked Moved Hardware
keba keenergy m-tec modbus
149 Posts 27 Posters 33.9k Views 24 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Manuel001

    @socke Ich habe einen drehzahlgeregelten Verdichter, welcher eigentlich den ganzen Tag läuft. Nur halt mit unterschiedlicher Leistung bzw. Drehzahl. Und genau die möchte ich wissen.
    Vorerst möchte ich da gar nicht eingreifen, sondern nur überwachen. PV Überschussregelung macht die KeEnergy mittlerweile eh selbst und das funktioniert seit dem letzten Update bis auf ein paar Kleinigkeiten relativ gut.
    z.B. kann man bei den konfigurierbaren Diagrammen nicht PV Überschuss und Drehzahl vom Verdichter anzeigen lassen.
    Das habe ich jetzt selbst nachgebaut aber halt mit der Drehzahl von der Umwälzpumpe statt vom Verdichter.
    Danke für den Hinweis mit dem jsonRequest.
    Ich habe da auch den Wert gefunden, welchen ich weiterverarbeiten möchte: APPL.CtrlAppl.sParam.heatpump[0].Compressor.values.setValueScaled
    So einfach wäre es, wenn dieser Wert nicht in der Modbus Liste fehlen würde :face_with_rolling_eyes:
    Wie baut man dein Script in iobroker ein? Über einen Adapter?

    Ist auch interessant:
    2021-03-10 10_56_30-Window.jpg
    Sind das nicht die Technikerzugänge?

    S Offline
    S Offline
    socke
    wrote on last edited by
    #10

    @manuel001 😂 Das sieht so aus. Das ist schon etwas seltsam, dass alle Passwörter einfach so einem zugesendet werden. 🤷
    Das Interface erlaubt nur Zahlen einzutragen, nehme aber an, man kann am PC über Web einfach auf der Tastatur die Buchstaben eintippen... mal bei Gelegenheit ausprobieren.

    P 1 Reply Last reply
    0
    • M Manuel001

      @socke Ich habe einen drehzahlgeregelten Verdichter, welcher eigentlich den ganzen Tag läuft. Nur halt mit unterschiedlicher Leistung bzw. Drehzahl. Und genau die möchte ich wissen.
      Vorerst möchte ich da gar nicht eingreifen, sondern nur überwachen. PV Überschussregelung macht die KeEnergy mittlerweile eh selbst und das funktioniert seit dem letzten Update bis auf ein paar Kleinigkeiten relativ gut.
      z.B. kann man bei den konfigurierbaren Diagrammen nicht PV Überschuss und Drehzahl vom Verdichter anzeigen lassen.
      Das habe ich jetzt selbst nachgebaut aber halt mit der Drehzahl von der Umwälzpumpe statt vom Verdichter.
      Danke für den Hinweis mit dem jsonRequest.
      Ich habe da auch den Wert gefunden, welchen ich weiterverarbeiten möchte: APPL.CtrlAppl.sParam.heatpump[0].Compressor.values.setValueScaled
      So einfach wäre es, wenn dieser Wert nicht in der Modbus Liste fehlen würde :face_with_rolling_eyes:
      Wie baut man dein Script in iobroker ein? Über einen Adapter?

      Ist auch interessant:
      2021-03-10 10_56_30-Window.jpg
      Sind das nicht die Technikerzugänge?

      S Offline
      S Offline
      socke
      wrote on last edited by
      #11

      @manuel001 Einbauen geht über Javascript, Adapter "Script Engine" installieren, das ist der, wo man auch über Blockly programmieren kann. Ich nutze aber bislang nur Javascript, bin noch nicht so lange mit iobroker dran.

      ef518c6f-4490-42bc-b554-c0f6f8172a6e-2021-03-11 at 16.34.jpg

      Dann gibt es einen neuen Menupunkt Scripte

      da0a5fb5-99c4-4d76-b99c-6847ead137d2-2021-03-11 at 16.35.jpg

      Dann auf das ➕ Symbol klicken und ein Javascript erstellen:

      309459b8-ac47-4476-adca-d96b54eafc9f-2021-03-11 at 16.36.jpg

      Da muss man ein bisschen testen um das zu verstehen, ging mir auch so.

      M 2 Replies Last reply
      0
      • S socke

        @manuel001 Einbauen geht über Javascript, Adapter "Script Engine" installieren, das ist der, wo man auch über Blockly programmieren kann. Ich nutze aber bislang nur Javascript, bin noch nicht so lange mit iobroker dran.

        ef518c6f-4490-42bc-b554-c0f6f8172a6e-2021-03-11 at 16.34.jpg

        Dann gibt es einen neuen Menupunkt Scripte

        da0a5fb5-99c4-4d76-b99c-6847ead137d2-2021-03-11 at 16.35.jpg

        Dann auf das ➕ Symbol klicken und ein Javascript erstellen:

        309459b8-ac47-4476-adca-d96b54eafc9f-2021-03-11 at 16.36.jpg

        Da muss man ein bisschen testen um das zu verstehen, ging mir auch so.

        M Offline
        M Offline
        Manuel001
        wrote on last edited by
        #12

        @socke Vielen Dank!

        1 Reply Last reply
        1
        • 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);
          
          ttjadenT Offline
          ttjadenT Offline
          ttjaden
          wrote on last edited by
          #13

          @socke
          Angenommen, die desiredTemperature wird bei dir auf 59 gesetzt. Setzt du sie ebenfalls über ein Skript wieder auf einen kleineren Wert, wenn due nicht mehr überhitzen willst oder lädt sich die Wärmepumpe dann wieder einen Wert aus dem internen Regler? Und: reicht es den Wert 1x zu setzen oder musst du es zyklisch wieder machen, da der interne Regler der Wärmepumpe den Wert sonst überschreibt?

          1 Reply Last reply
          0
          • S socke

            @manuel001 Einbauen geht über Javascript, Adapter "Script Engine" installieren, das ist der, wo man auch über Blockly programmieren kann. Ich nutze aber bislang nur Javascript, bin noch nicht so lange mit iobroker dran.

            ef518c6f-4490-42bc-b554-c0f6f8172a6e-2021-03-11 at 16.34.jpg

            Dann gibt es einen neuen Menupunkt Scripte

            da0a5fb5-99c4-4d76-b99c-6847ead137d2-2021-03-11 at 16.35.jpg

            Dann auf das ➕ Symbol klicken und ein Javascript erstellen:

            309459b8-ac47-4476-adca-d96b54eafc9f-2021-03-11 at 16.36.jpg

            Da muss man ein bisschen testen um das zu verstehen, ging mir auch so.

            M Offline
            M Offline
            Manuel001
            wrote on last edited by Manuel001
            #14

            @socke Ich habe das Script eingebaut und für den einen Parameter der mich interessiert, angepasst.
            Allerding dürfte ich dabei einen oder mehrere Fehler gemacht haben:

            /**
             * 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[1].value));      
                   } 
                });
            });
            

            Welche Nummer gehört in die Eckige Klammer nach responseBody?
            (bin kein Programmierer)

            ttjadenT 1 Reply Last reply
            0
            • M Manuel001

              @socke Ich habe das Script eingebaut und für den einen Parameter der mich interessiert, angepasst.
              Allerding dürfte ich dabei einen oder mehrere Fehler gemacht haben:

              /**
               * 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[1].value));      
                     } 
                  });
              });
              

              Welche Nummer gehört in die Eckige Klammer nach responseBody?
              (bin kein Programmierer)

              ttjadenT Offline
              ttjadenT Offline
              ttjaden
              wrote on last edited by
              #15

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

              @socke Ich habe das Script eingebaut und für den einen Parameter der mich interessiert, angepasst.
              Allerding dürfte ich dabei einen oder mehrere Fehler gemacht haben:

              /**
               * 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[1].value));      
                     } 
                  });
              });
              

              Welche Nummer gehört in die Eckige Klammer nach responseBody?
              (bin kein Programmierer)

              Es liegt lediglich an der "1" in folgender Zeile

              setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[1]**.value));
              

              Einfach ändern auf

              setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[0]**.value));
              

              Hintergrund: Die abgefragten Werte (bei dir nur ein Wert) geben ein Array zurück. Hierbei ist der erste Eintrag immer mit 0 indexiert, der zweite mit 1, der dritte mit 2 , usw usw

              M 2 Replies Last reply
              0
              • ttjadenT ttjaden

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

                @socke Ich habe das Script eingebaut und für den einen Parameter der mich interessiert, angepasst.
                Allerding dürfte ich dabei einen oder mehrere Fehler gemacht haben:

                /**
                 * 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[1].value));      
                       } 
                    });
                });
                

                Welche Nummer gehört in die Eckige Klammer nach responseBody?
                (bin kein Programmierer)

                Es liegt lediglich an der "1" in folgender Zeile

                setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[1]**.value));
                

                Einfach ändern auf

                setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[0]**.value));
                

                Hintergrund: Die abgefragten Werte (bei dir nur ein Wert) geben ein Array zurück. Hierbei ist der erste Eintrag immer mit 0 indexiert, der zweite mit 1, der dritte mit 2 , usw usw

                M Offline
                M Offline
                Manuel001
                wrote on last edited by
                #16

                @ttjaden Kleine Ursache, große Wirkung. Es funktioniert! Vielen Dank!

                1 Reply Last reply
                0
                • ttjadenT ttjaden

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

                  @socke Ich habe das Script eingebaut und für den einen Parameter der mich interessiert, angepasst.
                  Allerding dürfte ich dabei einen oder mehrere Fehler gemacht haben:

                  /**
                   * 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[1].value));      
                         } 
                      });
                  });
                  

                  Welche Nummer gehört in die Eckige Klammer nach responseBody?
                  (bin kein Programmierer)

                  Es liegt lediglich an der "1" in folgender Zeile

                  setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[1]**.value));
                  

                  Einfach ändern auf

                  setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[0]**.value));
                  

                  Hintergrund: Die abgefragten Werte (bei dir nur ein Wert) geben ein Array zurück. Hierbei ist der erste Eintrag immer mit 0 indexiert, der zweite mit 1, der dritte mit 2 , usw usw

                  M Offline
                  M Offline
                  Manuel001
                  wrote on last edited by Manuel001
                  #17

                  @ttjaden Noch eine blöde Frage:
                  Wo und wie baue ich es ein, dass der übergebene Wert gleich mit Faktor 100 multipliziert wird? (Ausgabe in %)
                  Multiplikation sollte ja mit *= gehen.

                  ttjadenT 1 Reply Last reply
                  0
                  • M Manuel001

                    @ttjaden Noch eine blöde Frage:
                    Wo und wie baue ich es ein, dass der übergebene Wert gleich mit Faktor 100 multipliziert wird? (Ausgabe in %)
                    Multiplikation sollte ja mit *= gehen.

                    ttjadenT Offline
                    ttjadenT Offline
                    ttjaden
                    wrote on last edited by
                    #18

                    @manuel001
                    Das müsste dann hinter der vorletzten Klammer sein, denke ich.

                    setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[0]**.value) * 100); 
                    

                    Brauchte ich bisher noch nicht :)

                    M 1 Reply Last reply
                    0
                    • ttjadenT ttjaden

                      @manuel001
                      Das müsste dann hinter der vorletzten Klammer sein, denke ich.

                      setState('javascript.'+instance+'.Heizung.Verdichter', parseFloat(responseBody**[0]**.value) * 100); 
                      

                      Brauchte ich bisher noch nicht :)

                      M Offline
                      M Offline
                      Manuel001
                      wrote on last edited by
                      #19

                      @ttjaden Funktioniert, danke!

                      1 Reply Last reply
                      0
                      • X Offline
                        X Offline
                        x4nder
                        wrote on last edited by
                        #20

                        Moin zusammen,
                        ich habe seit gestern auch die M-Tec mit der Keba Steuerung und habe auch die Modbus Register parat. (Excel Datei)
                        Ich habe zum testen 10 Stück in meinem iOBroker angelegt und die Werte sind plausibel.
                        VG
                        Alex

                        M 1 Reply Last reply
                        0
                        • X x4nder

                          Moin zusammen,
                          ich habe seit gestern auch die M-Tec mit der Keba Steuerung und habe auch die Modbus Register parat. (Excel Datei)
                          Ich habe zum testen 10 Stück in meinem iOBroker angelegt und die Werte sind plausibel.
                          VG
                          Alex

                          M Offline
                          M Offline
                          Manuel001
                          wrote on last edited by
                          #21

                          @x4nder Hast du auch einen drehzahlgeregelten Verdichter? PV Überschussregelung?

                          X 1 Reply Last reply
                          0
                          • M Manuel001

                            @x4nder Hast du auch einen drehzahlgeregelten Verdichter? PV Überschussregelung?

                            X Offline
                            X Offline
                            x4nder
                            wrote on last edited by
                            #22

                            @manuel001
                            Ja, habe ich.
                            An der PV Geschichte sitze ich gerade rum.
                            Über einen SmartMeter würde es gehen. Ich will es über Modbus TCP steuern..
                            Habe ein Fronius Symo mit eine Fronius SmartMeter.

                            M 1 Reply Last reply
                            0
                            • X x4nder

                              @manuel001
                              Ja, habe ich.
                              An der PV Geschichte sitze ich gerade rum.
                              Über einen SmartMeter würde es gehen. Ich will es über Modbus TCP steuern..
                              Habe ein Fronius Symo mit eine Fronius SmartMeter.

                              M Offline
                              M Offline
                              Manuel001
                              wrote on last edited by
                              #23

                              @x4nder
                              Ja ich habe auch einen zusätzlichen SmartMeter für Überschussmessung gebraucht.
                              Gibt es mittlerweile eine Drehzahl in Prozent (Leistung) vom Verdichter in der Modbusliste?
                              Spätestens wenn man zusätzliche Verbraucher wie E-Auto steuern möchte, sollte man ja wissen ob die Heizung eh schon auf Vollgas läuft oder nur auf 40%.

                              1 Reply Last reply
                              0
                              • X Offline
                                X Offline
                                x4nder
                                wrote on last edited by
                                #24

                                @manuel001

                                bis dahin bin ich noch nicht gekommen.
                                Schau mal ob du damit was anfangen kannst.

                                Mod-Adresse; R/W; Factor; VariableName; Description;
                                712; R; 100; APPL.CtrlAppl.sParam.heatpump[0].CircPump.values.setValueScaled; Heat side actuator

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  Manuel001
                                  wrote on last edited by
                                  #25

                                  @x4nder Nein das ist leider nur die Heizungsumwälzpumpe.
                                  Vermutlich haben die eh noch immer nichts verbessert.
                                  Ich warte mal ab, bis du es integriert hast.
                                  Bin schon gespannt, was dir dann fehlt bzw. was dich am meisten stört.
                                  Vielleicht hilft es ja, wenn sich mehrere Leute beschweren.

                                  1 Reply Last reply
                                  0
                                  • X Offline
                                    X Offline
                                    x4nder
                                    wrote on last edited by x4nder
                                    #26

                                    EDIT: ich habe es hinbekommen.

                                    Hat einer geschafft die R/W Modubus Register zu beschreiben.
                                    Meine Änderungen werde nicht angenommen.

                                    VG
                                    Alex

                                    ttjadenT 1 Reply Last reply
                                    0
                                    • X x4nder

                                      EDIT: ich habe es hinbekommen.

                                      Hat einer geschafft die R/W Modubus Register zu beschreiben.
                                      Meine Änderungen werde nicht angenommen.

                                      VG
                                      Alex

                                      ttjadenT Offline
                                      ttjadenT Offline
                                      ttjaden
                                      wrote on last edited by
                                      #27

                                      @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 1 Reply Last reply
                                      0
                                      • 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
                                        wrote on last edited by
                                        #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 Reply Last reply
                                        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
                                          wrote on last edited by
                                          #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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          468

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe