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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    125

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Keba KeEnergy Heizungssteuerung (M-TEC WP) in Smarthome

Geplant Angeheftet Gesperrt Verschoben Hardware
keba keenergy m-tec modbus
149 Beiträge 27 Kommentatoren 31.0k 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.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antworten Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #16

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

        1 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #19

              @ttjaden Funktioniert, danke!

              1 Antwort Letzte Antwort
              0
              • X Offline
                X Offline
                x4nder
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #21

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

                  X 1 Antwort Letzte Antwort
                  0
                  • M Manuel001

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

                    X Offline
                    X Offline
                    x4nder
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • X Offline
                        X Offline
                        x4nder
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          Manuel001
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • X Offline
                            X Offline
                            x4nder
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          384

                                          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