Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter für Buderus KM200 (und eventuell auch anderen KMxxx)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      micha68 last edited by

      Hi!

      Ich hatte den Adapter am laufen und eben auf 2.0.3 aktualisiert, Seit dem läufts nicht mehr 😞
      Hier mal ein Ausschnitt aus dem LOG:

      km200.0	2019-04-07 16:16:08.625	info	Adapter km200 initialization finished with 5 states.
      km200.0	2019-04-07 16:16:08.620	info	Update State system err: 'KM200.get service parameter not as requested \'undefined\''
      km200.0	2019-04-07 16:16:08.619	warn	KM200.get service parameter not as requested 'undefined'
      km200.0	2019-04-07 16:16:08.617	info	Update State solarCircuits err: 'KM200.get service parameter not as requested \'undefined\''
      km200.0	2019-04-07 16:16:08.614	warn	KM200.get service parameter not as requested 'undefined'
      km200.0	2019-04-07 16:16:08.610	info	Update State notifications err: 'KM200.get service parameter not as requested \'undefined\''
      km200.0	2019-04-07 16:16:08.607	warn	KM200.get service parameter not as requested 'undefined'
      km200.0	2019-04-07 16:16:08.470	info	Update State heatingCircuits err: 'KM200.get service parameter not as requested \'undefined\''
      km200.0	2019-04-07 16:16:08.469	warn	KM200.get service parameter not as requested 'undefined'
      km200.0	2019-04-07 16:16:08.465	info	Update State dhwCircuits err: 'KM200.get service parameter not as requested \'undefined\''
      km200.0	2019-04-07 16:16:08.465	warn	KM200.get service parameter not as requested 'undefined'
      km200.0	2019-04-07 16:16:08.465	info	debug: updateStates: 'all' @Sun Apr 07 2019 16:16:08 GMT+0200 (CEST)
      km200.0	2019-04-07 16:16:08.464	info	Slow Interval=0 hours, Slow-List:
      km200.0	2019-04-07 16:16:08.464	info	Fast Interval=1 min, Fast-List: dhwCircuits,heatingCircuits,notifications,solarCircuits,system
      km200.0	2019-04-07 16:16:08.464	info	Interval=15 min, Norm-list:
      km200.0	2019-04-07 16:16:08.464	info	KM200 found 5 states, get their values now.
      km200.0	2019-04-07 16:16:08.447	info	debug: ChangeState ack:true of system = { error: SyntaxError: Unexpected token � in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapte
      km200.0	2019-04-07 16:16:08.402	info	debug: ChangeState ack:true of solarCircuits = { error: SyntaxError: Unexpected number in JSON at position 1at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/my
      km200.0	2019-04-07 16:16:08.374	info	debug: ChangeState ack:true of notifications = { error: SyntaxError: Unexpected token  in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/m
      km200.0	2019-04-07 16:16:08.347	info	debug: ChangeState ack:true of heatingCircuits = { error: SyntaxError: Unexpected token p in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter
      km200.0	2019-04-07 16:16:08.324	info	debug: ChangeState ack:true of dhwCircuits = { error: SyntaxError: Unexpected token l in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myA
      km200.0	2019-04-07 16:16:08.304	info	Services found: 5
      km200.0	2019-04-07 16:16:08.273	info	debug: Service[system]={ error: SyntaxError: Unexpected token � in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:376:24)at A.
      km200.0	2019-04-07 16:16:08.095	info	debug: Service[solarCircuits]={ error: SyntaxError: Unexpected number in JSON at position 1at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:376:24
      km200.0	2019-04-07 16:16:07.815	info	debug: Service[notifications]={ error: SyntaxError: Unexpected token  in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:376:2
      km200.0	2019-04-07 16:16:07.336	info	debug: Service[heatingCircuits]={ error: SyntaxError: Unexpected token p in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:376
      km200.0	2019-04-07 16:16:06.966	info	debug: Service[dhwCircuits]={ error: SyntaxError: Unexpected token l in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:376:24)
      km200.0	2019-04-07 16:16:06.806	info	debug: add to blocked /.*.*holidayModes.*$/
      km200.0	2019-04-07 16:16:06.805	info	debug: add to blocked /^\/heatSource.*$/
      km200.0	2019-04-07 16:16:06.805	info	debug: add to blocked /.*.*switchPrograms.*$/
      km200.0	2019-04-07 16:16:06.805	info	debug: add to blocked /^\/recordings.*$/
      km200.0	2019-04-07 16:16:06.804	info	debug: add to blocked /^\/gateway.*$/
      km200.0	2019-04-07 16:16:06.804	info	debug: KM200 init(192.168.178.70, 248,59,132,195,101,188,251,55,236,148,73,176,66,75,4,74,34,58,122,107,162,95,152,176,0,135,118,148,109,122,214,54) done!
      km200.0	2019-04-07 16:16:06.804	info	km200.0 address: http://192.168.178.70
      km200.0	2019-04-07 16:16:06.804	info	km200 starting main...
      km200.0	2019-04-07 16:16:06.803	info	km200 initialization started...
      km200.0	2019-04-07 16:16:02.893	info	starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.km200, node: v8.11.1
      

      Wo kann ich denn ansetzen?

      Danke und Gruß

      Micha

      M 1 Reply Last reply Reply Quote 0
      • M
        micha68 @micha68 last edited by

        @micha68
        Habs gefunden, Passwort war falsch 🙂

        Danke für die Arbeit an dem Adapter!!!

        1 Reply Last reply Reply Quote 0
        • M
          micha68 last edited by

          Hi!

          Was ich noch suche sind Datenpunkte ob die Speicherladepumpe, Zirkulationspumpe und die Heizungspumpe laufen.
          Gibt es diese Werte?

          Danke und Gruß
          Micha

          frankjoke 1 Reply Last reply Reply Quote 0
          • frankjoke
            frankjoke @micha68 last edited by

            @micha68

            Ich befürchte, wenn du die blacklist leer lässt oder mit '+*' beschreibst kommen alle Punkte die der Adapter hergibt, wenn die dann nicht dabei sind dann ist die Info nicht abgreifbar.

            1 Reply Last reply Reply Quote 0
            • M
              micha68 last edited by

              Hi!

              Alles klar! Ich schau noch mal durch, hatte aber auf die schnelle nichts gefunden.

              Danke und Gruß

              Micha

              T 1 Reply Last reply Reply Quote 0
              • T
                tp1de @micha68 last edited by

                @micha68
                Heizungspumpen lese ich mit

                heatingCircuits.hc1.pumpModulation
                heatingCircuits.hc2.pumpModulation
                

                Speicherladepumpe funktioniert bei mir nicht.
                Ich lese

                heatSources.actualDHWPower
                

                Wenn der Wert > 0, dann läuft auch die Ladepumpe.
                Die WW-Zirkulationspumpe ist nicht abfragbar und auch nicht schaltbar.

                1 Reply Last reply Reply Quote 0
                • M
                  micha68 last edited by micha68

                  Hi!

                  Super! Danke für die Tipps!

                  Ich bau mal schnell ne Grafik, ob die Datenpunkte passen.
                  Edit:
                  Passt!

                  DANKE!

                  Gruß
                  Micha

                  1 Reply Last reply Reply Quote 0
                  • I
                    ioTechnik @ioTechnik last edited by

                    @ioTechnik
                    Hallo ioBroker

                    Kann es sein das aus dem Datensatz "km200.0.heatSources.energyMonitoring.consumption" unplausble Werte aus der Kesselanlage gelesen werden. Jedenfalls scheint es bei mir seit Mitte März so. Bis dahin hatte ich sehr plausible Verbrauchsdaten je Brennerstart. Dann nur noch Mist. Der Zählerstand mal steigt er mal fällt er.
                    Kann das jemand nachvollziehen?

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      tp1de @ioTechnik last edited by

                      @ioTechnik
                      Ja die Werte machen keinen Sinn mehr. Die recordings der Verbräuche sind bei mir mit 3 Prozent Genauigkeit identisch mit dem gemessenen Gasverbrauch.

                      I 1 Reply Last reply Reply Quote 0
                      • frankjoke
                        frankjoke last edited by

                        Ich lese mit Ausnahme der recordings genau die daten ab die der km liefert. Bei recordings krieg ich zwei were, Anzahl und Summe.
                        P. S far momentan rür tests aus, Liev km spktL mit 2fachem knoechelbruch und werde operiert...

                        1 Reply Last reply Reply Quote 0
                        • I
                          ioTechnik @tp1de last edited by

                          @tom57
                          Hallo tom57! wie liest du die recordings? bei mir sind es zahlenkolonnen. bin kein script-experte.
                          LG

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            tp1de @ioTechnik last edited by tp1de

                            @ioTechnik
                            Ist bei mir etwas kompliziert. Ich habe mcrypt in node-red eingebunden und mache diese Auswertungen in node-red ohne den km200 Adapter.
                            D.h. ich lese mit https den imbedded Web-Adapter der Heizung, entschlüssele die Daten und berechne den Verbrauch pro Stunde / Tag / Monat schreibe diese dann mit SQL in eigene Datenstrukturen. Diese werden dann mit Flot-Diagrammen dargestellt.
                            Da ich einen Impulszähler am Gaszähler habe und mit dem Raspi in ioBroker auswerte, kann ich diese exakten Gasverbrauchswerte mit den Buderus-Werten vergleichen. Stimmen sehr genau überein. Ich stelle dann auch den Energieverbrauch für Warmwasser separat da:
                            (Rot: Verbrauch Gaszähler / Schwarze Linie Buderus / Blau Warmwasser:
                            72022967-ce20-42c7-86c3-a460be14c4f6-grafik.png
                            In den recordings von Frank stimmen die Stunden und Tageswerte damit überein.
                            Die letzten Einträge der JSON-Struktur sind jeweils der aktuelle Tag bzw. Stunde und dann jeweils rückwärts. Die Monatswerte vom Adapter stimmen bei mir z.T. nicht (habe ich im Forum weiter oben angemerkt - 1.4.19).

                            I B 2 Replies Last reply Reply Quote 1
                            • I
                              ioTechnik @tp1de last edited by

                              @tom57 Herzlichen Dank! Aber das ist mir zu speziell, bin eben kein Programmierer.

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                tp1de @ioTechnik last edited by

                                @ioTechnik Ich bin auch noch dabei mich in Javascript einzuarbeiten. Mit 62 Jahren hatte ich auch seit 35 Jahren nicht mehr programmiert ... JS ist speziell aber so langsam bekomme ich Durchblick.

                                Ich versuche gerade die Verbrauchsdaten im Skript aufzubereiten. Falls es klappt, stelle ich es zur Verfügung.

                                I 1 Reply Last reply Reply Quote 0
                                • I
                                  ioTechnik @tp1de last edited by

                                  @tom57 Dann muss ich mich mit meinen 61 Lenzen ja auch noch anstrengen

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Breiti1234 @tp1de last edited by

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

                                    @ioTechnik
                                    Ist bei mir etwas kompliziert. Ich habe mcrypt in node-red eingebunden und mache diese Auswertungen in node-red ohne den km200 Adapter.
                                    D.h. ich lese mit https den imbedded Web-Adapter der Heizung, entschlüssele die Daten und berechne den Verbrauch pro Stunde / Tag / Monat schreibe diese dann mit SQL in eigene Datenstrukturen. Diese werden dann mit Flot-Diagrammen dargestellt.
                                    Da ich einen Impulszähler am Gaszähler habe und mit dem Raspi in ioBroker auswerte, kann ich diese exakten Gasverbrauchswerte mit den Buderus-Werten vergleichen. Stimmen sehr genau überein. Ich stelle dann auch den Energieverbrauch für Warmwasser separat da:
                                    (Rot: Verbrauch Gaszähler / Schwarze Linie Buderus / Blau Warmwasser:
                                    72022967-ce20-42c7-86c3-a460be14c4f6-grafik.png
                                    In den recordings von Frank stimmen die Stunden und Tageswerte damit überein.
                                    Die letzten Einträge der JSON-Struktur sind jeweils der aktuelle Tag bzw. Stunde und dann jeweils rückwärts. Die Monatswerte vom Adapter stimmen bei mir z.T. nicht (habe ich im Forum weiter oben angemerkt - 1.4.19).

                                    Würdest du deinen "Genie Streich" mit uns teilen?
                                    Das klingt sehr interessant, dann könnte man sich quasi das "mitschneiden" des Gaszählers ja sparen

                                    T 1 Reply Last reply Reply Quote 0
                                    • B
                                      Breiti1234 last edited by

                                      Hallo,
                                      hat es schon mal jemand geschafft mit dem JSON Widget die "notifications" darzustellen?
                                      Die sind Auszug:
                                      [ { cat: 'L', act: 'H', dcd: '9H', ccd: 267, orig: '0' }, { cat: 'L', act: 'H', dcd: '3L', ccd: 214, orig: '0' }, { cat: 'L', act: 'H', dcd: '3L', ccd: 214, orig: '0' }, { cat: 'L', act: 'H', dcd: '3L', ccd: 214, orig: '0' }, { cat: 'L', act: 'H', dcd: '3L', ccd: 214, orig: '0' }, { cat: 'L', act: 'H', dcd: '3L', ccd: 214, orig: '0' }, { cat: 'L', act: 'H', dcd: '3L', ccd: 214, orig: '0' }, { cat: 'L', act: 'H', dcd: '3L', ccd: 214, orig: '0' }, { cat: 'B', act: 'H', dcd: '6L', ccd: 229, orig: '0' }, { cat: 'A', act: 'A', dcd: 'AA0', ccd: 811, orig: '8', t: '2019-04-16T03:59:00' }, { cat: 'A', act: 'A', dcd: 'AA1', ccd: 816, orig: '17', t: '2019-04-15T08:53:00' }, { cat: 'A', act: 'A', dcd: 'AA3', ccd: 816, orig: '33', t: '2019-04-15T08:53:00' }, { cat: 'A', act: 'A', dcd: 'AA0', ccd: 800, orig: '8', t: '2000-01-01T00:01:00' } ]

                                      frankjoke 1 Reply Last reply Reply Quote 0
                                      • frankjoke
                                        frankjoke @Breiti1234 last edited by

                                        @Breiti1234
                                        Es scheint ein Array mit Werten wo man den Sinn halbwegs erahnen kann zu sein. Mit einer Tabelle kann man das darstellen, aber leider hab ich keine Ahnung wie man ein Widget schreibt das eine Tabelle darstellt.

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tp1de @Breiti1234 last edited by

                                          @Breiti1234
                                          @frankjoke
                                          Es wäre am Besten, wenn Frank irgendwann Zeit hat, das Speichern der Recordings als SQL-Einträge mit in den Adapter aufzunehmen. Das Umrechnen der Werte hatte ich ja bereits erläutert.
                                          Ich habe nur die Möglichkeit mit SQL-Statements gefunden, da der setState Befehl ja immer die aktuelle Zeit nimmt. Also muss der SQL-Adapter installiert sein und dann kann mit enableStates die Fortschreibung aktiviert werden (erzeugt einen Eintrag in der Tabelle datapoints)
                                          So könnte im Adapter anstelle des JSON-Arrays als Werte, diese als SQL-Datensätze erzeugt werden (ts muss dann aus der Array-Position berechnet werden).
                                          Ich habe ein Testprogramm in javascript am laufen .... muss ich aber noch überarbeiten, bevor ich es teilen kann.

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            tp1de last edited by 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

                                            jmeister79 R I 3 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            733
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            99
                                            686
                                            182506
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo