NEWS
Adapter für Buderus KM200 (und eventuell auch anderen KMxxx)
-
@frankjoke
Hallo,ich benutze den Adapter seit kurzem um die Fehlermeldungen meiner Heizung über das KM200 übermittelt zu bekommen. Der Adapter läuft, Verbindung steht und Datenpunkte / Daten kommen auch.
Konkret interessiert mich die Ermittlung des Datenpunktes "notifications". Laut Störungshistorie hat meine Anlage einige verschiedene Fehlermeldungen protokolliert, allerdings taucht bei "notifications" immer die gleiche Meldung (gleicher Störungscode) auf, was auch korrekt ist, da diese Fehler tatsächlich aufgetreten sind.
Nur die anderen Codes aus der Historie kommen gar nicht in den Datenpunkt und das verwundert mich etwas.
Ich hatte bisher immer nur ein Objekt in dem Datenpunkt, obwohl es eigentlich mehrere sein müssten.Kannst du mir erklären, worauf der Inhalt dieses Datenpunktes abzielt bzw. wie die Daten ermittelt werden?
Hier mal noch eine LOG-Auflistung der verschiedenen Zustände, die der Datenpunkt annimmt:info: km200.0 (17528) debug: ChangeState ack:true of notifications = [{cat: 'N',act: 'A',dcd: 'A01',ccd: 5527,orig: '8',t: '2021-02-19T09:58:17',dlv: '4',fc: '16'}] info: km200.0 (17528) debug: ChangeState ack:true of notifications = [] info: km200.0 (17528) debug: ChangeState ack:true of notifications = [ [Object] ]
Für eine kurze Rückmeldung wäre ich sehr dankbar!
EDIT:
Im Bedienelement der Anlage habe ich zwei verschiedene Optionspunkte, "Störungshistorie System" und "Störungshistorie Wärmeerzeuger". Im letzteren sind die Störmeldungen, die auch im Datenpunkt "notifications" landen.
Unter "Störungshistorie System" sind die weiteren Störmeldungen, die ich gerne auswerten möchte.
Kommt man da irgendwie ran? -
@iotechnik sagte in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):
@iotechnik
Hallo tom57
ich hatte mir das Buderus-Script vom 29.April 2019 angesehen.
Aber wenn das unter der momentanen iobroker-Konfiguration nicht funktioniert ist das eh erledigt. Hatte ein wenig damit experimentiert und mir dabei JS ruiniert. Habe das Raspi-System heute neu aufgesetzt und es läuft erst mal wieder.
Gibt es andere Möglichkeiten der Energieanalyse für das KM200. Bin da nicht mehr auf dem Laufenden, weil ich das aus zeitlichen Gründen lange nicht beobachten konnte.
Danke an Dich und das ForumDAS würde mich auch brennend interessieren. Insbesondere die Verbrauchsermittling (Strom) einer LWWP ist doch sehr interessant!
-
Noch eine Frage an die Experten: Ist es möglich über den Adapter die Anlage auch zu steuern, um so z. B. auch Extra-Warmwasser zu aktivieren (wie es auch in der App möglich ist) ?
Danke euch und auch Danke für den tollen Adapter @frankjoke
-
@bostil nur wenn der Datenpunkt auch schreiben zu lässt. Das sind nicht alle Datenpunkte und das gibt scheinbar der Hersteller vor. Der Adapter gibt umgehend Rückmeldung ob was geschrieben werden konnte oder nicht. Siehe meine Beiträge etwas weiter oben.
-
Also ich habe heute mal meine Bosch Gasbrennwerttherme mit dem KM200 integriert. Läuft soweit ganz gut.
Jedoch frage ich mich, ob es eine Liste der ganzen Datenpunkte gibt, wo man raus lesen kann, welchen Datenpunkt was ist?
Der Adapter ist gut und funktioniert bislang super. Jedoch fehlt mir irgendwie die Datenpunktnamen ( als Beschreibung in deutsch ).Eventuell kann man dies ja noch im Adapter ändern?
-
Hallo,
@frankjoke
eine Frage an den Entwickler bezüglich mcrypt:
mcrypt ist deprecated und wird nicht im nodejs 12.x unterstützt.
Es gibt ein neues Paket für mcrypt als Wrapper, das auch nodejs 12.x unterstützt:
https://github.com/tugrul/cryptian
Gibt es eine Möglichkeit den Adapter hierfür anzupassen?
Viele Grüße -
@omnedon sagte in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):
mcrypt ist deprecated und wird nicht im nodejs 12.x unterstützt.
Es gibt ein neues Paket für mcrypt als Wrapper, das auch nodejs 12.x unterstützt:
https://github.com/tugrul/cryptian
Gibt es eine Möglichkeit den Adapter hierfür anzupassen?Wieso fragst Du?
Der km200-Adapter hat doch seine eigene mcrypt Version im Adapter eingebaut.
Der Adapter funktioniert auch mit nodejs 12.x einwandfrei.Ich benutze für eigene JS-Programme bisher cryptian. Mit dem javascript-Adapter funktioniert dies aber bei mir nur bis zur Version 4.8.4. Bei höheren Versionen stürzt der ganze JS-Adpapter ab. Ist so also auch keine Lösung .....
-
@tom57
Hallo,
dann habe ich es falsch verstanden.
Wenn der km200-Adapter eigene crypt Version benutzt, dann ist alles gut.
Danke für die Klarstellung!
Viele Grüße -
@omnedon Hallo, ich probiere auch gerade den Adapter einzurichten...ohne erfolg. Folge diese Seite: https://www.smarthome-tricks.de/software-iobroker/buderus-logamatic-ems-plus-rc310-in-iobroker-integrieren/
Funktioniert aber nicht. Hat jemand einen Tipp fuer mich?
danke.
Habe gerade gemerkt das ich an meiner neu installierten Buderus Anlage einen KM100 habe...ich denke das funktioniert dann nicht mit diesem Adapter? -
@zgadgeter ich habe den Adapter bisher nicht im Einsatz, möchte ihn aber benutzen.
Kann leider hier keine Hilfe anbieten. -
Hi ich habe das Problem mit dem ioBroker plugin KM200 (2.0.3 / Node.js v12.22.1 / NPM 6.14.12) das ich keine States bekomme.
IP / Gerätepasswort ( von Aufkleber mit und ohne '-' ) / Privates Passwort (Web/App) eingetragen.
Heizung ist eine Bosch Condens 9000i WM / Regler CW400 / Bosch MB LANi V2 (FW 04.07.06)
km200.0 2021-04-24 02:41:05.826 info (623688) Adapter km200 initialization finished with 0 states.
km200.0 2021-04-24 02:41:05.760 info (623688) debug: updateStates: 'all' @2021-04-24T02:41:05.759Z
km200.0 2021-04-24 02:41:05.759 info (623688) Slow Interval=6 hours, Slow-List:
km200.0 2021-04-24 02:41:05.759 info (623688) Fast Interval=2 min, Fast-List:
km200.0 2021-04-24 02:41:05.759 info (623688) Interval=30 min, Norm-list:
km200.0 2021-04-24 02:41:05.757 info (623688) KM200 found 0 states, get their values now.
km200.0 2021-04-24 02:41:05.756 info (623688) Services found: 41
km200.0 2021-04-24 02:41:05.756 warn (623688) Did not get any Services from KLM200!: {}
km200.0 2021-04-24 02:41:04.714 info (623688) debug: add to blocked /..holidayModes.$/
km200.0 2021-04-24 02:41:04.714 info (623688) debug: add to blocked /..switchPrograms.$/
km200.0 2021-04-24 02:41:04.714 info (623688) debug: add to blocked /^/gateway.*$/
km200.0 2021-04-24 02:41:04.713 info (623688) debug: KM200 init(10.0.9.4, 222,78,66,49,226,239,75,234,107,47,125,24,247,5,142,110,65,157,3,64,57,186,60,83,191,145,30,233,38,179,57,250) done!
km200.0 2021-04-24 02:41:04.713 info (623688) km200.0 address: http://10.0.9.4
km200.0 2021-04-24 02:41:04.712 info (623688) km200 initialization started...
km200.0 2021-04-24 02:41:04.711 info (623688) debug: km200 received undefined objects and 0 states, with config adresse,blacklist,fastlist,slowlist,interval,fastinterval,slowinterval,deletestates,accesskey,privatepassword,lang,latitude,
km200.0 2021-04-24 02:41:04.544 info (623688) starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.km200, node: v12.22.1, js-controller: 3.2.16
km200.0 2021-04-24 02:41:04.516 debug (623688) statesDB connected
km200.0 2021-04-24 02:41:04.515 debug (623688) States connected to redis: 127.0.0.1:6379
km200.0 2021-04-24 02:41:04.513 debug (623688) States create User PubSub Client
km200.0 2021-04-24 02:41:04.512 debug (623688) States create System PubSub Client
km200.0 2021-04-24 02:41:04.509 debug (623688) Redis States: Use Redis connection: 127.0.0.1:6379
km200.0 2021-04-24 02:41:04.507 debug (623688) objectDB connected
km200.0 2021-04-24 02:41:04.503 debug (623688) Objects connected to redis: 127.0.0.1:6379
km200.0 2021-04-24 02:41:04.494 debug (623688) Objects client initialize lua scripts
km200.0 2021-04-24 02:41:04.494 debug (623688) Objects create User PubSub Client
km200.0 2021-04-24 02:41:04.493 debug (623688) Objects create System PubSub Client
km200.0 2021-04-24 02:41:04.492 debug (623688) Objects client ready ... initialize now
km200.0 2021-04-24 02:41:04.464 debug (623688) Redis Objects: Use Redis connection: 127.0.0.1:6379 -
Hallo Zusammen,
ich habe den KM200 Adapter erfolgreich für meine MB LANi Schnittstelle in meiner LWP im Einsatz.
Zusätzlich habe ich einen MB LAN HR Adapter für meine Lüftungsanlage.
Die Verbindung klappt auch und ich bekomme einige Daten zurückgespielt, jedoch nur einen Teil im Vergleich zum meiner Easy Vent APP auf dem Handy.Hat jemand Erfahrung zur Kombination mit MB LAN HR?
Das hier bekomme ich aktuell unter Objekte in ioBroker zurückgespielt:
-
Das ist übrigens der Fehlercode der bei der Analyse der Firmware ausgespuckt wird:
{error: SyntaxError: Unexpected token � in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:413:24)at /opt/iobroker/node_modules/iobroker.km200/km200.js:277:31at processTicksAndRejections (internal/process/task_queues.js:97:5),error_description: 'SyntaxError: Unexpected token � in JSON at position 0 on string ���\u0001gd�o�̅Ln�\u000eNJ��^\u001dRx�c�\u0007Ϛ�g(�\u0002�q�i�]�7���Mz�\u0019���[���&��<��\u0018�����6\u000bT�.=[|�P��\u001a��
.�Sy�g>��s�tX%n�$H�GM��o�\u0011�y$��3�N�\u001cYB��(!\u0005˜��oF����@3� �qBw!XF6\u000e\n' +'_+��c�* �-o�̴�l����R\u0002�
!�P[vă�{��\u0013X��t\r\rŊ�\u0016�n�Rs\u000f�Y�)��O���\u001c���\u0016�',valIs: 'value'} -
Hi Leute,
habe auch den KM200 Adapter installiert.
Was macht dieser Adapter denn eigentlich, liest der den EMS-Bus aus über LAN?Ich bin auf das Projekt EMS-ESP gestoßen welches auch sehr interessant ist.
Anscheinend kann einen ESP8266 oder ESP32 über den EMS-Bus parallel schließen und damit den EMS-Bus auslesen und steuern.
https://emsesp.github.io/docs/#/Building-firmwareMacht der KM200 Adapter das gleiche, oder funktioniert der anders?
-
@atifan
Ich habe den km200 Adapter seit 3 Jahren und ems-esp seit 6 Monaten parallel installiert.Für ältere Heizungsanlagen der Boschgruppe (Buderus, Junkers Netfit etc) gibt es separate internetfähige Interfaces wie KM50, KM100, KM200 oder KM300. Neuere Heizungen gaben seit ca. 4 Jahren in der Regel IP-intern bereits installiert.
Diese KMxxx Interfaces kommunizieren verschlüsselt mit der Bosch Cloud und damit sind dann mit App's Grundfunktionen der Anlage steuerbar und ggfs. der Energieverbrauch auswertbar.
Der KM200 Adapter liest die Datenstrukturen des KMxxx Interfaces mit http aus. Das geschieht Datenpunkt für Datenpunkt mit http get requests und ist recht langsam. (Bei mir ca. 150 Datenpunkte - ca. 3 Minuten).
Die Ent- und Verschlüsselung (Rijndael-128 ECB) übernimmt der Adapter. Je nach Firmware und installierte Hardware gibt es unterschiedliche Datenpunkte und bei FW-Updates können sich diese verändern. Schreibbare Datenpunkte können mit dem Adapter geschrieben werden.Das EMS-ESP ist eine Hardware basierend auf ESP8266 (veraltet) bzw. ESP32 (aktuell) welches sich direkt an den EMS-Bus anbindet und dort Daten liest und auch schreiben kann. EMS-ESP unterstützt mehr als 70 verschiedene Systeme und ist dafür gedacht ältere Heizungen über MQTT (Homeassistent) oder über REST API steuerbar zu machen. Die aktuelle API V3 läuft nur auf ESP32 und inzwischen auch stabil parallel zum km200 / IP-intern. Der Betrieb ist nicht ganz unkritisch da direkt im EMS-Bus geschrieben wird. GGfs. kann mit falschen Parametern die Heizungsanlage ausfallen. EMS-ESP ist ein privates "Bastelprojekt" welches im Wesentlichen von 2 Leuten vorangetrieben wird. EMS-ESP Gateways können von BBQKees bezogen werden: https://bbqkees-electronics.nl
Vor wenigen Tagen ist die REST-API V3 soweit fertiggestellt, dass ein von mir geschriebener ioBroker ems-esp Adapter bereits funktioniert. Dieser kann sowohl KM200 Daten als auch EMS-ESP Daten verarbeiten. Der Adapter ist noch nicht im ioBroker Repository und kann testweise installiert werden. Ist aber noch Work in Progress. Voraussetzung ist EMS-ESP mit ESP32 und der aktuellen Development Firmware: https://github.com/tp1de/ioBroker.ems-esp
EMS-ESP liefert die Daten im 15 Sekundentakt und beinhaltet einige Parameter die KM200 nicht hat. Dies sind die Steuerung der Zirkulationspumpe und Regelungsparameter. Es fehlen aber noch einige Inhalte aus dem KM200 Adapter wie z.B. Urlaube, Zeitprogramme etc. Einige EMS-ESP Daten sind für meine Heizungsanlage (KB192i, MM100, RC310) noch fehlerhaft. Die Datenstrukturen im EMS-ESP sind auf die Hardware bezogen (Boiler, Thermostat, Mixer etc) und unterscheiden sich vom KM200. Im EMS-ESP Adapter habe ich versucht diese zu harmonisieren.
-
@tom57 Hi, schonmal vielen Dank für den guten Überblick.
Ich habe eine Ölbrennwertheizung KB195i und überlege mir ob ich mir so ein EMS-ESP mit ESP32 hole.
Ich steuere die Heizung eigentlich nicht wirklich über Iobroker, aber möglicherweise könnte man mit dem Adapter eine Logik programmieren, die das Takten in der Übergangszeit etwas vermindert.
.
.
.
Zu dem Problem anbei eine Beschreibung die ich bereits im Buderus Heizungsforum geschildert habe.Hallo, ich habe seit 2018 einen Buderus KB195i Ölbrennwertkessel.
Im Schnitt habe ich auf das Jahr gesehen pro Tag etwa 3 Brennerstarts, was schon denke ich ganz gut ist.
Im Winter läuft die Anlage fast komplett durch und ich habe ca. 1-2 Starts pro Tag.
In der Übergangszeit habe ich aber teilweise sehr viele Starts, ca. 15-20 pro Tag.
Das sieht man schön an dem Screenshot.
Im oberen Diagramm die gelbe Linie ist die Vorlauftemperatur. Immer wenn der Brenner anspringt und diese nach oben geht, sehe ich dass ein Brennerstart stattgefunden hat.
Außerdem sieht man im unteren Diagramm dazu auch die roten Ausschläge, das sind die Vorheizphasen für das Öl aufzuwärmen, immer ca. 1,8kW für paar Minuten.
Das Problem in der Übergangszeit ist dass die Wärme nicht abgenommen wird und dann der Brenner natürlich wieder abschaltet.
Ich habe schon die Taktsperre auf die maximal möglichen 60min eingestellt.
Hat jemand noch Ideen wie man diese unnötigen Starts noch vermindern könnte?
Ich habe Smarthome-System mit IoBroker am Laufen und könnte auch z.B. über eigene Software und Logik evtl. den Start unterbinden.
Aber da fehlt mir halt eine Schnittstelle zu der Heizung.
Gibt es die Möglichkeit eine Hardware nachzurüsten, so dass man z.B. einen Kontakt hätte über den man steuern kann ob die Heizung starten soll oder nicht?
Z.B. wenn Kontakt geschlossen dann darf er heizen, wenn Kontakt offen dann nicht anspringen, auch wenn es eine Wärmeanforderung gibt
Bin für alle Tipps für weitere Optimierungen dankbar. -
@atifan sagte in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):
KB195i
Um zum Thema Takten etwas zu sagen, bräuchte ich mehr Info's:
Nur FB Heizung oder auch Heizkörper? Ist ein Mischer (MM100) installiert?
Wie werden die Räume der FB Heizung / Heizkörper geregelt? Kann ioBroker diese Regler lesen / verändern?Nach meiner Erfahrung beim Gasbrenner ist die Einstellung einer langen Taktzeit nicht optimal.
Mein Brenner hat eine Modulation von 1:6, wenn aber die Kessel-Temperatur zu stark abgefallen ist, dann wird zu lange mit hoher Leistung geheizt und zu spät runtergeregelt - dann sehr häufig getaktet. Ich reduziere dann die maximale Heizleistung auf 50% - geht aber nur über EMS-ESP. Hat der Ölbrenner überhaupt die Möglichkeit der Modulation?Ich selber lese die Temperatur der Referenzräume und leite daraus die benötigte Heizleistung ab.
Mit dem State km200.0.heatingCircuits.hc1.supplyTemperatureSetpoint kann man dann den Heizkreis ausschalten bzw. beeinflussen: -1: Auto Modus, 0: Aus , 5-30 die Solltemperatur des Raumes für den Heizkreis.Ich selber schalte solange aus, bis genug Heizbedarf ansteht (Ist-Temperatur < Solltemperatur - Differenz. Differenz bei mir > 1.0 Grad. Ich habe Homematic Thermostate in den wesentlichen Räumen und leite daraus den Heizbedarf ab.
-
@tom57
Hi,- nur Fußbodenheizung, keine Heizkörper
- MM100 Mischer ist vorhanden
- 3K Anhebung der Vorlauftemperatur ist eingestellt
- einige wenige Heizkreise sind über Stellmotoren geregelt bzw. werden über ein Wandthermostat geöffnet/geschlossen -> ist so atm nicht über IoBroker steuerbar, wäre aber ggf. machbar -> bringt aber nix denke ich, da das Takten auch passiert wenn alle Heizkreise komplett offen sind
- der Brenner moduliert von 30% bis 100% (4,5kW bis 15kW)
- Reduktion der maximalen Heizleistung von aktuell 100% auf weniger bringt da denke ich auch nix, weil das Takten passiert schon bei 30% Heizleistung
Meine Überlegung war auch wie du schreibst die Heizung iwie solange auf aus zu stellen wie es sinn macht bzw. bis die benötigte Heizlast da ist und er dann nicht mehr taktet. Habe überall im Haus Xiaomi Temperatursensoren und könnte darüber was regeln, ggf. auch über nen ESP mit Tempsesor in einem Raum als Referenzraum.
-
@atifan sagte in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):
nur Fußbodenheizung, keine Heizkörper
MM100 Mischer ist vorhanden
3K Anhebung der Vorlauftemperatur ist eingestelltVerstehe nicht ganz warum mit 3K Temperaturanhebung ein Mischer Sinn macht bei nur FB Heizung.
Was macht denn die Taktung bei 10K Anhebung?bringt aber nix denke ich, da das Takten auch passiert wenn alle Heizkreise komplett offen sind
Das kann eigentlich nur dann der Fall sein, wenn Vorlauf- und Rücklauftemperatur sich kaum unterscheiden, d.h. wenn keine Wärme mehr abgegeben wird. Häufiger machen die Stellmotoren bei Erreichen der Solltemperatur zu.
Fazit: Wenn keine Wärmebedarf, dann kann die Heizung aus sein. Meine FB Heizung steht auf Sommerbetrieb ab 18°C und der Raumeinfluss ist mit 6°C sehr hoch eingestellt. Bei erreichen der Solltemperatur im Referenzraum (WZ) - dort wo der RC310 steht - geht der Heizkreis auch automatisch aus.
Ansonsten per Script den State State km200.0.heatingCircuits.hc1.temporaryRoomSetpoint auf 0 setzen.
(War oben der falsche State - sorry). Gilt übrigens bis zum nächsten Schaltzeitpunkt im Automatikmodus. -
@tom57
3K Anhebung war immer so eingestellt, hatte auch schon mit 0K Anhebung getestet. Aber ist 10K nicht unnötig hoch? Dann heizt der Kessel ja immer 10K höher als die Sollvorlauftemperatur, ist das nicht ineffizienter bzw. würde dann eher Takten noch verstärken? 10K hatte ich noch nie eingestellt.
Ich hab Sommerbetrieb ab 15°C, d.h. meine Heizung geht ja schon früher in den Sommerbetrieb als deine. Kommt natürlich auch auf Dämmung bzw. Wärmeverlust an. Raumeinfluss habe ich bei mir nix eingestellt, ich hab auch keinen RC310 im Wohnzimmer sondern nur am Kessel direkt. Meinst es würde Sinn machen noch einen RC310 im Wohnzimmer zu installieren damit ich Raumtemp als Referenz habe?
Im Prinzip könnte das aber doch IoBroker übernehmen in Verbindung mit meinen Temperatursensor im Wohnzimmer?
Über Blockly könnte ich dann km200.0.heatingCircuits.hc1.temporaryRoomSetpoint auf 0 setzen, solange eine bestimmte Raumtemperatur erreicht ist.
Bzw. ich könnte damit die Taktsperre auch z.B. auf 3h erhöhen, was auch einiges ausmachen sollte.Was bedeutet gilt bis zum nächsten Schaltzeitpunkt im Automatikmodus?
Ich hab bei mir im Zeitprogramm eingestellt -> ab 5 Uhr morgens 21°C Heizen, keine Absenkung
Würde dann jeden Morgen um 5 Uhr der Datenpunkt von 0 auf -1 gestellt werden?