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. ioBroker Allgemein
  4. Adapter für Buderus KM200 (und eventuell auch anderen KMxxx)

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    112

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    154

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    865

Adapter für Buderus KM200 (und eventuell auch anderen KMxxx)

Scheduled Pinned Locked Moved ioBroker Allgemein
686 Posts 99 Posters 243.2k Views 56 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.
  • F Offline
    F Offline
    fisch
    wrote on last edited by
    #274

    so das klingt ja alles sehr spannend....aber muss nochmal fragen...wie kann ich den Gasverbrauch berechnen bzw. direkt aus dem Adapter entnehmen und eventuell nach NodeRed senden.

    jmeister79J 1 Reply Last reply
    0
    • F fisch

      so das klingt ja alles sehr spannend....aber muss nochmal fragen...wie kann ich den Gasverbrauch berechnen bzw. direkt aus dem Adapter entnehmen und eventuell nach NodeRed senden.

      jmeister79J Offline
      jmeister79J Offline
      jmeister79
      wrote on last edited by
      #275

      @fisch ich hätte jetzt erwartet, dass du die Gesamtleistung aufzeichnest und mithilfe von Brennwert und Zustandszahl auf den m³ Verbrauch kommst

      Gasmenge (m³) * Brennwert * Zustandszahl = Arbeit (kWh).

      Die Werte kriegst Du vom Versorger, bzw stehen auf der Rechnung
      Nils

      F 1 Reply Last reply
      0
      • jmeister79J jmeister79

        @fisch ich hätte jetzt erwartet, dass du die Gesamtleistung aufzeichnest und mithilfe von Brennwert und Zustandszahl auf den m³ Verbrauch kommst

        Gasmenge (m³) * Brennwert * Zustandszahl = Arbeit (kWh).

        Die Werte kriegst Du vom Versorger, bzw stehen auf der Rechnung
        Nils

        F Offline
        F Offline
        fisch
        wrote on last edited by
        #276

        @jmeister79

        ok, danke... für deine Antwort !!!

        Aber so ganz klar ist mir das nicht, auf welche Werte ich in IoBroker zurückgreifen soll...

        sorry für meine doofen Fragen ...

        jmeister79J 1 Reply Last reply
        0
        • F fisch

          @jmeister79

          ok, danke... für deine Antwort !!!

          Aber so ganz klar ist mir das nicht, auf welche Werte ich in IoBroker zurückgreifen soll...

          sorry für meine doofen Fragen ...

          jmeister79J Offline
          jmeister79J Offline
          jmeister79
          wrote on last edited by
          #277

          @fisch dafür sind Foren doch da ;-)

          ich hab es ganz anders gemacht wie tom:

          ich habe für den aktuellen Tag jeweils das letzte Element des Arrays

          km200.0.recordings.heatSources.actualPower._Days
          

          genommen und das kannst Du umrechnen.

          Wie Tom es gemacht hat kannst Du ende April lesen

          F 1 Reply Last reply
          0
          • jmeister79J jmeister79

            @fisch dafür sind Foren doch da ;-)

            ich hab es ganz anders gemacht wie tom:

            ich habe für den aktuellen Tag jeweils das letzte Element des Arrays

            km200.0.recordings.heatSources.actualPower._Days
            

            genommen und das kannst Du umrechnen.

            Wie Tom es gemacht hat kannst Du ende April lesen

            F Offline
            F Offline
            fisch
            wrote on last edited by
            #278

            @jmeister79

            ok - was bedeutet der letzte wert genau?

            Un wenn ich stündlich will, nehme ich da auch den letzten Wert?

            jmeister79J 1 Reply Last reply
            0
            • F fisch

              @jmeister79

              ok - was bedeutet der letzte wert genau?

              Un wenn ich stündlich will, nehme ich da auch den letzten Wert?

              jmeister79J Offline
              jmeister79J Offline
              jmeister79
              wrote on last edited by
              #279

              @fisch
              Das ist Buderus' Interpretation eines Arrays, die fügen jeden Tag (ich schätze um 0:00) einen neuen Tageswert hinten an.
              Somit ist der letzte der aktuellste:
              [15.2,17.3,14.5,17.0] 1z ist hier der jüngste.

              var temp = getState('km200.0.recordings.heatSources.actualPower._Days').val;
                      temp = temp.toString().replace(/\[/g, "");   //[ löschen wenn vorhanden
                      temp = temp.toString().replace(/\]/g, ""); //] löschen wenn vohanden
                      temp = temp.toString().replace(/\ /g, ""); //leerzeichen löschen wenn vorhanden
                      var tempArray = temp.split(",");   //komischen pseudokram zu einem ordentlichen array machen
                      var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                      setState('javascript.0.Heizung.Verbrauch.Energie.Daily', value1, true);// wegschreiben
              

              Wenn Du es für alle drei Verbrauchswerte haben willst:

                  //verbrauch heizung
                  var powertype =['actualCHPower','actualDHWPower','actualPower']
              
                  for(var n=0; n<3; n++){
                      var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;
                      temp = temp.toString().replace(/\[/g, "");
                      temp = temp.toString().replace(/\]/g, "");
                      temp = temp.toString().replace(/\ /g, "");
                      var tempArray = temp.split(","); 
                      var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                      var value2 = Math.round(100*tempArray.slice(-2)[0])/100; //vorletztes element: gestern
                      setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                      setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Yesterday', value2, true);
                      var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Months').val;
                      temp = temp.toString().replace(/\[/g, "");
                      temp = temp.toString().replace(/\]/g, "");
                      temp = temp.toString().replace(/\ /g, "");
                      var tempArray = temp.split(","); 
                      setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Monthly', parseFloat(tempArray[0]), true);
                  }
              
              F 1 Reply Last reply
              -1
              • jmeister79J jmeister79

                @fisch
                Das ist Buderus' Interpretation eines Arrays, die fügen jeden Tag (ich schätze um 0:00) einen neuen Tageswert hinten an.
                Somit ist der letzte der aktuellste:
                [15.2,17.3,14.5,17.0] 1z ist hier der jüngste.

                var temp = getState('km200.0.recordings.heatSources.actualPower._Days').val;
                        temp = temp.toString().replace(/\[/g, "");   //[ löschen wenn vorhanden
                        temp = temp.toString().replace(/\]/g, ""); //] löschen wenn vohanden
                        temp = temp.toString().replace(/\ /g, ""); //leerzeichen löschen wenn vorhanden
                        var tempArray = temp.split(",");   //komischen pseudokram zu einem ordentlichen array machen
                        var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                        setState('javascript.0.Heizung.Verbrauch.Energie.Daily', value1, true);// wegschreiben
                

                Wenn Du es für alle drei Verbrauchswerte haben willst:

                    //verbrauch heizung
                    var powertype =['actualCHPower','actualDHWPower','actualPower']
                
                    for(var n=0; n<3; n++){
                        var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;
                        temp = temp.toString().replace(/\[/g, "");
                        temp = temp.toString().replace(/\]/g, "");
                        temp = temp.toString().replace(/\ /g, "");
                        var tempArray = temp.split(","); 
                        var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                        var value2 = Math.round(100*tempArray.slice(-2)[0])/100; //vorletztes element: gestern
                        setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                        setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Yesterday', value2, true);
                        var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Months').val;
                        temp = temp.toString().replace(/\[/g, "");
                        temp = temp.toString().replace(/\]/g, "");
                        temp = temp.toString().replace(/\ /g, "");
                        var tempArray = temp.split(","); 
                        setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Monthly', parseFloat(tempArray[0]), true);
                    }
                
                F Offline
                F Offline
                fisch
                wrote on last edited by
                #280

                @jmeister79

                super erstmal vielen dank für deine Hilfe!!!

                letze Frage , kann ich das Script einfach von hier übernehmen und in javascript adapter einfügen..oder muss nochmal etwas beachtet werden?

                jmeister79J 1 Reply Last reply
                0
                • F fisch

                  @jmeister79

                  super erstmal vielen dank für deine Hilfe!!!

                  letze Frage , kann ich das Script einfach von hier übernehmen und in javascript adapter einfügen..oder muss nochmal etwas beachtet werden?

                  jmeister79J Offline
                  jmeister79J Offline
                  jmeister79
                  wrote on last edited by
                  #281

                  @fisch du brauchst noch die datenpunkte und musst schauen ob die bei dir so heißen.

                  F 1 Reply Last reply
                  0
                  • jmeister79J jmeister79

                    @fisch du brauchst noch die datenpunkte und musst schauen ob die bei dir so heißen.

                    F Offline
                    F Offline
                    fisch
                    wrote on last edited by
                    #282

                    @jmeister79

                    so super skripte laufen... aber es sind lediglich diese zwei Datenpunkte angelegt. Kommt das andere dann noch?

                    Bildschirmfoto 2019-11-16 um 12.57.53.png

                    1 Reply Last reply
                    0
                    • jmeister79J Offline
                      jmeister79J Offline
                      jmeister79
                      wrote on last edited by jmeister79
                      #283

                      das muss noch in das zweite script:

                      createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});
                      createState("javascript.0.Heizung.Verbrauch.actualCHPower.Yesterday", 0.0, {name: "Verbrauch Heizkreise gestern ", type: 'number', unit: 'kWh'});
                      createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});
                      createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Yesterday", 0.0, {name: "Verbrauch Warmwasser gestern", type: 'number', unit: 'kWh'});
                      createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});
                      createState("javascript.0.Heizung.Verbrauch.actualPower.Yesterday", 0.0, {name: "Verbrauch Gesamtsystem gestern", type: 'number', unit: 'kWh'});
                      

                      du brauchst nur eines der scripte btw

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        fisch
                        wrote on last edited by fisch
                        #284

                        @jmeister79

                        alos so dann ? Bzw. so habe ich es angelegt, States kommen aber keine ... mmm .

                         //verbrauch heizung
                             var powertype =['actualCHPower','actualDHWPower','actualPower']
                          
                             for(var n=0; n<3; n++){
                                 var temp = getState('km200.0.recordings.system.heatSources.'+powertype[n]+'._Days').val;
                                 temp = temp.toString().replace(/[/g, "");
                                 temp = temp.toString().replace(/]/g, "");
                                 temp = temp.toString().replace(/\ /g, "");
                                 var tempArray = temp.split(","); 
                                 var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                                 var value2 = Math.round(100*tempArray.slice(-2)[0])/100; //vorletztes element: gestern
                                 setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                                 setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Yesterday', value2, true);
                                 var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Months').val;
                                 temp = temp.toString().replace(/[/g, "");
                                 temp = temp.toString().replace(/]/g, "");
                                 temp = temp.toString().replace(/\ /g, "");
                                 var tempArray = temp.split(","); 
                                 setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Monthly', parseFloat(tempArray[0]), true);
                                 createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});
                        createState("javascript.0.Heizung.Verbrauch.actualCHPower.Yesterday", 0.0, {name: "Verbrauch Heizkreise gestern ", type: 'number', unit: 'kWh'});
                        createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});
                        createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Yesterday", 0.0, {name: "Verbrauch Warmwasser gestern", type: 'number', unit: 'kWh'});
                        createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});
                        createState("javascript.0.Heizung.Verbrauch.actualPower.Yesterday", 0.0, {name: "Verbrauch Gesamtsystem gestern", type: 'number', unit: 'kWh'});
                             }
                        
                        
                        
                        F 1 Reply Last reply
                        0
                        • F fisch

                          @jmeister79

                          alos so dann ? Bzw. so habe ich es angelegt, States kommen aber keine ... mmm .

                           //verbrauch heizung
                               var powertype =['actualCHPower','actualDHWPower','actualPower']
                            
                               for(var n=0; n<3; n++){
                                   var temp = getState('km200.0.recordings.system.heatSources.'+powertype[n]+'._Days').val;
                                   temp = temp.toString().replace(/[/g, "");
                                   temp = temp.toString().replace(/]/g, "");
                                   temp = temp.toString().replace(/\ /g, "");
                                   var tempArray = temp.split(","); 
                                   var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                                   var value2 = Math.round(100*tempArray.slice(-2)[0])/100; //vorletztes element: gestern
                                   setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                                   setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Yesterday', value2, true);
                                   var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Months').val;
                                   temp = temp.toString().replace(/[/g, "");
                                   temp = temp.toString().replace(/]/g, "");
                                   temp = temp.toString().replace(/\ /g, "");
                                   var tempArray = temp.split(","); 
                                   setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Monthly', parseFloat(tempArray[0]), true);
                                   createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});
                          createState("javascript.0.Heizung.Verbrauch.actualCHPower.Yesterday", 0.0, {name: "Verbrauch Heizkreise gestern ", type: 'number', unit: 'kWh'});
                          createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});
                          createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Yesterday", 0.0, {name: "Verbrauch Warmwasser gestern", type: 'number', unit: 'kWh'});
                          createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});
                          createState("javascript.0.Heizung.Verbrauch.actualPower.Yesterday", 0.0, {name: "Verbrauch Gesamtsystem gestern", type: 'number', unit: 'kWh'});
                               }
                          
                          
                          
                          F Offline
                          F Offline
                          fisch
                          wrote on last edited by
                          #285

                          @fisch said in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):

                                                                                                                                                       //verbrauch heizung                                                                                                                                                                                 var powertype =['actualCHPower','actualDHWPower','actualPower']                                                                                                                                                                                                                                                                                                                                                               for(var n=0; n<3; n++){                                                                                                                                                                                     var temp = getState('km200.0.recordings.system.heatSources.'+powertype[n]+'._Days').val;                                                                                                                                                                                     temp = temp.toString().replace(/[/g, "");                                                                                                                                                                                     temp = temp.toString().replace(/]/g, "");                                                                                                                                                                                     temp = temp.toString().replace(/\ /g, "");                                                                                                                                                                                     var tempArray = temp.split(",");                                                                                                                                                                                      var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute                                                                                                                                                                                     var value2 = Math.round(100*tempArray.slice(-2)[0])/100; //vorletztes element: gestern                                                                                                                                                                                     setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);                                                                                                                                                                                     setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Yesterday', value2, true);                                                                                                                                                                                     var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Months').val;                                                                                                                                                                                     temp = temp.toString().replace(/[/g, "");                                                                                                                                                                                     temp = temp.toString().replace(/]/g, "");                                                                                                                                                                                     temp = temp.toString().replace(/\ /g, "");                                                                                                                                                                                     var tempArray = temp.split(",");                                                                                                                                                                                      setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Monthly', parseFloat(tempArray[0]), true);                                                                                                                                                                                     createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualCHPower.Yesterday", 0.0, {name: "Verbrauch Heizkreise gestern ", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Yesterday", 0.0, {name: "Verbrauch Warmwasser gestern", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualPower.Yesterday", 0.0, {name: "Verbrauch Gesamtsystem gestern", type: 'number', unit: 'kWh'});                                                                                                                                                                                 }                                                                                                                                                                                                                                                                                                                                                                                                      
                          

                          bekomme error:

                          javascript.0 (21539) script.js.Heizung.Verbrauch compile failed:
                          at script.js.Heizung.Verbrauch:6

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            fisch
                            wrote on last edited by
                            #286

                            mmmm leider meldet das Skript bei mir in Zeile 6 Fehler...übrigens habe ich doch keine Pfade ändern müssen..genauso wie in deinem Skript...

                            Hast du vielleicht noch eine Idee?

                            1 Reply Last reply
                            0
                            • jmeister79J Offline
                              jmeister79J Offline
                              jmeister79
                              wrote on last edited by
                              #287

                              natürlich müssen die createstate am anfang sein. Sonst hast du ja keinerlei states.
                              auch brauchst du n trigger, sonst wird da garnichts ausgeführt.

                              ichs chick dir dann mal das ganze programm, dies war ja nur der teil der die berechnung asuführt, das ist bei mir in einem riesen programm drin, dass alle meine verbrauchsberechnungen ausführt

                              1 Reply Last reply
                              0
                              • jmeister79J Offline
                                jmeister79J Offline
                                jmeister79
                                wrote on last edited by
                                #288

                                hab den rest mal rausgeworfen.
                                ohne trigger (hier minülich zum debuggen) würde das programm doch niemals ausgeführt werden.

                                Du kannst mal nachsehen ob du es evtl nur einmal am tag (vielleicht um 00:05) ausführen willst

                                
                                createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});
                                createState("javascript.0.Heizung.Verbrauch.actualCHPower.Yesterday", 0.0, {name: "Verbrauch Heizkreise gestern ", type: 'number', unit: 'kWh'});
                                createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});
                                createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Yesterday", 0.0, {name: "Verbrauch Warmwasser gestern", type: 'number', unit: 'kWh'});
                                createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});
                                createState("javascript.0.Heizung.Verbrauch.actualPower.Yesterday", 0.0, {name: "Verbrauch Gesamtsystem gestern", type: 'number', unit: 'kWh'});
                                
                                schedule("* * * * *", function () {
                                
                                
                                    //verbrauch heizung
                                    var powertype =['actualCHPower','actualDHWPower','actualPower']
                                
                                    for(var n=0; n<3; n++){
                                        var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;
                                        temp = temp.toString().replace(/\[/g, "");
                                        temp = temp.toString().replace(/\]/g, "");
                                        temp = temp.toString().replace(/\ /g, "");
                                        var tempArray = temp.split(","); 
                                        var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                                        var value2 = Math.round(100*tempArray.slice(-2)[0])/100; //vorletztes element: gestern
                                        setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                                        setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Yesterday', value2, true);
                                        var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Months').val;
                                        temp = temp.toString().replace(/\[/g, "");
                                        temp = temp.toString().replace(/\]/g, "");
                                        temp = temp.toString().replace(/\ /g, "");
                                        var tempArray = temp.split(","); 
                                        setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Monthly', parseFloat(tempArray[0]), true);
                                    }
                                
                                });
                                
                                F 1 Reply Last reply
                                0
                                • jmeister79J jmeister79

                                  hab den rest mal rausgeworfen.
                                  ohne trigger (hier minülich zum debuggen) würde das programm doch niemals ausgeführt werden.

                                  Du kannst mal nachsehen ob du es evtl nur einmal am tag (vielleicht um 00:05) ausführen willst

                                  
                                  createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});
                                  createState("javascript.0.Heizung.Verbrauch.actualCHPower.Yesterday", 0.0, {name: "Verbrauch Heizkreise gestern ", type: 'number', unit: 'kWh'});
                                  createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});
                                  createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Yesterday", 0.0, {name: "Verbrauch Warmwasser gestern", type: 'number', unit: 'kWh'});
                                  createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});
                                  createState("javascript.0.Heizung.Verbrauch.actualPower.Yesterday", 0.0, {name: "Verbrauch Gesamtsystem gestern", type: 'number', unit: 'kWh'});
                                  
                                  schedule("* * * * *", function () {
                                  
                                  
                                      //verbrauch heizung
                                      var powertype =['actualCHPower','actualDHWPower','actualPower']
                                  
                                      for(var n=0; n<3; n++){
                                          var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;
                                          temp = temp.toString().replace(/\[/g, "");
                                          temp = temp.toString().replace(/\]/g, "");
                                          temp = temp.toString().replace(/\ /g, "");
                                          var tempArray = temp.split(","); 
                                          var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                                          var value2 = Math.round(100*tempArray.slice(-2)[0])/100; //vorletztes element: gestern
                                          setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                                          setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Yesterday', value2, true);
                                          var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Months').val;
                                          temp = temp.toString().replace(/\[/g, "");
                                          temp = temp.toString().replace(/\]/g, "");
                                          temp = temp.toString().replace(/\ /g, "");
                                          var tempArray = temp.split(","); 
                                          setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Monthly', parseFloat(tempArray[0]), true);
                                      }
                                  
                                  });
                                  
                                  F Offline
                                  F Offline
                                  fisch
                                  wrote on last edited by
                                  #289

                                  @jmeister79

                                  hey vielen dank...das du mir hilfst ..brauvhe nur die werte in iobroker..weiterverarbeitung in nodered ist klar...

                                  habe jetzt Gensau das Skript genommen und erhalte die Fehlermeldung...

                                  Bildschirmfoto 2019-11-17 um 07.40.46.png

                                  jmeister79J 1 Reply Last reply
                                  0
                                  • F fisch

                                    @jmeister79

                                    hey vielen dank...das du mir hilfst ..brauvhe nur die werte in iobroker..weiterverarbeitung in nodered ist klar...

                                    habe jetzt Gensau das Skript genommen und erhalte die Fehlermeldung...

                                    Bildschirmfoto 2019-11-17 um 07.40.46.png

                                    jmeister79J Offline
                                    jmeister79J Offline
                                    jmeister79
                                    wrote on last edited by
                                    #290

                                    @fisch

                                    hm..
                                    nehmen wir das mal auseinander

                                    die states am anfang wurden angelegt? Kannst Du sie sehen?

                                    Die drei werte die ich in der FOR Schleife abfrage gibt es auch?
                                    km200.0.recordings.heatSources.actualCHPower._Days usw?

                                    was ich grad noch sehe:

                                    Zeile 24 bis 29 müssen raus.
                                    hatte ja gesagt, es ist teil eines großen scripts bei mir

                                    createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});
                                    createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});
                                    createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});
                                     
                                    schedule("* * * * *", function () {
                                     
                                        //verbrauch heizung
                                        var powertype =['actualCHPower','actualDHWPower','actualPower']
                                     
                                        for(var n=0; n<3; n++){
                                            var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;
                                            temp = temp.toString().replace(/[/g, "");
                                            temp = temp.toString().replace(/]/g, "");
                                            temp = temp.toString().replace(/\ /g, "");
                                            var tempArray = temp.split(","); 
                                            var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                                            setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                                        }
                                     
                                    });
                                    
                                    

                                    die yesterday werte brauchst du evtl auch nicht

                                    F 1 Reply Last reply
                                    0
                                    • jmeister79J jmeister79

                                      @fisch

                                      hm..
                                      nehmen wir das mal auseinander

                                      die states am anfang wurden angelegt? Kannst Du sie sehen?

                                      Die drei werte die ich in der FOR Schleife abfrage gibt es auch?
                                      km200.0.recordings.heatSources.actualCHPower._Days usw?

                                      was ich grad noch sehe:

                                      Zeile 24 bis 29 müssen raus.
                                      hatte ja gesagt, es ist teil eines großen scripts bei mir

                                      createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});
                                      createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});
                                      createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});
                                       
                                      schedule("* * * * *", function () {
                                       
                                          //verbrauch heizung
                                          var powertype =['actualCHPower','actualDHWPower','actualPower']
                                       
                                          for(var n=0; n<3; n++){
                                              var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;
                                              temp = temp.toString().replace(/[/g, "");
                                              temp = temp.toString().replace(/]/g, "");
                                              temp = temp.toString().replace(/\ /g, "");
                                              var tempArray = temp.split(","); 
                                              var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute
                                              setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);
                                          }
                                       
                                      });
                                      
                                      

                                      die yesterday werte brauchst du evtl auch nicht

                                      F Offline
                                      F Offline
                                      fisch
                                      wrote on last edited by
                                      #291

                                      @jmeister79 said in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):

                                                                                                                                                                  createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});                                                                                                                                                                                                                                                                                                                                                         schedule("* * * * *", function () {                                                                                                                                                                                                                                                                                                                                                             //verbrauch heizung                                                                                                                                                                                var powertype =['actualCHPower','actualDHWPower','actualPower']                                                                                                                                                                                                                                                                                                                                                             for(var n=0; n<3; n++){                                                                                                                                                                                    var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;                                                                                                                                                                                    temp = temp.toString().replace(/[/g, "");                                                                                                                                                                                    temp = temp.toString().replace(/]/g, "");                                                                                                                                                                                    temp = temp.toString().replace(/\ /g, "");                                                                                                                                                                                    var tempArray = temp.split(",");                                                                                                                                                                                     var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute                                                                                                                                                                                    setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);                                                                                                                                                                                }                                                                                                                                                                                                                                                                                                                                                         });                                                                                                                                                                                                                         
                                      

                                      so habe jetzt nur mal die states angelegt mitten ersten drei Zeilen von dir...

                                      wenn ich alles auf einmal reinpacke bricht das Skript ab...mitd er Fehlermeldung..

                                      Bildschirmfoto 2019-11-17 um 12.14.42.png

                                      jmeister79J 1 Reply Last reply
                                      0
                                      • F fisch

                                        @jmeister79 said in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):

                                                                                                                                                                    createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'});                                                                                                                                                                            createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'});                                                                                                                                                                                                                                                                                                                                                         schedule("* * * * *", function () {                                                                                                                                                                                                                                                                                                                                                             //verbrauch heizung                                                                                                                                                                                var powertype =['actualCHPower','actualDHWPower','actualPower']                                                                                                                                                                                                                                                                                                                                                             for(var n=0; n<3; n++){                                                                                                                                                                                    var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val;                                                                                                                                                                                    temp = temp.toString().replace(/[/g, "");                                                                                                                                                                                    temp = temp.toString().replace(/]/g, "");                                                                                                                                                                                    temp = temp.toString().replace(/\ /g, "");                                                                                                                                                                                    var tempArray = temp.split(",");                                                                                                                                                                                     var value1 = Math.round(100*tempArray.slice(-1))/100; //letztes element: heute                                                                                                                                                                                    setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true);                                                                                                                                                                                }                                                                                                                                                                                                                                                                                                                                                         });                                                                                                                                                                                                                         
                                        

                                        so habe jetzt nur mal die states angelegt mitten ersten drei Zeilen von dir...

                                        wenn ich alles auf einmal reinpacke bricht das Skript ab...mitd er Fehlermeldung..

                                        Bildschirmfoto 2019-11-17 um 12.14.42.png

                                        jmeister79J Offline
                                        jmeister79J Offline
                                        jmeister79
                                        wrote on last edited by
                                        #292

                                        @fisch said in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):

                                        createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'}); createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'}); createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'}); schedule("* * * * ", function () { //verbrauch heizung var powertype =['actualCHPower','actualDHWPower','actualPower'] for(var n=0; n<3; n++){ var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val; temp = temp.toString().replace(/[/g, ""); temp = temp.toString().replace(/]/g, ""); temp = temp.toString().replace(/\ /g, ""); var tempArray = temp.split(","); var value1 = Math.round(100tempArray.slice(-1))/100; //letztes element: heute setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true); } });

                                        git es denn die werte de du abfragst als objekte im km200 adapter?

                                        F 1 Reply Last reply
                                        0
                                        • jmeister79J jmeister79

                                          @fisch said in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):

                                          createState("javascript.0.Heizung.Verbrauch.actualCHPower.Daily", 0.0, {name: "Verbrauch Heizkreise heute", type: 'number', unit: 'kWh'}); createState("javascript.0.Heizung.Verbrauch.actualDHWPower.Daily", 0.0, {name: "Verbrauch Warmwasser heute", type: 'number', unit: 'kWh'}); createState("javascript.0.Heizung.Verbrauch.actualPower.Daily", 0.0, {name: "Verbrauch Gesamtsystem heute", type: 'number', unit: 'kWh'}); schedule("* * * * ", function () { //verbrauch heizung var powertype =['actualCHPower','actualDHWPower','actualPower'] for(var n=0; n<3; n++){ var temp = getState('km200.0.recordings.heatSources.'+powertype[n]+'._Days').val; temp = temp.toString().replace(/[/g, ""); temp = temp.toString().replace(/]/g, ""); temp = temp.toString().replace(/\ /g, ""); var tempArray = temp.split(","); var value1 = Math.round(100tempArray.slice(-1))/100; //letztes element: heute setState('javascript.0.Heizung.Verbrauch.'+powertype[n]+'.Daily', value1, true); } });

                                          git es denn die werte de du abfragst als objekte im km200 adapter?

                                          F Offline
                                          F Offline
                                          fisch
                                          wrote on last edited by
                                          #293

                                          @jmeister79

                                          siehe screenshot

                                          Bildschirmfoto 2019-11-17 um 13.03.22.png

                                          jmeister79J 1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          482

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          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