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

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.6k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
686 Beiträge 99 Kommentatoren 223.1k Aufrufe 56 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.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #278

      @jmeister79

      ok - was bedeutet der letzte wert genau?

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

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

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

            F 1 Antwort Letzte Antwort
            0
            • jmeister79J jmeister79

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

              F Offline
              F Offline
              fisch
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • jmeister79J Offline
                jmeister79J Offline
                jmeister79
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                0
                • F Offline
                  F Offline
                  fisch
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • F Offline
                      F Offline
                      fisch
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • jmeister79J Offline
                        jmeister79J Offline
                        jmeister79
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • jmeister79J Offline
                          jmeister79J Offline
                          jmeister79
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #293

                                    @jmeister79

                                    siehe screenshot

                                    Bildschirmfoto 2019-11-17 um 13.03.22.png

                                    jmeister79J 1 Antwort Letzte Antwort
                                    0
                                    • F fisch

                                      @jmeister79

                                      siehe screenshot

                                      Bildschirmfoto 2019-11-17 um 13.03.22.png

                                      jmeister79J Offline
                                      jmeister79J Offline
                                      jmeister79
                                      schrieb am zuletzt editiert von jmeister79
                                      #294

                                      @fisch jetzt sehe ich es.

                                      escape doch mal bitte in den replace zeilen die drei characters

                                      so

                                      temp = temp.toString().replace(/\[/g, "");
                                            temp = temp.toString().replace(/\]/g, "");
                                            temp = temp.toString().replace(/\ /g, "");
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • jmeister79J Offline
                                        jmeister79J Offline
                                        jmeister79
                                        schrieb am zuletzt editiert von jmeister79
                                        #295

                                        verdammt hier schluckt er die "" also:
                                        vor [ , ] udn das leerzeichen ejweil ein \

                                        Sorry hab übersehen, dass er das verschluckt hat

                                        F 1 Antwort Letzte Antwort
                                        0
                                        • jmeister79J jmeister79

                                          verdammt hier schluckt er die "" also:
                                          vor [ , ] udn das leerzeichen ejweil ein \

                                          Sorry hab übersehen, dass er das verschluckt hat

                                          F Offline
                                          F Offline
                                          fisch
                                          schrieb am zuletzt editiert von fisch
                                          #296

                                          @jmeister79

                                          sorry ich , dass ich es nicht kapiere :-) ist es in Zeile 12/13/14 so schonmal richtig?

                                          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);
                                              }
                                           
                                          });
                                          

                                          Jetzt meckert er bei Zeile 15

                                          javascript.0 (10765) script.js.Skript_1 compile failed:
                                          at script.js.Skript_1:15

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          656

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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