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.4k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
686 Beiträge 99 Kommentatoren 222.6k 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.
  • efxzE Offline
    efxzE Offline
    efxz
    schrieb am zuletzt editiert von
    #265

    Danke für die Info. Hat jemand mit der Steuerung Zirkulationspumpe über Sonoff TH16 oder Shelly Erfahrung?

    1 Antwort Letzte Antwort
    0
    • W Werner303

      @frankjoke
      Ich bin am Verzweifeln. Wie ich unter dem Thema "km200 - findet nicht die service parameter" beschrieben habe, komme ich mit Deinem Adapter nicht weiter. Ich erhalte ein ähnliches Bild wie Du es beschrieben hast. Ich habe alles versucht, die Heizung zurückgesetzt und neues Passwort vergeben, benutze die neue Version, mit Gerätepasswort und habe auch das private Passwort eingetragen. Leider erhalte ich immer die Fehlermeldung. Was kann ich noch falsch machen?

      W Offline
      W Offline
      Werner303
      schrieb am zuletzt editiert von
      #266

      @Werner303 Problem ist jetzt gelöst:
      Resetten des Buderus KM200. Löschung aller Daten bei Bosch. Neuanmeldung der Anlage. Gesamtzurücksetzung aller km200 Daten im ioBroker. Jetzt funktioniert es einwandfrei.

      H 1 Antwort Letzte Antwort
      0
      • T tp1de

        Für diejenigen die es interessiert stelle ich gerne mein Script zur Verfügung, welches den Gesamtenergieverbrauch und den Warmwasseranteil per SQL in die States schreibt. (Zur Darstellung mit Flot). Voraussetzung ist ein aktiver SQL-Adapter mit der Instanz 0 (sql.0).

        Es werden States erzeugt und dann für sql.0 enabled.
        Es kann sein, dass bei der Javascript-Instanz mcrypt als zusätzliches NPM Modul eingefügt werden muss. Im code wird vorausgesetzt, dass javascript als Instanz 0 läuft. ggfs. anpassen.

        Ich habe noch ein Timing-Problem, da die States angelegt, dann enabled und danach in der Tabelle datapoints nach der zugehörigen id gesucht wird. Beim ersten Durchlauch können Fehlermeldungen auftreten, da die Datenbankeinträge noch nicht vorhanden sind. Ich habe die beiden Zeilen (create_states, enable_states) nach der Anlage dann auskommentiert.

        Wie gesagt, ich bin noch am Anfang JS richtig zu verstehen. Also bitte gerne den Code verbessern.
        Im Code sind die IP-Adresse des Buderus-Gateways und die Passwörter analog dem Adapter anzupassen.
        Buderus Recordings.txt

        Schreibt bitte, ob es bei Euch funktioniert.
        Grüße Thomas

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

        @tom57
        ich habe mir mal dein Script angeschaut, hut ab, dass ist wirklich sehr gut geworden (und du sagst du bist nicht so fit in js, dafür ist das hammer)

        Ich stelle jetzt mal ganz ketzerisch die Frage warum nicht einfach zB den Datenpunkt "km200.0.recordings.heatSources.actualCHPower._Hours" schaust und bei änderung den jüngsten Wert ausliest und in eine Variable schreibst, die dann mit history überwachen.
        Die kodierung ist ja relativ simpel.

        Wenn ich jetzt nicht etwas übersehen habe dann würde ich das zu morgen mal kodieren.

        LG
        Nils

        ps.: Ich hab nach ewigem Versuchen endlich hinbekommen die Programme zu visualisieren. Interesse am Script?
        Ich bastel grad daran sie aus dem VIS zu Editieren.

        programme.png

        T 1 Antwort Letzte Antwort
        0
        • jmeister79J jmeister79

          @tom57
          ich habe mir mal dein Script angeschaut, hut ab, dass ist wirklich sehr gut geworden (und du sagst du bist nicht so fit in js, dafür ist das hammer)

          Ich stelle jetzt mal ganz ketzerisch die Frage warum nicht einfach zB den Datenpunkt "km200.0.recordings.heatSources.actualCHPower._Hours" schaust und bei änderung den jüngsten Wert ausliest und in eine Variable schreibst, die dann mit history überwachen.
          Die kodierung ist ja relativ simpel.

          Wenn ich jetzt nicht etwas übersehen habe dann würde ich das zu morgen mal kodieren.

          LG
          Nils

          ps.: Ich hab nach ewigem Versuchen endlich hinbekommen die Programme zu visualisieren. Interesse am Script?
          Ich bastel grad daran sie aus dem VIS zu Editieren.

          programme.png

          T Offline
          T Offline
          tp1de
          schrieb am zuletzt editiert von
          #268

          @jmeister79
          Hallo Nils, das sieht ja interessant aus. Ich würde mich freuen, wenn du das Skript / Vis View zur Verfügung stellen könntest.

          Zu den Recordings:
          Ich benutze den km200 Adapter schon lange und hatte eine Menge Probleme damit, dass die States z.T. neu angelegt wurden und dann unter anderen ID's in der SQL-Datenbank auftauchten. Auch war mir der minimale Aktualisierungszeitraum zu groß. Also nutze ich seit über einem Jahr eigene Skripts und eine eigene Datenstruktur mit den für mich wichtigen Daten.

          So auch bei den Recordings:
          Die Recordings liefern Verbrauchsdaten für den Verbrauch (Gesamt / Warmwasseraufbereitung) für Stunden je Tag, Tag je Monat und Monat je Jahr. Also kannst Du z.B. auch die Monatsdaten der Vergangenheit lesen. Z.B. die Monatsverbräuche des letzten Jahres. Im Adapter gab es dabei leichte Unstimmigkeiten bei der Umrechnung auf die Anzahl der Tage pro Monat - Ist vielleicht behoben, dass weiss ich nicht.

          Der Vorteil keine eigene Fortschreibung zu implementieren ist es, dass die Verbrauchsdaten auch stimmen, wenn ioBroker down ist bzw. upgedated wird und dass die Daten mit denen des Portals übereinstimmen.
          Bei mir stimmen die Daten mit ca. 1% Abweichung mit dem gemessenen Gasverbrauch überein (Logano Plus KB192i mit IP intern).

          Ich hatte vor der Installation des Buderus Kessels die Heizungssteuerung selbst programmiert und in VIS dargestellt. Nun mit dem Buderus-Kessel habe ich die Darstellung nahezu 1:1 übernommen und versucht die Regelungsparameter und die Heizungspumpen zu optimieren. Dazu lese ich ca. 10 Werte alle 30 Sekunden aus.
          So sieht das dann aus mit den Eingabewerten:

          47c470d8-1ea8-4f6a-8d31-f58db53cf2d6-grafik.png

          Grüße Thomas

          jmeister79J 1 Antwort Letzte Antwort
          0
          • T tp1de

            @jmeister79
            Hallo Nils, das sieht ja interessant aus. Ich würde mich freuen, wenn du das Skript / Vis View zur Verfügung stellen könntest.

            Zu den Recordings:
            Ich benutze den km200 Adapter schon lange und hatte eine Menge Probleme damit, dass die States z.T. neu angelegt wurden und dann unter anderen ID's in der SQL-Datenbank auftauchten. Auch war mir der minimale Aktualisierungszeitraum zu groß. Also nutze ich seit über einem Jahr eigene Skripts und eine eigene Datenstruktur mit den für mich wichtigen Daten.

            So auch bei den Recordings:
            Die Recordings liefern Verbrauchsdaten für den Verbrauch (Gesamt / Warmwasseraufbereitung) für Stunden je Tag, Tag je Monat und Monat je Jahr. Also kannst Du z.B. auch die Monatsdaten der Vergangenheit lesen. Z.B. die Monatsverbräuche des letzten Jahres. Im Adapter gab es dabei leichte Unstimmigkeiten bei der Umrechnung auf die Anzahl der Tage pro Monat - Ist vielleicht behoben, dass weiss ich nicht.

            Der Vorteil keine eigene Fortschreibung zu implementieren ist es, dass die Verbrauchsdaten auch stimmen, wenn ioBroker down ist bzw. upgedated wird und dass die Daten mit denen des Portals übereinstimmen.
            Bei mir stimmen die Daten mit ca. 1% Abweichung mit dem gemessenen Gasverbrauch überein (Logano Plus KB192i mit IP intern).

            Ich hatte vor der Installation des Buderus Kessels die Heizungssteuerung selbst programmiert und in VIS dargestellt. Nun mit dem Buderus-Kessel habe ich die Darstellung nahezu 1:1 übernommen und versucht die Regelungsparameter und die Heizungspumpen zu optimieren. Dazu lese ich ca. 10 Werte alle 30 Sekunden aus.
            So sieht das dann aus mit den Eingabewerten:

            47c470d8-1ea8-4f6a-8d31-f58db53cf2d6-grafik.png

            Grüße Thomas

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

            @tom57

            krass, wie genial ist denn bitte diese Visualisierung.
            Daran scheitert es bei mir immer, ich hab jede menge ideen der Asuwertung aber die Darstellung: da fehlt mir kreativität.

            Das Programm der grafischen auswertung sit n JS. ziemlich wirr noch ich würde es gerne noch optimieren und anpassbar machen.

            kann den Code aber gerne schonmal posten

            Nils

            1 Antwort Letzte Antwort
            0
            • jmeister79J Offline
              jmeister79J Offline
              jmeister79
              schrieb am zuletzt editiert von
              #270

              Hi,

              kurze zwischenfrage:

              was beudeutet das denn jetzt?

              habe ich bei einigen datenpunkten

              km200.0	2019-11-13 10:02:50.315	info	Update { 'recordings.heatSources.actualCHPower._Hours':{ type: 'state',id: 'recordings.heatSources.actualCHPower._Hours',common:{ id: 'recordings.heatSources.actualCHPower._Hours',name: 'recordings.h
              km200.0	2019-11-13 10:02:49.987	info	Update { 'recordings.heatSources.actualCHPower._Hours':{ type: 'state',id: 'recordings.heatSources.actualCHPower._Hours',common:{ id: 'recordings.heatSources.actualCHPower._Hours',name: 'recordings.h
              km200.0	2019-11-13 10:02:49.465	warn	Set KM200 err: 'request for http://192.168.178.35/recordings/heatSources/actualDHWPower/_Hours had status 404/Not Found other than supported 200,204'
              km200.0	2019-11-13 10:02:49.159	info	Update { 'recordings.dhwCircuits.dhw1.actualTemp._Hours':{ type: 'state',id: 'recordings.dhwCircuits.dhw1.actualTemp._Hours',common:{ id: 'recordings.dhwCircuits.dhw1.actualTemp._Hours',name: 'record
              
              T 1 Antwort Letzte Antwort
              0
              • jmeister79J jmeister79

                Hi,

                kurze zwischenfrage:

                was beudeutet das denn jetzt?

                habe ich bei einigen datenpunkten

                km200.0	2019-11-13 10:02:50.315	info	Update { 'recordings.heatSources.actualCHPower._Hours':{ type: 'state',id: 'recordings.heatSources.actualCHPower._Hours',common:{ id: 'recordings.heatSources.actualCHPower._Hours',name: 'recordings.h
                km200.0	2019-11-13 10:02:49.987	info	Update { 'recordings.heatSources.actualCHPower._Hours':{ type: 'state',id: 'recordings.heatSources.actualCHPower._Hours',common:{ id: 'recordings.heatSources.actualCHPower._Hours',name: 'recordings.h
                km200.0	2019-11-13 10:02:49.465	warn	Set KM200 err: 'request for http://192.168.178.35/recordings/heatSources/actualDHWPower/_Hours had status 404/Not Found other than supported 200,204'
                km200.0	2019-11-13 10:02:49.159	info	Update { 'recordings.dhwCircuits.dhw1.actualTemp._Hours':{ type: 'state',id: 'recordings.dhwCircuits.dhw1.actualTemp._Hours',common:{ id: 'recordings.dhwCircuits.dhw1.actualTemp._Hours',name: 'record
                
                T Offline
                T Offline
                tp1de
                schrieb am zuletzt editiert von tp1de
                #271

                @jmeister79
                Nils, das ist leider beim IP-Adapter eine der Schwächen. Der Adapter macht regelmäßig bei Netzwerkabfragen zu, d.h. er beantwortet http-requests mit 404er Fehlern. Bei meinen Scripts versuche ich das bis zu 3 Mal hintereinander - trotzdem funktioniert dies 2 bis 3 Mal am Tag nicht und ich bekomme 404er Fehler zurück . Da ich alle 30 Sekunden abfrage ist das nicht so relevant, bei minimal 5 Minuten für fast-refresh meim km200-Adapter schon. Das war für mich das KO-Kriterium für den Adapter und ich bin auf JS-Skripts umgestiegen.

                Auf meiner Longlist steht das direkte Lesen der RS485 Schnittstelle analog der RC310 Bedieneinheit.....

                Grüße Thomas

                jmeister79J 2 Antworten Letzte Antwort
                0
                • T tp1de

                  @jmeister79
                  Nils, das ist leider beim IP-Adapter eine der Schwächen. Der Adapter macht regelmäßig bei Netzwerkabfragen zu, d.h. er beantwortet http-requests mit 404er Fehlern. Bei meinen Scripts versuche ich das bis zu 3 Mal hintereinander - trotzdem funktioniert dies 2 bis 3 Mal am Tag nicht und ich bekomme 404er Fehler zurück . Da ich alle 30 Sekunden abfrage ist das nicht so relevant, bei minimal 5 Minuten für fast-refresh meim km200-Adapter schon. Das war für mich das KO-Kriterium für den Adapter und ich bin auf JS-Skripts umgestiegen.

                  Auf meiner Longlist steht das direkte Lesen der RS485 Schnittstelle analog der RC310 Bedieneinheit.....

                  Grüße Thomas

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

                  @tom57 danke für die antwort.

                  nochmal zum vebrauch. die letzten werte des array sind die aktuellsten. warum auch immer. kommt man mit slice gut ran

                  Mal so unter uns: die Umsetzung von Buderus was die datenpunkte, und datenverwaltung usw angeht ist gruselig...

                  Nils

                  1 Antwort Letzte Antwort
                  0
                  • T tp1de

                    @jmeister79
                    Nils, das ist leider beim IP-Adapter eine der Schwächen. Der Adapter macht regelmäßig bei Netzwerkabfragen zu, d.h. er beantwortet http-requests mit 404er Fehlern. Bei meinen Scripts versuche ich das bis zu 3 Mal hintereinander - trotzdem funktioniert dies 2 bis 3 Mal am Tag nicht und ich bekomme 404er Fehler zurück . Da ich alle 30 Sekunden abfrage ist das nicht so relevant, bei minimal 5 Minuten für fast-refresh meim km200-Adapter schon. Das war für mich das KO-Kriterium für den Adapter und ich bin auf JS-Skripts umgestiegen.

                    Auf meiner Longlist steht das direkte Lesen der RS485 Schnittstelle analog der RC310 Bedieneinheit.....

                    Grüße Thomas

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

                    @tom57 jetzt weiß ich was du mit den updates meinst.

                    ich hatte schon ne ahnung, dass sich ständig was ändert.

                    die recordings waren im Format [Wert,Wert,wert]

                    wobei das letzte immer das aktuellese war.

                    hab daraufhin mit string.replace die klammern und eventuelle leerzeichen entfernt. seit 16:00 sind die klammern weg und string replace führt zu nem Fehler, da es ja nun ein array of number ist.

                    kopfschüttel

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

                                          814

                                          Online

                                          32.4k

                                          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