Hallo habe das Prtokoll des RS485 Schnittstelle der KWB Pelletsheizung zu dekodieren begonnen. Anbei die bisher Ergebnisse zusammengefasst.
Hallo Thomas, leider hast Du keine Email-Adresse hinterlassen... Habe auch einen KWB Kessel mit Comfort 3 Steuerung und bin an einem Gedankenaustausch interessiert. Viele Grüße, ein anderer Gast.
Halol Thomas, leider bist du nicht ehr unter der angegeben Adresse erreichbar. Mich würde mal der aktuelle Stand deines Projektes interessieren. cu Bodo
Habe inzwischen eine Platine mit AT90CAN und Ethernetanbindung laufen mittels der ich den KWB Kessel auswerte und die Daten an meinen Hausbus (openHAB) weiterleite. Zusätzlich steuere ich über die Platine mittels digitalen Potios den Status der Heizkreise, dies entspricht der Funktion der analogen Raumbediengeräte von KWB. Anbei der Schaltplan, sowie die C-Routinen zum auslesen. Grüße Thomas
Hallo Thomas, da auch ich unseren Kessel in den Hausbus einbinden will bin ich sehr an deinen Erkenntnissen interessiert. Ich bin noch nicht dazu gekommen mit deinen Code zu lesen. Welche Werte kannst du aus dem Bus auslesen?
Folgende Informationen werden ausgelesen: Status Störung Status Ascheaustragung Status Reinigung Status Hauptrelais Status Raumaustragung Status Pumpe Boiler Status Pumpe Heizkreis 1 Status Punpe Heizkresi 2 Temperatur Vorlauf Heizkreis 1 Temperatur Vorlauf Heizkreis 2 Temperatur Boiler Temperatur Kessel Temperatur Rücklauf Temperatur Rauchgas Temperatur Außensensor Aus dem Status Raumaustragung berechne ich auch noch die verbrauchte Menge an Pellets. Grüße Thomas
Danke Thomas. Muss sagen saubere Arbeit. Ich will eigentlich meine Easyfire mit meinem FHEM Projekt verheiraten, aber so wie ich das jetzt sehe, werde ich wohl nicht in der Lage sein, deinem Schaltplan in eine Platine umzuwandeln. Hab zwar schon kleinere Projekte mit Eagle umgesetzt, aber hier werde ich wohl passen müssen. mich würde mal interessieren, wie du den Verbrauch ermittelst. Ich habe bei mir eine Saugpumpe zum Befüllen und messe derzeit die Laufzeit der Pumpe. Über mehrere Monate hab ich mir einen kg/s Wert ermittelt, den ich dann hochrechnen kann.
Halo Thomas, hört sich echt super an! Das sind genau die Werte die ich auslesen wollte. Entweder ich verstehe deinen Code nicht oder es fehlt ein Teil. Ich komm nicht drauf wie du welche Temperatur ausliest. Wäre super wenn du noch ein paar Kommentare in deinen Code schreiben könntest. Hast du eventuell noch eine Dokumentation des Aufbaus der KWB Nachrichten.
Hallo Thomas, auch von mir ein Dankeschön für deine Doku. Kannst du uns noch beschreiben, mit welchen Pins des Bedienterminals die RS485 Schnittstelle verbunden wird ? Vorab vielen Dank. @EB: da wir beide scheinbar die gleichen Interessen haben und wir uns im gleichen Stadium befinden, wollte ich dich mal fragen, ob wir das gemeinsam angehen können. Wir könnten uns dann ev. direkt austauschen und nur die Ergebnisse posten. cu Bodo
Hallo, ich habe eine KWB Classicfire. Das Protokoll scheint das selbe zu sein, die Nachrichtenlängen unterscheiden sich jedoch. Ich habe auch mehr Temperaturen in der SenseMessage und die Positionen sind auch andere. Ich habe mir die Bitfelder in der CtrlMessage noch nicht angeschaut, ob da Ähnlichkeiten sind. Meine CtrlMessages sind auch kürzer (13 Byte anstatt 16). Angehängt ist ein kleines Python Script, das den jetzigen Wissenstand den ich habe widerspiegelt. Viele Grüße Markus
Hallo zusammen, auch ich versuche, meiner Easyfire ein paar Daten zu entlocken... Ich habe am Bedienteil auf die RS485 A- und B-Ader zusätzlich einen RS485/USB-Konverter angeschlossen. Die andere Seite steckt in einem Raspberry pi und liest die Kommunikation momentan über PHP mit. Leider finde ich die von Thomas so schön dokumentierten Präambeln da nicht wieder :-( Habe ihn mal angeschrieben und werde auch selber noch ein wenig forschen, weiß aber gerade nicht so recht weiter... Ich hänge einen Mitschnitt (enthält Zeilenumbrüche, evtl. in Wordpad oder ähnlichem öffnen, wenn sie nicht angezeigt werden) und das erzeugende Script mal hier an, vielleicht hat jemand eine Idee!? Viele Grüße aus Aachen Keith
:
Bearbeitet durch User
Hallo, Es gibt RS485 Adapter, bei denen A und B vertauscht ist. Das sieht bei dir so aus. Es gibt bei dir Häufungen von 191 191. 191 ist 10111111 binär, invertiert 01000000 und dann noch die Richtung umgedreht 00000010 und damit dezimal 2. Damit hättest du den 2 2 Protokoll-Header. Ich garantiere aber für nichts. :) Viele Grüße Markus
Hallo Markus, danke fürs Mitdenken :-) Über eine Verpolung habe ich auch schon einmal nachgedacht... Würde sich das so äußern? Bitweise invertieren und die Richtung drehen? 2, 2, 51, 16 würden ja erwartet, müssten nach der Logik also: 191, 191, 51, 247 auftauchen. Tatsächlich finde ich: 191, 191, 97, 247 häufig. Danach sollte allerdings ein Zähler hochgezählt werden, ist aber so auch nicht feststellbar... Gruß aus Aachen Keith Markus Heberling schrieb: > Hallo, > > Es gibt RS485 Adapter, bei denen A und B vertauscht ist. Das sieht bei > dir so aus. Es gibt bei dir Häufungen von 191 191. 191 ist 10111111 > binär, invertiert 01000000 und dann noch die Richtung umgedreht 00000010 > und damit dezimal 2. Damit hättest du den 2 2 Protokoll-Header. > > Ich garantiere aber für nichts. :) > > Viele Grüße > Markus
Hallo, ich habe keine Ahnung, ob das so aussehen würde... Da aber das eine Kabel die Investierung vom anderen ist, könnte ich mir das schon vorstellen. Ich persönlich würde es einfach ausprobieren, kann dir natürlich nicht garantieren, dass du damit nichts kaputt machst. Meine Classicfire hat sich in der Hinsicht aber als sehr robust erwiesen :) Ansonsten hatte ich Probleme als ich den Bus direkt am Bedienteil abgelesen hatte. An der Classicfire ist an der Seite eine Abdeckung wo die ganzen Kabel reingehen, da war bei mir ein freier RS485 Anschluß. Da ist jetzt mein USB Adapter dran und ich habe keine Probleme. Ich weiß allerdings nicht ob die Easyfire sowas auch hat. Viele Grüße Markus
Hallo Markus und alle Mitleser, Heureka, es tut! War wohl tatsächlich verpolt, danke für den Tipp! Ich werde berichten, wie es sich weiter entwickelt... Beste Grüße Keith
Hallo Keith, da auch ich meine Easyfire auslesen will und mir erst noch einen RS485 Adapter besorgen muss, wollte ich mal anfragen, welchen du eingesetzt hast. Da ich sowieso FHEM auf dem Pi laufen habe, würde mir die USB Variante am besten zusagen. Vielleicht kannst du auch mal bitte posten, wo die beiden Datenleitungen an der Console abgegriffen werden. Noch ne Frage zu deiner Anlage: hast du die Zuführung über Schnecke oder Sauger? Lg Bodo
Hallo Bodo, ich habe folgenden USB Stick: http://www.amazon.de/gp/product/B00BGZT04K/ref=wms_ohs_product?ie=UTF8&psc=1 Der funktioniert bei mir auch mit dem Pi. Für FHEM habe ich angefangen ein Modul zu schreiben. Es unterstützt allerdings im Moment nur die ClassicFire. Vielleicht kannst du aber von da aus weitermachen für die EasyFire. Zum benutzen muss das in die fhem.cfg:
1 | define Heizung KWB /dev/ttyUSB0@19200 |
Bei der ClassicFire gibt es an der Seite eine Abdeckung wo die ganzen Kabel rein gehen, da gab es bei mir auch direkt einen freien Anschluß für RS485. Ansonsten kann man auch direkt am Bedienteil abgreifen, bei mir war das alles beschriftet. Vielleicht ist das bei dir ja ähnlich. Viele Grüße Markus
:
Bearbeitet durch User
Hallo zusammen, Markus Heberling schrieb: > ich habe folgenden USB Stick: > http://www.amazon.de/gp/product/B00BGZT04K/ref=wms... Witzig - ich auch :-) > Bei der ClassicFire gibt es an der Seite eine Abdeckung wo die ganzen > Kabel rein gehen, da gab es bei mir auch direkt einen freien Anschluß > für RS485. Ansonsten kann man auch direkt am Bedienteil abgreifen, bei > mir war das alles beschriftet. Vielleicht ist das bei dir ja ähnlich. Bei der Easyfire: - Deckel aufstellen - Vorsichtshalber Heizung stromlos schalten (Schalter rechts vorne) - Platte mit Bedienteil nach oben und vorne abziehen - Die beiden Muttern an der Abdeckklappe unten abdrehen - Abdeckklappe abziehen Auf der dahinterliegenden Platine ist ein mit "RS485" beschrifteter Anschluss. Das Kabel kann man schön unten rausführen, wo auch die anderen langlaufen sollten.
Hallo Bodo, B.Bonny schrieb: > da auch ich meine Easyfire auslesen will und mir erst noch einen RS485 > Adapter besorgen muss, wollte ich mal anfragen, welchen du eingesetzt > hast. Da ich sowieso FHEM auf dem Pi laufen habe, würde mir die USB > Variante am besten zusagen. > Vielleicht kannst du auch mal bitte posten, wo die beiden Datenleitungen > an der Console abgegriffen werden. s. meinen Beitrag von heute. > Noch ne Frage zu deiner Anlage: hast du die Zuführung über Schnecke oder > Sauger? Ich habe eine Schneckenzuführung. Beste Grüße Keith
:
Bearbeitet durch User
hi markus, hi Keith, Danke für die schnelle Reaktion. Voll witzig, aber das war genau der gleiche Adapter, den ich auch schon im Warenkorb liegen hatte. Jetzt hab ich ihn bestellt. Mal ne Frage so nebenbei: Seht ihr da keine Probleme wg. der Garantie? Ich mein aus meiner Sicht, hätte ich da keine Bedenken, aber ich weiß noch nicht wie mein Installateur darüber denken wird. Mit dem hab ich ja einen Wartungsvertrag. So, jetzt erst mal abwarten, bis das Teil angekommen ist. cu Bodo
Hi Markus, hi Keith, mein Adapter ist heute gekommen. Das war eine der minimalistischsten Lieferungen, die ich je bekommen habe. Adapter und lediglich die Rechnung. Der Pi erkennt das Teil, die Initialisierung in Fhem funktioniert auch schon mal. Zum Verbinden mit der KWB hätte ich noch ein paar Fragen, da ich unmittelbar nach dem Verbinden entweder eine Störung Rauchgasmelder oder Netzwerkfehler bekomme, je nachdem wie ich A bzw. B auflege. (also entweder A<->A B<->B oder A<->b B<->A). Den Anschluss hab ich am Bedienteil abgegriffen. Habt ihr den Jumper zum Durchschleifen der Masse im Status open oder closed ? Muss der Bus terminiert werden ? Wenn ja wie ? Wenn ich mich recht erinnere waren da 120 Ohm zwischen A und B zu schalten. Vorab vielen Dank für eure Unterstützung. Bodo
Hallo Bodo, anschließen musst Du A-A und B-B. Ich hab's nicht am Bedienteil sondern an der Platine angeklemmt wie oben beschrieben, ist evtl. wegen der Terminierung relevant. Jumper habe ich alle drauf gelassen. Eine Terminierung hat der Adapter meiner Meinung nach an Board. Die Fehler hatte ich auch - allerdings nur beim Einschalten, nicht im laufenden Betrieb. Ich weiß noch nicht, wo die herkommen... Gruß Keith Bodo Bonny schrieb: > Hi Markus, hi Keith, > mein Adapter ist heute gekommen. Das war eine der minimalistischsten > Lieferungen, die ich je bekommen habe. Adapter und lediglich die > Rechnung. Der Pi erkennt das Teil, die Initialisierung in Fhem > funktioniert auch schon mal. Zum Verbinden mit der KWB hätte ich noch > ein paar Fragen, da ich unmittelbar nach dem Verbinden entweder eine > Störung Rauchgasmelder oder Netzwerkfehler bekomme, je nachdem wie ich A > bzw. B auflege. (also entweder A<->A B<->B oder A<->b B<->A). Den > Anschluss hab ich am Bedienteil abgegriffen. > Habt ihr den Jumper zum Durchschleifen der Masse im Status open oder > closed ? > Muss der Bus terminiert werden ? Wenn ja wie ? Wenn ich mich recht > erinnere waren da 120 Ohm zwischen A und B zu schalten. > Vorab vielen Dank für eure Unterstützung. > Bodo
Hallo, Netzwerkfehler etc. bekomme ich wenn der Adapter an der KWB angeschlossen ist, aber nicht im USB steckt. Hat bei mir bis zur Sicherheitsabschaltung geführt. Auch wenn ich direkt am Bedienteil abgegriffen habe, gab es Fehler, aber nicht so schlimme. Terminiert habe ich nichts, ich habe irgendwo gelesen dass das bei Direktverbindung nicht nötig wäre, sondern nur wenn man mehrere RS 485 Geräte hintereinanderschaltet. Das würde dann auch die Probleme erklären, wenn ich am Bedienteil anschließe. Ich bin mir da aber nicht sicher. Viele Grüße Markus
Hallo zusammen, alles äußerst interessant hier alles. Ich habe seit November 2013 eine KWB Easyfire. Mein Plan ist mir für die Easyfire die Intercom Schnittstelle zu holen, und die Heizung via Fhem über Netzwerk mit Modbus aus zu lesen und zu steuern. Hat das zufällig auch schon mal jemand getestet oder in Betracht gezogen? Grüße Daniel
Hi Daniel, ja, in Betracht hatte ich das schon mal gezogen, allerdings waren die bei KWB an der Hotline nicht sehr auskunftsfreudig. Der Techniker meinte da haben sich schon andere dran versucht. Eigentlich schade, dass die nicht an einer offenen Kommunikation interessiert sind. Aktuell versuche ich die Daten über den Adapter auszulesen den Keith auch verwendet hat. Sieht ziemlich erfolgsversprechend aus, allerdings ist es bestimmt ein hartes Stück Arbeit auch da an mehr Informationen zu kommen. Am Besten wäre wenn sich KWB nicht so geheimnisvoll anstellen würde und eine Schnittstelle per TCP/IP und REST-Webservices zur Verfügung stellen würde :-) Grüße Marco
Hallo, für die KWB Kessel gibt es auch ein Optionsmodul mit Ethernet Schnittstelle. Kommunikation läuft über Modbus TCP. Kostet gut 100€, wenn ich mich recht erinnere. Im Lieferumfang ist dann eine CD mit der Protokollbeschreibung und div. Testtools.
Pellet schrieb: > Hallo, > > für die KWB Kessel gibt es auch ein Optionsmodul mit Ethernet > Schnittstelle. Kommunikation läuft über Modbus TCP. Kostet gut 100€, > wenn ich mich recht erinnere. > Im Lieferumfang ist dann eine CD mit der Protokollbeschreibung und div. > Testtools. DAS klingt natürlich super interessant, höre ich zum ersten Mal. Kannst Du da noch mehr zu sagen? Wie heisst das Ding?
Wirklich viel kann ich im Moment noch nicht berichten. IBN wird wohl erst in 3 Monaten sein, dann weiß ich mehr. Die CD habe ich im Büro, nur komme ich dort so schnell nicht wieder hin. Wie das Ding heißt, weiß ich grad nicht. Aber da sollte Google ein Helfer sein. Das Modul wird auf die Rückseite vom Bediendisplay aufgesteckt und auch darüber mit Strom versorgt. IP wird über das Display eingestellt. Der Techniker, der die Kessel aufstellte, berichtete, dass die Kunden sehr zufrieden mit dieser Kommunikationslösung waren (Einbindung in Gebäudeleittechnik). Zu den interessanten Sachen: Schreibzugriff hat man auf Sollwertparameter und Kessel ein/aus. Gelesen werden können unglaublich viele Status- und Störmeldungen. Wahrscheinlich alle, die der Kessel zu bieten hat. Ich hatte mir den Inhalt der CD mal flüchtig angesehen. Es sind allerhand Excel Tabellen mit den Registerbeschreibungen für verschiedene Kesselmodelle enthalten. Weiterhin einige Kesselgrafiken und Diagnosetools für die Kommunikationsverbindung.
Du sprichst aber nicht von der "KWB Comfort Intercom", oder? Das Ding scheint deutlich teurer zu sein: http://knx-user-forum.de/53714-post49.html
Ich weiß es nicht. Es ist einfach eine Karte, die an das Display angesteckt wird. Der Vertreter hatte mir damals den Preis genannt. Über 100, aber keine 150 Euro. Mit der Beschaffung hatte ich dann aber nichts zu tun.
Hi, also ich hatte vor nem guten Monat ein paar mal mit ein diversen Technikern bei KWB telefoniert, aber von der 100 Euro Lösung hatte mir dort keiner was gesagt. Nur von der 250 Euro Intercom-Karte wo man dann noch mal Geld für ne Visualisierungssoftware ausgeben sollte, weil man das Protokoll nicht hat. O-Ton: "Das rentiert sich nur für große Wohnanlagen" Wenn es also eine Karte mit ner Protokollbeschreibung gibt würde ich die direkt bestellen, bevor ich mich da nächtelang zur Protokollanalyse hinsetze :-)
Marco O. schrieb: > Hi, > > also ich hatte vor nem guten Monat ein paar mal mit ein diversen > Technikern bei KWB telefoniert, aber von der 100 Euro Lösung hatte mir > dort keiner was gesagt. Nur von der 250 Euro Intercom-Karte wo man dann > noch mal Geld für ne Visualisierungssoftware ausgeben sollte, weil man > das Protokoll nicht hat. O-Ton: "Das rentiert sich nur für große > Wohnanlagen" > > Wenn es also eine Karte mit ner Protokollbeschreibung gibt würde ich die > direkt bestellen, bevor ich mich da nächtelang zur Protokollanalyse > hinsetze :-) me too :-)
Hallo, also ich meine die InterCom Schnittstelle das ist die die Modbus über TCP spricht. Kostet bei meinem Monteur 450€ Ist bestellt und wird hoffentlich bald eingebaut. Dann mehr dazu :-) Grüße Daniel
Hallo nochmal, habe gerade einmal das Angebot raus gesucht. Hier die Infos: KWB Comfort InterCom ist eine Schnittstelle für den Datenaustausch zwischen der Regelung KWB Comfort 3 und Fremdsystemen wie zB Regelungs- oder Visualisierungssystemen. Alle Kesselbetriebszustandsparameter sowie einzelne Alarme können von der Regelung KWB Comfort ausgelesen werden. Zusätzlich können folgende Parameter vom Fremdsystem in der Regelung KWB Comfort verändert werden: - Anlage Aus/Ein - Kesseltemperatur Soll - Alarme beheben - Laufzeit Mischer Rücklaufanhebung - Stehzeit Mischer Rücklaufanhebung - Puffer 0 Temperatur Maximum - Puffer 0 Temperatur Minimum - Puffer 0 Programm Als Kommunikationsprotokoll wird bei seriellen Verbindungen das Modbusprotokoll "Modbus RTU" und bei Netzwerkverbindungen das Modbusprotokoll "Modbus TCP" verwendet. Folgende Befehle des Modbusprotokolles werden von der KWB Regelung unterstützt: - Read Holding Registers - Write Single Register - Write Multiple registers Systemvoraussetzungen: - Fremdsystem modbusfähig (Modbus-Client) - Netzwerk-, serielle oder Modem-Karte - Verkabelung muss bauseits durchgeführt werden - nicht kombinierbar mit KWB Comfort Visio und KWB Comfort SMS KWB Comfort InterCom ist für KWB Easyfire, KWB Multifire und KWB Powerfire erhältlich. Grüße Daniel
Hallo, wird interessant, was die Intercom wirklich kann. Vor allem welche Parameter wirklich verändert werden können, mir wurde von KWB bisher immer gesagtr, dass nur sehr wenige Parameter von extern veränderbar sind. Die von Dir aufgezählten sind auch nicht gerade die erste Wahl die mir vorschweben würde. Hast Du eine Dokumentation wo die Intercom angeschlossen wird? Am digitalen Bedienteil, oder an der Kesselplatine? Bei meiner Lösung habe ich die vorhandenen Schnittstellen am Kessel genutzt. Dabei sind vorallem die Heizkreise interessant. Man kann die analogen Bedienteile von KWB anschließen, diese sind nicht viel mehr als ein geschaltener Widerstand und ein Temperatursenor. Man kann also ein digitales Potio an diesen Stchnittstellen anschließen und damit den Modus der Heizkreise steueren (Tag/Nacht/Aus/Auto) bzw könne man die Raumtemperatur dem Kessel mitteilen. VG Thomas
Also was ich schon mal sagen kann, ist das es an der Kesselplatine angeschlossen wird. Doku habe ich zwar angefragt aber leider noch nicht bekommen. Ich hoffe ich bekomme die Sachen noch dann kann ich mehr Informationen liefern. Grüße Daniel
Hallo, also so wie es aussieht ist das Teil das Geld nicht wert. Es kann wirklich nur die oben beschriebenen Sachen. Alternativen: - So wie ihr es gebaut habt. Mit Anschluss an die analoge Schnittstelle. - Aktor mit Widerstand zwischen Heizung und Außenfühler. So das der Heizung vorgegaukelt wird es wären 25°C draußen. Somit schaltet sich der Heizkreis ab. - Austauschen der Heizungssteuerung: Hierzu etwas mehr. Alle Fühler und Steuerungselemente der Heizung werden von der Standard Steuerung entfernt und an eine andere Steuerung angeschlossen. Diese übernimmt dann vollständig die Steuerung der Heizung. Die Steuerung der Heizung wird so zu sagen verdummt. Getauscht wird das ganze durch diese: http://ta.co.at/de/produkte/uvr1611/frei-programmierbare-regelung-uvr1611.html Frei Programmierbar, bis zu 60 Fühler Sollten diese nicht ausreichen, kann das ganze entsprechend erweitert werden. Mein Heizungsbauer hat diese schon öfters verbaut. Bis zu 10h Programmieraufwand von ihm selbst. Jedoch kann man damit dann allen Schabernack treiben. Diese ist dann wie man sieht KNX/EIB fähig. Kaufpreis liegt bei rund 550€ mit dem Bootloader: http://ta.co.at/de/produkte/pc-anbindung/bootloader-bl-net.html Grüße Daniel
hi, Ich habe mir das Visio Interface gegönnt. (inkl. dongel - den man nicht braucht :-( ) Man kann per TCP/Modbus die Register auslesen. Hier ein Beispiel: http://www.cloudshark.org/captures/d36760e896a2?filter=ip.addr%20%3D%3D%20192.168.1.5%20%26%26%20tcp.port%20%3D%3D%20502 Derzeit versuche ich von der Visualisierung auf die Register rück zu schließen. Für Intercom wurden sind die Hold Register bekannt. lg
Guten Tag zusammen, den Thread finde ich sehr interessant, da ich grade dabei bin, eine Easyfire 12kW zu bestellen und sehr gerne Daten auslesen möchte. Das Comfort Visio Ding ist natürlich preislich jenseits von Gut und Böse, und im Prinzip brauche ich das auch nicht. (Würde ~€2000,- kosten!) Das Comfort InterCom wäre für mich mit ~€640,- preislich grade noch akzeptabel, wobei ich noch versuche zu verhandeln. (Preise jeweils brutto und bei ersterem mit 'Installation'.) Nach obiger Lektüre stellt sich mir aber die Frage, ob ich nicht mit einem USB-Interface auskommen kann? Einen Raspberry Pi hätte ich grade eh' über. Kann ich also mit dem rs-458-USB-Interface und einem Pi im Prinzip dasselbe erreichen wie mit dem Comfort InterCom? Ich will im wesentlichen regelmäßig Daten auslesen und speichern. Über Feedback würde ich mich sehr freuen! Viele Grüße Matthias
Hallo Thomas, kannst du bitte kurz schreiben, welches digitale Poti du für die Steuerung verwendest und wie du es ansteuerst? Hab die Info nicht in deinem Schaltplan gefunden. Aus irgendeinem Grund kommt mit meinem RS-458-USB-Adapter von meiner Easyfire nur Schrott an, der nichts mit euren Protokollbeschreibungen gemeinsam hat. Hab mir deshalb vorerst 1-wire-Temperatursensoren neben die Fühler der KWB geklebt. Zusätzlich zähle ich mit einem Reedkontakt die Umdrehungen der Förderschnecke. Mit diesen Werten und den Ein-/Ausgängen (Leistung, Urlaubsmodus, ...) der Steuerung hab ich das wichtigste für die Protokollierung in meinem FHEM. Aber das Umschalten von Nacht/Tag/Auto würde ich sehr gern noch vom FHEM aus machen können. Viele Grüße Leo
Daniel schrieb: > .... Mein Heizungsbauer hat > diese schon öfters verbaut. > Bis zu 10h Programmieraufwand von ihm selbst. Jedoch kann man damit dann > allen Schabernack treiben. > Diese ist dann wie man sieht KNX/EIB fähig. > Kaufpreis liegt bei rund 550€ mit dem Bootloader: > http://ta.co.at/de/produkte/pc-anbindung/bootloader-bl-net.html > > Grüße > Daniel Hallo Daniel, ist dein Heizungsbauer zufälling im Raum Frankfurt am Main tätig? Meine Regelung der Solaranlage und des Kaminofens hat den Geist aufgegeben und da ich sowieso eine neue dafür brauche hatte ich gedacht die KWB Pelletheizung und evtl. die Paul Lüftungsanlage mit einbinden zu lassen. Doch dafür brauche ich einen Profi. Grüße Alex
Hallo Leo, ich habe den MCP4651 mit 10kOhm eingesetzt. Ist ein Dualpotiometer mit I2C Interface. Grüße Thomas
:
Bearbeitet durch User
Bei uns im Keller steht eine KWB Easyfire Anlage die ich gern über Modbus (Ethernet oder RS232) in meinen Hausbus einbinden würde. Hat einer von euch versucht die von unterwurzer genannten Register zu lesen oder zu schreiben? Wenn ja, bei welchem Brenner und mit welche Firmwareversion? @unterwurzer Vielen Dank für die genannten Register. Bei welcher Anlage sind diese Register gültig? Passen sie zu einer Easyfire? Konntest du mittlerweile noch mehr Register zuordnen? @Bodo Tut mir leid, dass ich dir nicht geantwortet habe. Ich war schon lang nimmer hier und hab deine Antwort überlesen. Nach dem was ich hier noch so gelesen hab, ist die Modbus Variante für mich um einiges interessanter.
Hallo Thomas, reicht dir die Auflösung des digitalen Potis, um die tatsächliche Temperatur an die Heizung zu übermitteln oder verwendest du das Poti nur, um den Modus (Nacht, Tag, auto) einzustellen? Wenn man die Temperatur auf 0,1 Grad genau übergeben möchte, braucht man je schon eine sehr feine Auflösung. @alle: Bekomme immer noch Schrott, wenn ich auf den Bus zugreife. Verwende einen DIGITUS DA-70157. Hat irgend jemand zufällig Erfahrung mit dem Adapter? Was für Kommunikationsparameter (Baud, Parity, ...) verwendet ihr genau? Gruß Leo
Hallo zusammen, Ich besitze und Kwb Classicfire 30 kwh und einen Powerdog LPR der Firma Eco Data. Da ich jetzt gerne die Leistungskurve meines Boilers, Puffer etc. angezeigt und aufzeichnen wollte habe ich mich gefragt ob ich nochmal sensoren brauche, oder obs schon was fertiges gibt um es aus der Heizung direkt auszulesen. Je mehr man auslesen kann umso besser! Hat es jemand geschafft was brauchbares zu entwickeln oder hat sich das alles im Sand verlaufen? Lg Anton
Hallo, ich hab eine KWB Easyfire im Keller. Wie ich aus den vorhergehenden Posts entnehmen kann sollte ein Anbindung bzw. ein Auslesen der Parameter über den Raspi möglich sein. Hat jemand von euch das schon am laufen? Wenn ja würde mich brennend Interessieren wie das ganze auf den Raspi eingerichtet wird. Die grundsätzliche Anbindung via USB-Converter etc. ist mir klar. LG
Hallo! Alles sehr interessant! Ich hab ein Ethernet-Modul bei meinem KWB-Kessel dabei, kann damit aber nix anfangen!! Hab's mal mit einem Ethernet-Sniffer probiert.. von der IP des Kessels bekomme ich gar nix!! Was mache ich falsch? Gibts bez. Raspi schon was Neues? LG joe
Hallo, Vielleicht hilft es jemanden weiter. Ich bin im Besitz einer Visio und habe einen Mitschnitt der Kommunikation gemacht. (Wireshark) Mir gefällt die Idee mit dem Respi. Die Daten noch rein in die Synology (SQL) - das wäre dann Supi. Naja - ein Ziel braucht der Mensch :-) Sollte ich euch helfen können mit irgendwelchen Logs - gern :-) By the way: Visio ist nicht besonders stabile....
Liebe Kollegen, wir besitzen einen Firefox ENP15, der offensichtlich auf dem selben Protokoll basiert - leider aber nur der Frame. Da die Firma dieses Frühjahr in Konkurs ging, werde ich wohl nicht umhin kommen, das Protokoll selber zu entschlüsseln. Vielleicht gibt es ja noch jemanden, der daran gern mitarbeiten würde? Der ENP15 verfügt genau wie der KWB-Kessel über eine RS485, Datenrate ist ebenfalls 19200, 8bit, no parity. In der Protokollbeschreibung von Thomas T. fehlt jedenfalls noch das Längenbyte: Das zweite Byte (bzw. bei dem was ihr als "Sense-Frame" bezeichnet, das dritte) enthält die Anzahl der Bytes in einem Frame inkl. den führenden 0x02 und dem Längenbyte selbst, aber ohne die Stuffingbytes. Markus Heberling hat dies in seiner Version aber schon berücksichtigt. lg, Martin
Fortschritt beim Protokoll dekodieren: Inzwischen kann ich etliche Temperaturwerte auslesen, allerdings kann ich einige aufgrund ähnlicher Werte zum Messzeitpunkt (Heizung ist ca. 250 km weg; ich arbeite derzeit nur mit geloggten Daten) nicht auseinanderhalten. Die Temperaturwerte berechnen meine Vordenker hier etwas "kompliziert" und mit leichtem Fehler. Offensichtlich handelt es sich um einen 2-Byte-Integer im Big-Endian-Format (High-Byte kommt zuerst):
1 | Temperatur = (signed short)( data[n] * 256 + data[n+1] ) // in Zehntel Grad |
Das Ganze dividiere ich dann noch durch 10.0. Das sollte auch für negative Temperaturen richtig funktionieren, derzeit habe ich aber keine zum Testen. Ebenfalls kann ich fast immer die Checksumme richtig berechnen. "fast" heißt von 9600 getesteten waren 10 nicht übereinstimmend. Es schaut nach einem systematischen Fehler aus: Checksumme im Frame bei allen zehn Fehlerfällen 253, meine berechnete 2. Und hier der Algorithmus: Berechnet wird über den ganzen Frame inkl. dem 0x02 am Anfang (bei Frames mit 0x02 0x02 nur einmal), length ist gleich der Framelänge exkl. Checksumme.
1 | int Checksum(unsigned char* data, unsigned char length) |
2 | {
|
3 | int i; |
4 | unsigned char crc = 0; |
5 | |
6 | crc = data[0]; // = 0x02 |
7 | for (i = 1; i < length; i++) |
8 | {
|
9 | crc = rotl(crc, 1); |
10 | if (crc + data[i] > 255) |
11 | {
|
12 | crc = crc + data[i] + 1; |
13 | }
|
14 | else
|
15 | crc = crc + data[i]; |
16 | |
17 | }
|
18 | return crc; |
19 | }
|
:
Bearbeitet durch User
Hallo, wollte nochmal hierrein werfen ob schon lauffähige Lösungen entstanden sind ? Besitzte auch eine KWB Easyfire 25 und wäre an einer Lösung zum Auslesen interessiert ? mfg
Hallo Hanesch, meine Lösung funktionert seit ca. einem Jahr sehr brauchbar. Anfang des Jahres hatte ich mal mit Keith Sauvant Kontakt. Bei ihm dürfte es seitdem auch ganz gut laufen. lg, Martin
Hallo, wie genau funktioniert deine Lösung ? Auch gerne per Mail : hanesch.kim at gmail.com mfg
Hallo zusammen, hier meine Lösung live im Betrieb: http://eosl.de:808/kwb_log.php Bei Interesse kann ich sie gerne mal zum Nachbau dokumentieren. Viele Grüße aus Aachen Keith
Hallo, wie genau hast du dein Projekt aufgebaut ? Sind die angezeigten Daten alles was möglich ist ? Wie schauts mit Alarms aus ? Bin jedoch sehr interessiert an deinem Projekt. mfg
Das ist alles, worauf ich Zugriff habe. Martin, hast Du darüber hinaus gehende Daten? Alarme habe ich noch nicht eingebaut. Ich nutze derzeit eine externe Lösung, die auf das hier zugreift und mich benachrichtigt, wenn die Kesseltemperatur unplausibel niedrig ist (Pellets alle in der Regel). Das funktioniert ganz gut.
Thomas T hatte ja noch folgendes ausgelesen : Folgende Informationen werden ausgelesen: Status Störung Status Ascheaustragung Status Reinigung Status Hauptrelais Status Raumaustragung Status Pumpe Boiler Status Pumpe Heizkreis 1 Status Punpe Heizkresi 2 Temperatur Vorlauf Heizkreis 1 Temperatur Vorlauf Heizkreis 2 Temperatur Boiler Temperatur Kessel Temperatur Rücklauf Temperatur Rauchgas Temperatur Außensensor Kannst mir gerne nähere Informatioenen zu deiner Lösung per Mail an hanesch.kim at gmail.com zukommen lassen. Würde mich freuen. mfg
Hi Keith, bin dennoch an deiner Lösung interessiert. Kanns du diese mal kurz beschreiben ? mfg
Hallo, ich arbeite gerade an home-assistant (http://www.home-assistant.io) Integration für den KWB Easyfire Kessel. Zu dem Zweck arbeite ich an einer neue Python Implementierung unter https://github.com/bimbar/pykwb . Vielleicht kann das die eine oder andere Frage beantworten, oder der eine oder andere hier etwas dazu beitragen. Grüße
Pull Request für homeassistant ist raus, sollte in Version 0.39 oder 0.40 unterstützt sein. https://github.com/home-assistant/home-assistant/pull/5760
Hallo bimbar, hätte schon Interesse dich hierbei zu unterstützen, allerdings bin ich auch erst durch dich erst auf home-assistent gestoßen. Bisher war und bin ich nur in der FHEM Welt unterwegs. Kannst du mir vielleicht noch Infos zur Anbindung geben, wie ich die Anbindung hard- und softwaremäßig vornehmen muss ? cu
Hardwaremäßig entweder direkt mit einem RS485 Adapter auf Klemme 25, oder mit einem RS485-Ethernet Konverter, ich denke, ich habe den hier benutzt: http://de.usriot.com/p/Ethernet-Seriell-Konverter/ . Software wie in dem PR dokumentiert.
Hallo zusammen, ich hoff ihr könnt mir bei meinem Problem helfen. Ich hab mir so einen RS485 <-> LAN Konverter besorgt und diesen an meinem KWB Easyfire angeschlossen. Mit dem Raspberry Pi bekomme ich mit dem grabserial.py von oben(Markus Heberling) (umgebaut auf tcp) Temperaturwerte raus, nur irgendwie passt da die Berechnung nicht. Kann mir da jemand helfen? Beispiel: 03: 061 002 1555.500 Kesseltemperatur Ich gehe mal davon aus, dass das der Ist Wert sein sollte. Der wäre laut Anzeige beim Ofen 58 Grad. bzw. Soll 60 Grad. (Woher kommt diese Formel? message.data[i]*25.5+message.data[i+1]/10)) Ich hoffe jemand kann mir helfen! Vielen Dank! Hab das ganze auch mit dem homeassistent probiert. Da komm ich leider nicht so richtig ins laufen, bei dem werden keine Werte ausgelesen. :-( Es schaut bei dem python Skript so aus, als ob der nie das Start und Endflag im Stream findet.
Diese Formel ist eine Näherung, um aus 2 aufeinanderfolgenden Bytes einen signed short zu machen. Korrekt wäre temp = message.data[i] * 256 + message.data[i + 1] if (temp > 32767): temp = temp - 65536 temp = temp / 10 Von Kessel zu Kessel (vielleicht je nach Ausstattung) scheinen die Paketformate sich erheblich zu unterscheiden. In dem PDF ganz oben wird eine Sense-Paketlänge von 51 angenommen, bei mir sind es 61 und bei Andreas D. sind es 95. Auch CTRL Pakete sind unterschiedlich lang, 16 bei mir und 24 bei Andreas D. . Möglicherweise gibt es Steuerflags in den Paketen, die uns unbekannt sind und ein Paketformat definieren, oder vielleicht ist es auch einfach eine Frage der jeweiligen Firmware Version.
Thema Start- und Endflags. Ich hatte ursprünglich angenommen, daß es eine Folge von mehreren Bytes am Paketanfang gibt, in der Protokollanalyse oben sind das: CTRL: 2 16 17 SENSE: 2 2 51 16 Nach Analyse des Dumps von Andreas D. ist mir klargeworden, daß das anders funktioniert: CTRL: 2 SENSE: 2 2 Alle anderen "2" im Datenstrom werden als "2 0" kodiert. Jede "2" ohne "0" dahinter bedeutet Paketanfang.
Header und Protokollversion Ich gehe davon aus, daß das Format wie folgt ist: Startflag (2 bzw 2 2) Paketlänge Protokollversion laufende Nummer <PAKET> Checksumme Sowohl mein Kessel als auch die Protokollanalyse oben haben Version: CTRL: 17 SENSE: 16 Andreas D. hat CTRL: 33 SENSE: 32 Mal angenommen, an der Stelle ist wirklich die Version zu finden. Alle Lösungen hier in dem Thread funktionieren mit Version 17/16.
Hallo bimbar, deine Analyse ist soweit größtenteils richtig. "Protokollversion" ist aber eher ein "Frame-ID". Bei unserem ENP15 sind diese IDs so vergeben: 17: Nachricht von Bedienteil an Kessel 16: Antwort vom Kessel (an Bedienteil) 65: Nachricht von Bedienteil an Heizkreisregler 64: Antwort vom Heizkreisregler (an Bedienteil) lg, Martin
Ich hab mal (derzeit schaut's nicht schlecht aus) Werte rausbekommen. Ich werde das mal einige Zeit beobachten ob das so stimmen kann... (Änderungen siehe github) Vorlauf Ist: I: 0 T: 0(°C) V: 22.1 Boiler 0 Ist: I: 2 T: 0(°C) V: 56.8 Kessel Ist: I: 3 T: 0(°C) V: 41.2 Aussentemperatur: I: 6 T: 0(°C) V: 15.1 Raum Ist: I: 9 T: 0(°C) V: 19.4
bimbar schrieb: > Pull Request für homeassistant ist raus, sollte in Version 0.39 > oder > 0.40 unterstützt sein. > > https://github.com/home-assistant/home-assistant/pull/5760 Hallo Bimbar Supper Arbeit! hast du was dagegen wenn ich versuch dein kode auf arduino zu portieren ? ich brauche für mein home automation Arduino basierte geraten. klar logich ich werde den kode zuverfügen stellen ! ps Sory für mein Deutch ich komme aus Frankreich !
Hallo zusammen, Ich habe zwar eine Multifire-Anlage, aber auch mit Comfort3 Steuerung. Da habe ich mir gedacht, das dies ein gutes erstes Projekt sein könnte ;-)Habe nun einen Raspberry Pi Zero mit Home-Assistant zum laufen gebracht, bekomme allerdings nur mit dem grabserial.py von oben (Markus Heberling) Werte aus dem Bus (allerdings mit Fehlermeldung). Im Home-Assistant steht bei allen Sensoren nur "unavailable". Hat jemand einen Tipp für mich? Besten Dank im voraus, MB
Hallo Martin B, ich vermute, dass die Daten bei deiner Mulitfire einfach andere sind bzw. an anderen Positionen stehen. Wenn dem so ist, bleibt wohl nur, durch "gut Raten" möglichst viel herauszufinden. Also: Ein paar Datenframes aufzeichnen und den rohen Inhalt (am besten mit Hex-Zeichen ausgeben). Zeitgleich Werte auf der Kesselsteuerung ablesen, Temperaturwerte händisch in Hex umrechnen und schauen, ob du diese in den Daten wiederfindest. Das grabserial.py habe ich nie verwendet, aber vielleicht hilft es trotzdem, wenn du die Fehlermeldungen mal hier postest. lg, Martin
Hallo Zusammen, aufbauend auf dem FHEM Projekt von Markus Heberling (oben) habe ich dieses Modul seit einiger Zeit am Laufen. Die wichtigsten Parameter kann ich damit auslesen. Vielleicht hilft es ja weiter. Gruß JamesB
Hallo zusammen, meine Easyfire (mit Comfort3-Steuerung) schickt auch die Botschaften 32 und 33. Ich habe das Python-Skript von oben etwas angepasst (siehe Anhang), so dass ich damit die ersten Signale dieser Botschaften parsen kann:
1 | aSignalMap32 = { |
2 | #Name: Type=signed, Offset, Length, Factor, Unit |
3 | 'Vorlauf Ist HK1': ('s',6, 2, 0.1,'°C'), |
4 | 'Rücklauf Kessel': ('s',8, 2, 0.1,'°C'), |
5 | 'Boilertemperatur': ('s',10, 2, 0.1,'°C'), |
6 | 'Kesseltemperatur': ('s',12, 2, 0.1,'°C'), |
7 | 'Puffertemperatur 2': ('s',14, 2, 0.1,'°C'), |
8 | 'Puffertemperatur 1': ('s',16, 2, 0.1,'°C'), |
9 | 'Aussentemperatur HK1': ('s',18, 2, 0.1,'°C'), |
10 | 'Rauchgas': ('s',20, 2, 0.1,'°C'), |
11 | 'Unterdruck': ('s',34, 2, 0.001,'mBar')} |
12 | |
13 | aSignalMap33 = { |
14 | #Name: Type=bit, Offset, Bit |
15 | 'Kessel Hauptrelais': ('b',1,2), |
16 | 'HK1 Pumpe': ('b',1,5), |
17 | 'HK1 Mischer AN': ('b',1,7), |
18 | 'HK1 Mischer ZU': ('b',2,0), |
19 | 'Boiler Pumpe': ('b',2,5), |
20 | 'Puffer Pumpe': ('b',2,7), |
21 | 'Keine Stoerung': ('b',3,0), |
22 | 'Drehrost': ('b',3,6), |
23 | 'Reinigung': ('b',3,7), |
24 | 'Raumaustragung Saugturbine': ('b',4,1), |
25 | 'Kessel Hauptschuetz': ('b',9,1)} |
Hat jemand weitere Signale von diesen Botschaften herausgefunden?
Hallo, Ich habe dein Script ausprobiert, und es läuft kurze Zeit bis eine Botschaft 33 gelesen wird. Hier die Fehlermeldung: 23:40:06.472 New Message: id: 033 len: 029 counter: 080 checksum: 253 Traceback (most recent call last): File "newgrab32.py", line 174, in <module> HandleMsg(oMsg, aoLastMsg[oMsg.nType]) File "newgrab32.py", line 126, in HandleMsg PrintRawMsg(oMsg, oLastMsg) File "newgrab32.py", line 99, in PrintRawMsg if (oMsg.anData[i]!=oLastMsg.anData[i]): IndexError: bytearray index out of range Auskommentieren der Signalmap-einträge hat nichts gebracht. Bei mir (allerdings Multifire) habe ich in Botschaft 32 folgendes zugordnen können: Offset: 22: evtl. Platinentemperatur? 32: Sauerstoffgehalt 38: Glutbett Botschaft 33 konnte ich nicht so detailliert aufschlüsseln, aber da sollte auch noch ein Wert für die Kesselleistung zu finden sein. Meine Anlage hat noch externe HK-Module. Diese senden mit Id 64 die HK-ist Temperaturen. (In den ungeraden Countern HK 4/3 und in den geraden HK 6/3). Derzeit starte ich das pythonscript per cronjob alle 2 Minuten. Nachdem alle Werte aufgenommen sind wird das dann in eine Textdatei geschrieben. Mit dem Filesensor-Component wird das in Homeassistant eingelesen und grafisch aufbereitet und bei Bedarf eine Meldung abgesetzt.
Hallo MartinB, danke für den Hinweis. Die eine Zeile (zum Hervorheben von veränderten Bytes seit der letzten Ausgabe) ist damit nicht klar gekommen, dass es bei dir noch mehr Botschaften außer 32 und 33 gibt. Ich habs jetzt verallgemeinert und nochmal neu angehängt. Deine anderen Offsets muss ich bei Gelegenheit mal überprüfen, wenn unsere Heizung mal wieder läuft (... was zur Zeit noch ziemlich selten ist, wegen unserer Solaranlage.)
Hallo MartinB, inzwischen konnte ich weitere Betriebsstunden analysieren. Zu deinen Signalvorschlägen: 22: evtl. Platinentemperatur? --> Könnte auch bei mir z.B. eine Prozessortemperatur sein 32: Sauerstoffgehalt -> liegt bei mir zwischen ca. -2000 und +2000 während des Heizens. Da bekomme ich keinen Bezug zum Sauerstoffgehalt hin 38: Glutbett -> Ist bei mir immer konstant. Da scheint bei mir kein Sensor verbaut zu sein. Ansonsten habe ich noch folgende weitere Signale gefunden: In der Sense-Botschaft 32 befinden sich vor den Temperaturwerten noch ein paar Statusbits: 'Aschebehaelter': ('b',3, 6), 'Pellet_Vorrat': ('b',4, 3) Bei mir ändert sich im normalen Betrieb sonst nur noch ein Bit in diesen ersten 6 Bytes, das ich aber noch keinem Signal zuordnen konnte. Ich schätze, dass das ansonsten irgendwelche Statusbits sind, die das Bedienteil zu Fehlermeldungen veranlassen, so wie beim Aschebehälter (-> führt zu Fehler 19, wenn das bit ein paar Sekunden auf 0 ist). Anhand dieser Bits müsste man also herausfinden können, was für ein Fehler gerade anliegt, wenn das Störungs-Signal kommt ...?!? @all: Hat jemand zufällig ein paar Logs, wo Fehler aufgetreten sind? Mir ist dann noch aufgefallen, dass die Ctrl-Botschaft(33) bei mir immer mit 84 anfängt und die Sense-Botschaft(32) mit 128 84. Die Botschaften 17 und 16, fangen mit 88 und 128 88 an (zumindest in dem Datenstrom, den ich im Netz gefunden habe). Evtl. ist das so eine Art Startbyte oder SW-Versionskennung in der Ctrl-Botschaft und anschließend die Bestätigung in der Sense-Botschaft, dass diese fehlerfrei empfangen wurde. Wenn diese Theorie stimmt, dann müsste man in diesen Bytes nicht nach Signalen suchen ... Hinter den Temperaturwerten konnte ich noch die Drehzahlen von Lüfter und Saugzug decodieren, was aufgrund ihrer ungeraden Offsets und ihrem krummen Faktor nicht so offensichtlich war, wie bei den bisherigen Signalen: 'Drehzahl_Saugzug': ('u',69,2,0.6,'Upm') 'Drehzahl_Luefter': ('u',71,2,0.6,'Upm') Bei der Ctrl-Botschaft 33 gibts bei mir noch folgende weitere Signale: 'Zuendung': ('b', 3,2), 'Saugzug': ('b', 4,5), 'Kesselleistung': ('u', 13, 1, 1,'%') -> ? Ich hänge nochmal eine aktualisierte Version von meinem Skript an mit den aktualisierten SignalMaps. Zusätzlich habe ich es inzwischen nochmal verallgemeinert, so dass man sich jetzt oben im Skript auch weitere SignalMaps zu anderen MessageIDs anlegen kann und dann werden diese IDs automatisch mit decodiert. @all: Zum Schluss noch eine Idee: Hat jemand zufällig ein 2. Digitales Bedienteil an seiner Anlage und kann was zu den Botschaften sagen, die da rauskommen? Wenn man die gleichen Botschaften selber schicken würde, dann müsste man doch die komplette Anlage fernsteuern können ... ?!
Hallo, Ich möchte dein Skript gerne bei mir einsetzen. Mir ist aber nicht ganz klar wie ich es einbinden soll. Hast du eine kurze Anleitung ? Ich wollte es auf einem RasPi laufen lassen. Danke.
Hi Rainer, du musst einfach das Skript auf deinen RasPi kopieren und in der Konsole dann python3 grab32.py eingeben. Vorher musst du natürlich noch den Datenbus der Heizung über den USB-RS485 Adapter an deinen RasPi anschließen wie oben im Thread beschrieben.
Danke, probier ich aus sobald der USB-Konverter da ist :-) Hoffe der kommt die nächsten Tage. Ich bin kein Pythen Spezialist aber wie machst du das mit der Logging ? Ich hab im Code nichts dazu gefunden. Könnte man nicht alle x-Minuten oder x-Werte diese in ein Logfile schreiben ? Dann könnte man die danach auswerten :-) Das spannende ist ja die Auswertung ;-)
Ok, dann lade ich dir hier nochmal mein komplettes Skript im Anhang hoch, das neben anzeigen auch loggen kann. Zusätzlich zu den decodierten Signalen schreibe ich auch die rohen Botschaften jeweils in eine CSV-Datei pro Tag. Ich logge nicht nur jede Minute, sondern auch wenn sich in der Ctrl-Botschaft eine Änderung ergeben hat. Ein Log-Zyklus startet bei mir immer mit der Ctrl-Botschaft und danach werden automatisch auch noch alle Sense-Botschaften des gleichen Zyklus weggeschrieben. So verpasse ich nichts wichtiges und kann nachher alles analysieren z.B. mit Excel. Die Datenflut ist aber trotzdem deutlich geringer als wenn man den Datenstrom komplett mitloggen würde. Das Logging ist auch wieder so allgemein gehalten, dass automatisch alle Botschaften geloggt werden, egal ob eine SignalMap dafür vorhanden ist oder nicht (falls bei dir andere Botschaften als 32 und 33 kommen sollten). Es kann aber auch über die Parameter oben im Skript konfiguriet werden, falls es dir zu viele Daten erzeugt.
Super - Danke. Der Konverter soll morgen ankommen :-) Dann werde ich das mal ausprobieren.
Ich habe das Skript mal getestet. Aber irgendwas scheint nicht zu gehen. Bei der ersten Verkabelung waren wohl die A/B vertauscht, hatte die 191 statt 2. Nun wird was ausgelesen, aber immer nur ID 16/17 Das ca. alle 2-3 Sekunden Eine Idee woran das liegen könnte ? 14:12:56.596 New Message: id: 017 len: 021 counter: 080 checksum: 134 088 136 000 020 000 000 000 000 000 000 000 000 000 008 255 Offset_00 (088, 136): 2266.400 Offset_02 (000, 020): 2.000 Offset_04 (000, 000): 0.000 Offset_06 (000, 000): 0.000 Offset_08 (000, 000): 0.000 Offset_10 (000, 000): 0.000 Offset_12 (000, 008): 0.800 Offset_14 (255, 000): -25.600 14:12:56.661 New Message: id: 016 len: 061 counter: 080 checksum: 205 128 088 111 043 037 001 126 001 207 002 036 001 246 001 010 002 048 000 102 001 216 001 051 001 244 001 244 005 020 001 046 005 020 005 020 005 020 005 020 001 244 000 000 000 000 000 013 000 000 000 000 000 000 000 000 Offset_00 (128, 088): -3268.000 Offset_02 (111, 043): 2845.900 Offset_04 (037, 001): 947.300 Offset_06 (126, 001): 3225.700 Offset_08 (207, 002): -1254.200 Offset_10 (036, 001): 921.700 Offset_12 (246, 001): -255.900 Offset_14 (010, 002): 256.200 Offset_16 (048, 000): 1228.800 Offset_18 (102, 001): 2611.300 Offset_20 (216, 001): -1023.900 Offset_22 (051, 001): 1305.700 Offset_24 (244, 001): -307.100 Offset_26 (244, 005): -306.700 Offset_28 (020, 001): 512.100 Offset_30 (046, 005): 1178.100 Offset_32 (020, 005): 512.500 Offset_34 (020, 005): 512.500 Offset_36 (020, 005): 512.500 Offset_38 (020, 001): 512.100 Offset_40 (244, 000): -307.200 Offset_42 (000, 000): 0.000 Offset_44 (000, 000): 0.000 Offset_46 (013, 000): 332.800 Offset_48 (000, 000): 0.000 Offset_50 (000, 000): 0.000 Offset_52 (000, 000): 0.000 Offset_54 (000, 000): 0.000
Dann ist doch alles richtig. Bei dir kommen also auch die Botschaften 16 und 17 wie bei den meisten hier im Thread und nicht 32/33 wie bei Martin mir. Ich schätze deine SW-Version auf der Heizung ist etwas älter als meine. Jetzt musst du dir nur noch für diese beiden Botschaften 16/17 eine SignalMap schreiben aus den Signalpositionen wie oben im Thread beschrieben und die oben in mein Skript reinschreiben. Dann bekommst du auch deine Signale richtig decodiert. Ohne SignalMap decodiert mein Skript einfach alle Datenbytes jeder Botschaft wie die Temperaturwerte (16bit mit Faktor 0.1) und gibt die komplett alle 2s als Adressoffset und Wert aus. Du kannst die angezeigten Werte auch direkt mit der Anzeige auf deiner Heizung vergleichen und selber herausfinden welcher Wert bei dir welchem Signal entspricht.
OK, ich versuche es mal :-) Die FW ist recht neu, wurde im Frühjahr erst überprüft. Ob es die neueste ist, k.A.
Ich hab gerade gesehen, dass bei dir Werte vergleichen nichts bringt, da die Temperaturwerte bei 16 an ungerade Offsets liegen und ich bisher nur gerade Offsets decodiert habe. Ich hab jetzt mal die Infos über die Botschaften 16/17 von oben aus der Präsi in eine SignalMap überführt: aaSignalMaps[16] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit 'T_Vorlauf_HK1': ('s',5, 2, 0.1,'°C'), 'T_Ruecklauf_Kessel': ('s',7, 2, 0.1,'°C'), 'T_Boiler': ('s',9, 2, 0.1,'°C'), 'T_Kessel': ('s',11, 2, 0.1,'°C'), 'T_Aussen': ('s',17, 2, 0.1,'°C'), 'T_Rauchgas': ('s',29, 2, 0.1,'°C')} aaSignalMaps[17] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit 'Pumpe_Boiler': ('b',1,5), 'Pumpe_HK2': ('b',1,6), 'Pumpe_HK1': ('b',1,7), 'Ascheaustragung': ('b', 2,0), 'Reinigung': ('b',2,1), 'HK2_Mischer': ('b',2,4), 'HK1_Mischer': ('b',2,6), 'Hauptrelais': ('b',3,4), 'Raumaustragung': ('b',3,6)} Im Anhang nun mein erweitertes Skript, dass auch 16/17 decodieren sollte. Ich kann es aber natürlich nicht ausprobieren, weil bei mir wie gesagt nur die Botschaften 32/33 kommen. Zusätzlich werden jetzt auch ungerade Offsets decodiert, wenn keine SignalMap vorhanden ist oder wenn man den Parameter DECODE_ALL auf True setzt, um sich auf die Suche nach weiteren Signalen machen.
Danke ! Hier ein paar Anpassungen der IDs. aaSignalMaps[16] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit 'T_Vorlauf_HK1': ('s',5, 2, 0.1,'°C'), 'T_Ruecklauf_Kessel': ('s',7, 2, 0.1,'°C'), 'T_Boiler': ('s',9, 2, 0.1,'°C'), 'T_Kessel': ('s',11, 2, 0.1,'°C'), 'T_Puffer_Unten': ('s',13, 2, 0.1,'°C'), 'T_Puffer_Oben': ('s',15, 2, 0.1,'°C'), 'T_Aussen': ('s',17, 2, 0.1,'°C'), 'T_Rauchgas': ('s',19, 2, 0.1,'°C'), 'T_Stokerkanal': ('s',29, 2, 0.1,'°C')} Die Raumaustragung kann ich leider noch nicht finden :-( Mal schauen beim nächsten Lauf. ID17: Das scheinen die Relais zu sein. Zumindest ist das alles entweder 0 oder 1.
Nachtrag: HK2 und Ascheaustragung hab ich nicht zum Testen. ID17: aaSignalMaps[17] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit 'Pumpe_Puffer': ('b',4,1), 'Pumpe_Boiler': ('b',1,5), 'Pumpe_HK2': ('b',1,6), 'Pumpe_HK1': ('b',1,7), 'Ascheaustragung': ('b', 2,0), 'Reinigung': ('b',2,1), 'HK2_Mischer': ('b',2,4), 'HK1_Mischer': ('b',2,6), 'Hauptrelais': ('b',3,4), 'Kessel_AN': ('b',15,0), 'Raumaustragung': ('b',3,6) }
Hallo, hab aktuell auch das KWB Plugin von Home Assistant am laufen. Folgende Infos hab ich aktuell : Kann mir jemand sagen was kwb Return kwb Return Mixer kwb unknown kwb unknown Resupply bedeuten kann ? Und kann man irgendwie noch andere Daten anzeigen lassen? Oder vielleicht sogar Alarme anzeigen lassen. Es handelt sich bei mir um eine KWB Easyfire 25 mit Comfort 3 Modul. mfg, Hanesch Kim
Ich habe heute mal versucht meine KWB Stückholzofen auszulesen mit dem Script von halos. Erst ohne Werte da ich die folgenden IDs habe. Id:48 und Id:49 Habe das Script jetzt für Classicfire mit Comfort 3 an Port 25 erweitert. aaSignalMaps[48] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit # 'T_Vorlauf_HK1': ('s',5, 2, 0.1,'C'), 'T_Vorlauf_HK0': ('s',45, 2, 0.1,'°C'), 'T_Ruecklauf_Kessel': ('s',7, 2, 0.1,'°C'), 'T_Boiler': ('s',9, 2, 0.1,'°C'), 'T_Kessel': ('s',11, 2, 0.1,'°C'), 'T_Puffer_Unten': ('s',13, 2, 0.1,'°C'), 'T_Puffer_Mitte': ('s',29, 2, 0.1,'°C'), 'T_Puffer_Oben': ('s',15, 2, 0.1,'°C'), 'T_Rauchgas': ('s',39, 2, 0.1,'°C'), 'T_Aussen': ('s',41, 2, 0.1,'°C'), 'T_Raumtemp._Ist': ('s',43, 2, 0.1,'°C'), 'T_Raumtemp._Soll': ('s',49, 2, 0.1,'°C'), 'Sauerstoff': ('s',31, 2, 0.1,'%')} aaSignalMaps[49] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit 'Kessel_Hauptrelais': ('b',1,3), 'Pumpe_Boiler': ('b',1,5), 'Pumpe_HK0': ('b',3,9), 'HK0_Mischer_AUF': ('b',3,5), 'HK0_Mischer_ZU': ('b',3,6)} soweit alles gut die Temperaturwerte stimmen alle unter ID49 bin ich mir nicht ganz sicher. Kann mir jemand erklären wie die Daten in Hassio (Pi3) einbinden kann (was bimbar geschrieben hat)? MfG Grisu
Hallo zusammen, hab (vermutlich) einen weiteren Wert gefunden: Offset 24 ist bei mir die Raumtemperatur vom HK1. Was mir bei den ganzen Werten fehlt, sind die Sollwerte. Also z. B. Vorlauf-Solltemp. Wurden die nur noch nicht gefunden oder geht ihr davon aus, dass die Sollwerte gar nicht über den Bus gehen? Viele Grüße Leo
Hi, hier schonmal der offizielle Github zu diesem Home Assistant Plugin : https://github.com/bimbar/pykwb Denke die neu erkannten Werte müssten dort eingefügt, also angepasst werden...
Hallo Kim und Grisu, Ich hatte mit bimbars Homeassistant-kwb-Sensor keinen rechten Erfolg. Es lief, aber nach einer gewissen Zeit passten die Werte nichtmehr zu den aktuellen am Kessel. Ich vermute, dass laufend Daten aufgezeichnet werden, die dann nach und nach von homeassistant abgerufen werden und irgendwann der Speicher überläuft (oder so ähnlich... Bin Laien Programmierer... ). Da ich nicht weitergekommen bin, habe ich ein passendes Pythonscript (cronjob alle 2min) genommen, und die Werte in eine JSON-textdatei geschrieben. Über den HA-filesensor hole ich mir die Werte dann alle 2min in HA. Derzeit läuft bei mir Homeassistant 0.57. Allerdings wird in Zukunft nur noch Hass.io weiterentwickelt, wo ich bislang noch keine Möglichkeit gefunden habe mein pythonscript zum laufen zu bekommen. Und das der kwb-sensor unter Hass.io läuft, wage ich mal zu bezweifeln... Falls trotzdem Interesse besteht, die alte Version zum Laufen zu bringen, könnte ich meinen Wust mal ein wenig aufbereiten und zur Verfügung stellen... MFG. MartinB.
Hallo, Habe aktuell Home Assistant 0.60 am laufen mit dem KWB Sensor von bimbar. Läuft eigentlich immer noch, muss die Werte dann aber nochmal vergleichen. Nun zu deiner Ausssage, was meinst du mit Hass.io ? Das ist doch Home Assistant, und da kanst du doch immer noch dein python script laufen lassen und verarbeiten. Wäre an deiner Arbeit interessiert ? mfg
Hallo Kim, Entschuldige, ich scheine mal wieder nicht auf dem Laufenden zu sein. Homeassistant läuft bei mir z.Zt. auf dem OS "Hassbian" auf einem Pi "Zero". "Hass.io" wiederum basiert auf "ResinOS" und Docker auf dem dann Homeassistant läuft. Allerdings scheinen die Möglichkeiten Scripte zu starten und Dateien zu Schreiben etc. hier sehr eingeschränkt, da alles einzeln in Sandkästen und Containern und ähnlichem verpackt ist ;-). Werde ich evtl. ja noch hiterkommen... Ich hatte auf jeden Fall im Herbst versucht, die Tradfri-Komponente zu installieren, die jedoch Python 3.4.4 erfordert. Dieses war zu diesem Zeitpunkt jedoch nicht in Hassbian verfügbar und ich las damals, dass in Zukunft nur noch "Hass.io" neue Updates bekommen würde. Daher habe ich hin und wieder mal ein paar Versuche unternommen, auf Hassio umzusteigen (Ohne wirklichen Erfolg...). Danke für deinen Hinweis auf die neue Version von HA (sogar mit Python 3.5!). Nun werde ich wohl alles so lassen, wie es ist und einfach updaten... Anbei mal meine äußerst uneleganten, verworrenen, überarbeitungsbedürti gen - aber bei mir immerhin funktionieren Scripte/Dateien. Die Werte Datei wird in /home/pi/ geschrieben, und von der Konsole gestartet sollten auch Werte auf dem Bildschirm landen. Mit bestem Gruß Martin B
Hallo nochmal, Falls Fragen noch aktuell: - Return Ist die Rücklaufanhebung (min 55°C am Zulauf in den Kessel sonst Korrosion bzw. Störung falls dauerhaft unterschritten) - Return Mixer wäre dann für mich der Stellmotor der Rücklaufanhebung (falls einer installiert ist, ich hab z.B. die mechanische Variante) MfG. Martin
Vielen Dank für die Scripts, schau mir das mal an. Weist du wie man anstelle von USB Seriel über TCP/IP Seriel einlesen kann. Wie muss ich dies im Pyhton deklarieren. Benutze folgendes Gerät : USR-TCP232-304 Unter Home Assistant mit dem KWB Component funktioniert es schonmal, da man bei der Definition des Scripts den TCP Server angeben kann.
Hallo Leute, nach der super Vorarbeit hier, habe ich mich endlih mal vor den Kessel gesetzt und mit Hilfe des Python Skriptes, die bei meinem Kessel noch vorhandenen fehlenden Daten zu lokalisieren. Mein Kessel schickt noch die 16/17 Botschaften. Wie von mir vermutet und hier auch schon geschrieben, ist die große Leiterplatte am Kessel "dumm" und dient nur als I/O-Modul. Es meldet die Sensordaten und empfängt die Aktuatordaten. Daher liegen Daten wie Solltemperaturen etc. leider nicht auf dem Bus. Das geht vermutlich nur in höheren Softwareversionen und in Kombination mit einem der Erweiterungsmodule. KWB bietet inzwischen für die Comfort 3 Steuerung auch eine Netzwerkkarte an. Damit ist der Kessel dann online. Evtl. läßt sich da die Web-API anzapfen um Daten ins Smart-Home zu holen. Aber >300€ ist mir da zu viel zum Spielen... https://www.kwb.at/loesung/kwb-comfort-online/ Anbei ein pdf wo ich den aktuellen Stand zusammengetragen habe. Die Datenfelder für das Python Skript sind auch enthalten. Ermittelt habe ich die Sensordaten durch Abziehen der Sensoren am Kesselsteuergerät in Verbindung mit der Methode des "scharfen Hinsehens" in die Python Ausgabe. :-) Die Aktoren ließen sich sehr leicht mit der Funktion "Relaistest" in der Fachmannebene zuordnen. Hat jemand den Typ des Temp-Sensors im analogen Raumbediengerät, sowie die Werte des Potis und der für TAG/NACH/etc. zugeschalteten Widerstände? Ich habe leider kein solches Teil... Gruß, Dirk
Dirk Abel schrieb: > Hat jemand den Typ des Temp-Sensors im analogen Raumbediengerät, sowie > die Werte des Potis und der für TAG/NACH/etc. zugeschalteten > Widerstände? > Ich habe leider kein solches Teil... Hallo, nachdem ich zwei dieser Dinge hab: Analoger Raumsensor Thermistor KTY 81-110 (laut KWB-Montageanleitung) 15°C 923Ohm 20°C 961Ohm 25°C 1000Ohm Das Stellrad manipuliert den Wert um -/+36Ohm für +/-5°C; bei Drehung in Richtung 'Wärmer' wird ein Widerstandwert für eine geringere Raumtemperatur ausgegeben, am Kessel wird dann auch ein geringerer Istwert angezeigt, und der Heizkreis wird hochgefahren. Der Schiebeschalter addiert je nach Stellung 500 bis 2000Ohm dazu Stellung Aus: +500Ohm Stellung Nacht: +1000 Stellung Auto: +1500 Stellung Tag: +2000 Die Werte von Thermistor, Stellrad und Schalter werden zusammengezählt. So ergeben sich bei 16°C im Auto-Betrieb rund 2.45kOhm (mein Messgerät ist ein Dreck...) (Tatsächlich wird der Schalter wohl eher 474, 974, 1474 und 1974Ohm addieren, weil das Stellrad ja keine -36Ohm haben kann). Ich hab übrigens eine Easyfire 2 mit einem Heizkreiserweiterungsmodul; der Kessel selbst betreibt einen Boiler B0 und einen Heizkreis HK1, das Erweiterungsmodul zwei weitere Heizkreise HK2 und HK3. Ich sehe am Bus die IDs 32, 33, 64 und 65. Hat jemand mit dieser Konfiguration schon Erfahrungen? Momentan liegt der RPi0 noch verpackt neben dem Kessel und wartet darauf, sich mit Home Assistant und dem Plugin um die Daten zu kümmern, die dann ans bestehende openHAB geschickt werden sollen (MQTT?). LG Phil
@Philipp Vielen Dank für diese Infos! @all Mit diesem Wissen bin ich dem Kessel gerade noch mit einer Widerstandsdekade an den KH1/HK2 Raumregleranschlüssen zu Leibe gerück. Dabei sind mit weitere Werte ersichtlich geworden: Das Kesselsteuergerät zerlegt die Widerstanswerte wieder in Temperatur und Schalterstellung. Ein Anschluss eines einfachen KTY81-110 ohne Schalter & Poti ist ebenfalls möglich. Habe das entsprechend in der Doku ergänzt. Damit bin ich hier am Ende, da die Ausbaustufe meines Kessels keine weiteren Werte hat... Wenn mir jemand den KWB Wartungseinsatz incl. Softwareupdate bezahlt, kann ich die Werte gerne noch einmal für das neue Protokoll ermitteln. :-) Gruß, Dirk
Hallo, zu den KTY-Temperaturfühlern noch: überall, wo ein KTY verbaut werden kann, aber nicht vorhanden ist, sollte "130°C" als Messwert aufscheinen. Das betrifft eigentlich alle Temperaturmessungen bis ca. 100°C, also Wasser, Raumluft, etc, aber nicht Brennraum oder Abgas. (Jetzt wird's echt zeit, den Raspberry auszupacken...) LG P
@Philipp Stimmt nicht ganz. Die Eingänge für die analogen Raumbediengeräte zeigen 50.0 an, wenn nichts angeschlossen ist. Sonst teile ich Deine Einschätzung :-) Gruß, Dirk
Hallo, bin mal endlich dazu gekommen, den Kram an mein openHAB anzubinden. Ich habe die geförderte Pelletsmenge der Raumaustragungsschnecke pro Minute gemessen und werde mal versuchen, damit eine Aussage über den Füllstand der Ascheschublade und des Pelletsverbrauchs machen zu können... Gruß, Dirk
Den Verbrauch kann man gut damit abschätzen. Schnecke pro Minute 4,5Kg --> Zeit messen und ausrechnen. Kommt bei so +/- 5% hin.
Wie lange fördert der denn bei euch immer so ? Meine Variable Raumaustragung ist immer so für 5 minuten auf ON. Kann das sein ? mfg
Hallo, ich habe eine Knickschnecke (Pelletsraum mit Seitenschrägen) am USP10. Ich habe 1470g in 2min - also 735g/min gemessen/gewogen. Wie lange sie am Stück läuft, habe ich nicht gestoppt. So 2-3min hätte ich jetzt gesagt... Gruß, Dirk
Ok also manuell gewogen ? ;) ich dachte schon das Datenblatt würde eine Fördermenge pro Zeit angeben. Dann muss ich wohl schauen ob ich das irgendwie messen kannen.
Hallo, kann jemand ein bild vom anschluss posten. da der front panel am stecker 25 hangt. Gruss yogui
Hallo zusammen, gibt es eventuell jemanden, der für FHEM das Modul "10_KWB.pm" für die Easyfire umgebaut hat? Mit freundlichen Grüßen graffmaxx
Hallo, ich habe ein script für arduino geschieben, er fonctionniert soweit hab aber nauc ein haufen debugs info, weill ich versuche rauszufinden was sind alle bit die wahrend mein kessel lauft wechseln. ich habe schau gefunden welleche mein schneckenpelletzubringermotor ist. ich habe den script mit meinem Homeautomation (Jeedon ich komme aus frankreich;)) verbunden mit mysensors wird soviel ich weiss auch von FHEM unterstuzt. Gruss Yogui
Dirk Abel schrieb: > Hallo, > > bin mal endlich dazu gekommen, den Kram an mein openHAB anzubinden. > > ...snip... > Gruß, Dirk Hallo, kannst du mal kurz zusammenfassen, wie du die Daten nach openHAB gebracht hast? Mein ursprünglicher Plan war es, Home Assistant auf einem Raspi Zero aufzusetzen und per MQTT einzelne Werte an openHAB zu schicken. Obwohl ich in OH gut zurechtkomm, bin ich für HA offensichtlich zu dumm. Ausserdem wiederstrebt mir, eine zweite Plattform zusätzlich zu betreiben, nur um ein paar Zahlen an die erste zu bekommen... Mittlerweile denke ich schon daran, Temperaturfühler an die Leitungen zu klemmen, aber die Kesselleistung und den Pumpenbetrieb bekomm ich so nicht. LG Phil
Hallo zusammen, nach längerer Zeit hier nun neue Erkenntnisse von mir zu folgendem decodierten Signal: aaSignalMaps[33] = { 'Kesselleistung': ('u', 13, 1, 1,'%')} Dieses Signal ist genauer gesagt die "reale Kesselleistung", d.h. angezeigte Kesselleistung * Pelletfaktor! Darauf gekommen bin ich, weil meine Anlage hier plötzlich nur noch 76% angezeigt hat, nachdem bei einem Wartungstermin eine neue Software auf die Heizung aufgespielt wurde. Die Anzeige im Display zeigt aber weiterhin 100%. Seitdem liegt mein Pelletfaktor nur noch bei ca. 76%. Auch wenn man ihn hochsetzt auf 100%, lernt er sich in kurzer Zeit wieder zurück. Die Anlage läuft jetzt natürlich deutlich länger pro Tag als früher, aber mein Schornsteinfeger freut sich seitdem über meine Abgaswerten :-)! Eine Abgasmessung dauert natürlich immer noch gleich lang, aber in dieser Zeit wird nun nur noch 76% des Feinstaubs erzeugt. Ich habe dann angefangen mitzurechnen, wie viel Wärmeenergie ich mit meiner Pelletheizung pro Tag erzeuge und bin zu folgender Formel gekommen: Wärmeenergie_[kWh] = Summe(dt_[s] * Reale_Kesselleistung_[%] * Kessel_Nennleistung_[KW]) Meine Kessel_Nennleistung_[KW] ist 8 KW. Diese erzeugte Wärmeenergie habe ich längere Zeit abgeglichen mit dem im Display angezeigten Pelletverbrauch und bin zu folgender Formel gekommen: Wärmeenergie_[kWh] = Pelletverbrauch_[kg] * Pellet_Nennenergie[kwh/kg] * Wirkungsgrad_Heizung Als Pellet_Nennenergie[kwh/kg] habe ich den Literaturwert 5 kWh/kg angesetzt und komme damit auf einen Wirkungsgrad von 93,2% für meine Anlage. Dieser Wirkungsgrad ist ziemlich plausibel. Der Pelletverbrauch lässt sich somit berechnen mit der Formel: Pelletverbrauch_[kg] = Summe(dt_[s] * Reale_Kesselleistung_[%] * Kessel_Nennleistung_[kW]) / (5 kW/kg * 0.932) Diesen berechneten Pelletverbrauch habe ich jetzt 2 Winter lang abgeglichen mit dem angezeigten Pelletverbrauch und ich habe festgestellt, dass diese beiden Werte ziemlich gut übereinstimmen (Abweichung von nur wenigen kg pro Jahr!) Inzwischen habe ich auch mal wieder Pellets getankt und musste feststellen, dass doch etwas mehr reingepasst hat, als ich an Verbrauch berechnet habe. Deswegen habe ich nun in meine Verbrauchsrechnung noch einen Korrekturfaktor eingefügt: Pelletverbrauch_[kg] = Summe(dt_[s] * Reale_Kesselleistung_[%] * Kessel_Nennleistung_[kW]) / (5 kW/kg * 0.932) * 1.094 Dies entspricht aber immer noch einem Wirkungsgrad von 85,3%, was auch noch plausibel ist. Ich weiss, dass die angesetzten Werte für Kessel_Nennleistung_[KW], Pellet_Nennenergie[kwh/kg] und auch die Füllmenge beim Tanken gewisse Ungenauigkeiten haben, aber ich bin erfreut, wie plausibel die Werte trotzdem sind. Kann jemand von euch diese Erkenntnisse mit seinen Messdaten nachvollziehen?
Hallo, der Faden ist zwar schon etwas älter aber denn noch habe ich eine Frage zu Kessel. Ich betreibe im Einfamilienhaus eine KESSEL-Rückstaupumpanlage Pumpfix F mit einem Schaltgeraet. (010-846) Dieses Schaltgeraet hat Anschlüsse für einen angeblichen RS-485. Leider konnte ich bisher diesem nichts entlocken. Hat jemand Erfahrungen ob man diesen aktivieren muss? Den RS-485 habe ich angeschlossen an einen MAX3483 welcher via einem ESP Easy die Daten abzapft. Die Einspeisung funktioniert. Diese wurde Seriell und auch MAX3483 zu MAX3483 getestet. Vielen Dank im Voraus
Aufgrund der spannenden Infos in diesem Thread hab ich mich mal hingesetzt und für einem wemos d1 mini pro und einem MAX485 ein Arduinoprogrammcchen geschrieben, dass die folgenden Werte per mqtt ins fhem dudelt. Drehrost 0 2020-09-26 19:10:36 Geblaese 2078 2020-09-26 19:10:17 Hauptantrieb 1 2020-09-26 19:10:36 KeineStoerung 1 2020-09-26 19:10:36 Kesseltemperatur 77.5 2020-09-26 19:10:17 Leistung 21.8 2020-09-26 19:10:36 Proztemperatur 37.8 2020-09-26 19:10:17 Pumpepuffer 1 2020-09-26 19:10:36 Rauchgastemperatur 93.7 2020-09-26 19:10:17 Raumaustragung 0 2020-09-26 19:10:36 Reinigung 0 2020-09-26 19:10:36 Saugzug 1319 2020-09-26 19:10:17 Unterdruck 21.4 2020-09-26 19:10:17 Zuendung 0 2020-09-26 19:10:36 Die Verdrahtung ist recht simpel, über den Modbus des Kessels liest der MAX485 Werte, damit er die Kesselsteuerung nicht verwirrt, im Grunde könnte man damit aber auch Steuern…. . Materialkosten liegen bei ca. 10€ Wenn größeres Interesse besteht würde ich den Code ein bisschen aufräumen und hier einstellen. Gruß Philip
Hallo Phillip, mich würde das brennend interessieren, wenn du den code hier reinstellen kannst wäre supa, auch wie man die Verkabelung macht wäre toll danke im vorraus bg mark
Hallo Philip, ich interessiere mich auch sehr für die Details deines Aufbaus!! LG Phil
// Das Programm liest Control und Sense Daten vom Bus // eines KWB Easyfire mit und sendet diese per MQTT an // fhem. Updates können OTA durchgeführt werden. // Ist bestimmt nicht fehlerfrei läuft aber seit einer Weile stabil // Hardware // Webmos d1 mini Pro + HER MAX485 module // Stromversorgung über Kessel 24V-> 7800 Spannungsregler // Neben den Kesselwerten werden noch Brennerlaufzeit Gesamtenergie // berechnet mit der der Pelletverbrauch bestimmt werden kann (ca. 4.3kg/kwh bei einem EF2) // Dank an Dirk Abel und seine Doku zu, KWB RS-485 Interface Viel Spaß beim basteln Philip
windundsterne schrieb: > Hardware // Webmos d1 mini Pro + HER MAX485 module Servus Philip, würde das auch mit einem "normalen" Wemos d1 mini (ohne Pro) funktionieren? Danke für deine Schaltung und Software, LG Phil
Klar geht sicher auch mit einem Wemos d1 ohne pro, der hat lediglich keine externe Antenne und keine Akkuladevorrichtung. Pins sind fast gleich. Philip
Hello! Sorry for writing in English; I came across this subject while looking for an option to integrate my KWB in my Homeassitant instalation. Are there any wiring schemes how to connect the Wemos D1 pro with RS485 module and the KWB communication port? 7800 Spannungsregler is probably a voltage regulator? Any cheap options for it? I realy admire what you guys already achieved, keep up the good work! Lovro
Hallo Philip, zum MAX485 hab ich noch eine Beschaltungsfrage: vom Masseanschluss vom RS485-Baustein führen zwei rote Drähte in Richtung TTL. Auf welche Pins gehen die? RO dürfte ja die TTL-Leseleitung zum Wemos sein. Ich denke, die beiden roten gehen auf RE und DE, um sicherzustellen, dass der Baustein nur empfängt und auf keinen Fall irgend einen Unfug am Bus macht, korrekt? Schöne Grüße Phil windundsterne schrieb: > // ... + HER MAX485 module...
Korrekt, genauso ist es. Schreiben wollte ich noch nicht. Wenn die beiden auf 0 sind bringt der max485 beim Einschalten den Bus auch nicht durcheinander. Gruß Philip
Ich bin ganz begeistert, der Nachbau mit dem Wemos hat sofort funktioniert. Anstelle des 78xx hab ich einen Kfz-Zigarettenanzünder-auf-USB-Adapter zerlegt (der holt die 24V vom Heizkreismodul auf 5V runter), und statt das Wemos D1 pro einen ohne "pro"; die relevanten Pins sind gleich. Die verschickten Nachrichten sehen plausibel aus. Ich bekomme allerdings gefühlt nur die analogen Werte (Temperaturen, Unterdruck) und keine Bits. "KeineStoerung" passt allerdings... Das mag aber daran liegen, dass ich zusätzlich zum Kessel noch ein externes Heizkreismodul mit Heizkreis 3 und 4 hab, da sind vielleicht irgendwelche IDs verschoben. Aus 2017 hab ich noch ein paar geloggte Daten dazu, in die ich mich wieder einlesen muss. Was jetzt auf meiner Liste steht: * Mich in Philip's Code reinlesen, um ihn für meine IDs zu erweitern * Einbauen, dass Nachrichten nicht nur bei Änderungen, sondern auch zB alle 5min geschickt werden (wenn ein MQTT-Client neu startet, sieht der ewig keine Infos) * ein LCD-Display anhängen und befüttern (irgendwo liegt da noch ein 20x4-Zeichen-Display rum) * meine bestehenden DS18B20-Temperatursensoren einbinden @Philip: wenn du mal in der südlichen Steiermark unterwegs bist, dann geht ein Koffer voll Pellets an mich ;-)
Klar, ich komm vorbei 😀 Freut mich wenn's läuft. Mit ein bisschen Fachmanebene, Relaistest bekommst du weitere Werte raus. Gruß Philip
Hallo Philip, vielen Dank für deinen Beitrag. Ich hab mal versucht deine Pictures in eine Art Layout zu wandeln. Das würde den Nachbau für Einige etwas vereinfachen. Könntest du mal drüberschauen, ob das so korrekt ist ?
Ok, ich hab's in der Zwischenzeit selbst ausprobiert. Meine Zeichnung ist soweit korrekt und funktioniert. Allerdings hab ich statt dem 7805 einen StepDownWandler eingesetzt. Der sollte verlustfreier arbeiten. Die Elektroniker können das besser erklären als ich. Anbei die Bilder. Der StepDownWandler sitzt unter dem Wemos D1. Der zweipolige Pin neben dem Wandler trennt die Ausgangsspannung vom Rest, damit die Spannung auf 5V eingestellt werden kann. Nach dem Einstellen kommt ein Jumper drauf. Nochmal vielen Dank an Philip.
:
Bearbeitet durch User
Yep, genauso sieht es aus. Freut mich wenn es funktioniert. Hab den Code noch ein bisschen aufgeräumt und die aus Ausgabe etwas optimiert. Aus den kwhs lässt sich nun leicht der Pelletverbrauch und der Bunkerstand berechnen. Werde am Wochenende nochmal alles zusammenpacken und Uploaden.
Hi Philip. Danke für die Rückmeldung. Beim Sichten deines Codes hab ich mir die Frage gestellt, ob du dich rein an das KWB_RS485_Protokoll.pdf gehalten hast, oder da selbst noch einiges anderes gefunden hast, was in der Doku fehlt. Das Bit übrigens
1 | // immer 0
|
2 | sprintf(msg, "%d", getbit(anData, 4, 1)); |
3 | client.publish("Raumaustragung", msg); |
geht dann auf True, wenn du keine Schnecke sondern eine Saugturbine im Einsatz hast und die Sonden umgeschaltet werden. Dazu muss ich aber noch weiter mit dem Relaistest analysieren.
Hi Bodo, Ich hatte einige Werte über den Relaistest abgegriffen, die nicht in dem PDF bzw dort anders waren. Die Raumaustragung scheint bei mir der Antrieb der Förderschnecke zu sein. Die Photodiode hatte ich zu.b. auch noch entdeckt. Leider hab ich die Codes für die Alarme noch nicht gefunden. Gruß Philip
Marco A. schrieb: > Hallo, > der Faden ist zwar schon etwas älter aber denn noch habe ich eine Frage > zu Kessel. > > Ich betreibe im Einfamilienhaus eine KESSEL-Rückstaupumpanlage Pumpfix F > mit einem Schaltgeraet. (010-846) > Dieses Schaltgeraet hat Anschlüsse für einen angeblichen RS-485. Leider > konnte ich bisher diesem nichts entlocken. Hat jemand Erfahrungen ob man > diesen aktivieren muss? > > Den RS-485 habe ich angeschlossen an einen MAX3483 welcher via einem ESP > Easy die Daten abzapft. Die Einspeisung funktioniert. Diese wurde > Seriell und auch MAX3483 zu MAX3483 getestet. > > Vielen Dank im Voraus Hallo zusammen, was hier Marco A. gemeint hat ist, das die Platinen von KWB und Pumpfix identisch sind. Ich habe das gleiche Problem wie Marco, hab auch einen Pumpfix am start und Kessel bietet hier keinerlei Kommunikation mit dem Gerät. Habt ihr hier Tips wie man am besten vorgeht, bin da nicht so der Profi wie ihr merkt :/ MfG AcidSubway
:
Bearbeitet durch User
Hallo, ich habe den KWB Sensor über home assistant eingebunden, alle Sensoren zeigen jedoch unavailible. Welche Daten für host und port hast Du in der Konfiguration verwendet? # Example configuration.yaml entry - platform: kwb name: kwb host: <ip> port: 23 type: tcp raw: False Beste Grüsse, Thomas
....auch, meine Frage ging an von Kim Hanesch (Gast) 18.12.2017 13:26 aus dem Beitrag weiter oben :) Wäre toll, wenn du mir weiterhelfen könntest... Gruss Thomas
Hallo zusammen, ich habe nun das Program vom WindundSterne genommen und so angeschlossen wie Bodo B. um alles auszulesen was meine Pumpfix hergibt. Der ESP verbindet sich nach dem reset gleich mit dem mqtt, danach taucht er nicht mehr auf. Die Einzigen daten die er Liefert seht ihr im Screenshoot. Weis einer warum ich da keine Daten bekomme? Ich wollte dann hergehen und die Daten im *.ino Umbenennen was sie beim Pumpfix bedeuten.
Guten Tag, handelt er sich hier um die Kommunikation zwischen dem LCD Bedienmodul mit dem Jogdial und der Heizungsanlage? Wir finde ich heraus, ob unsere HA eine Netzwerkkarte implementiert hat? Vielen Dank, lese mich gerade neu in dieses Thema ein. Lieben Gruss
Hallo, ja, zwischen dem Kesselbediengerät (im Bild), der Kesselsteuerung, optionalen zusätzlichen Heizkreismodulen und den digitalen Fernbedienungen (optisch ähnlich wie das KBG). Die reden untereinander über einen RS485-Bus. Ich denke die Infos hier sind auf die Kommunikation via TCP (Netzwerkkarte) nicht anwendbar, aber wer weiss... LG Phil
Hallo zusammen, ist es jemandem von Euch bereits gelungen, die Werte für Geblaese- und Saugzugstufe korrekt herauszurechnen? Die Werte von 0-255 linear auf die Stufen 0-50 zu interpolieren geht leider nicht. Gemessen habe ich so etwas wie: Für Geblasese und Saugzug gilt 255 => 50. Danach wirds spannend: Geblaese 130 => 45 Geblaese 107 => 38 Geblaese 91 => 25 Saugzugstufe 206 => 45 Saugzugstufe 152 => 34 Saugzugstufe 129 => 25 Des weiteren tue ich mich schwer mit die vier Messwerten des Stoker zu interpretieren. Hat da jemand eine Idee wie man daraus Vorschub und Verzögerung errechnen kann? Danke & Grüße, HERSTE
Hallo zusammen, tolle Beiträge. Ich habe ein paar FRgen dazu. Ich habe eine KWB Easysfire mit einem Heizkreiserweiterungsmodul. An diesem würde ich die RS 485 abzapfen (Parallel mir anschließen).Denke das sollte kein Problem sein. Die Komponeten dafür habe ich bestellt. Ich würde gerne den Wlan Wemos Mini verwenden und in Iobroker einbinden. Kann mir da jemand helfen wie ich die Daten angezeigt bekomme? Sorry ich habe nur erfahrung mit Tasmato Flashen. Vielen Dank für die Hilfe
Hallo, wollte die Wemos Variante von WindundSterne ausprobieren, leider bekomme ich schon beim compilieren folgenden Fehler : 'class PubSubClient' has no member named 'setKeepAlive' Die Library PubSubClient ist jedoch verfügbar ?! Hat jemand die letzte Version von WindundSterne .ino ? Mfg, Kim
Ok sorry habe die letzte Version der Library jetzt heruntergeladen und lässt sich jetzt compilieren...
Kann mein Wemos anpingen, aber leider verbindet es sich nicht mit dem MQTT Broker. Der Broker ist schon funktionell für andere Sachen...daran kann es eigentlich nicht liegen. mfg, KIm
Hallo zusammen, bei mir tauchen die ersten Wedrte nun auf. Ich habe noch das Problem das ich in dem Code eine Passwort und USer benötige für MQQT und zum zweiten es werden folgende Daten Sensedata... (siehe am Bild). Was kann ich hier dann sehen? @ Kim eventuell hast du auch ein Passwort und User vergeben?
Hallo, erstmal möchte ich mich bei allen beteiligten für die investierte Zeit und Mühe bedanken! Wirklich ein hervorragendes Projekt. Nun zu meiner Frage: ich befinde mich derzeit auf Fehlersuche da mein Kessel zeitweise anfeuert, ca. 15 Minuten läuft und anschließend ohne den Puffer oder die Heizkreise zu versorgen wieder abschaltet. Gibt es im Protokoll die Möglichkeit den Grund für die Anfeuerung auszulesen? Danke und Gruß Tom
Nein gibt es leider nicht. Bist du sicher, dass er schon komplett durchgezündet hat ? Ich hatte am Anfang ein ähnliches Problem, da war die Zünddauer und Durchzünddauer zu kurz eingestellt.
Hi, gibt denn dein Kessel keine Störungsmeldung aus? Wenn er auf Störung geht, könnte es die Lambdasonde sein, oder das Saugzuggebläse. Oder deine Temperatursensoren liefern falsche Werte und sagen einfach, dass nichts zu tun ist.
Hallo zusammen, ist "Wind und Sterne" noch irgendwie zu erreichen? Hat jemand das Ardoino Script zufällig um alle Werte erweitert oder kann mir helfen weitere Werte einzufügen? Danke allen für die tolle arbeit
Hallo und danke für Eure Hilfe. Der Kessel gib keine Meldung aus, auch sonst konnte ich keine Unregelmäßigkeiten erkennen ausser den ist und soll Temperaturen. Im Menü vom Heizkreis steht eine Ist-Temperatur von 50°C und eine Soll- Temperatur von 150°C. Leider kann ich die Werte nicht verändern... Gruß Tom
Anbei ne aktuelle Version für den webmon d1 mini, mit der via rs485 Daten des KWB Easyfire an fhem per mqtt gesendet werden. Die Verbrauchswerte sind nun exakt, da die Ermitlung über den Stoker leider nicht so präzise war. Viel Spaß damit Gruß Philip
Es stand mal im Raum, dass jemand eine Platine für die WeMos Lösung bauen wollte? Ist das schon geschehen, weil sonst baue ich mir das einfach auf eine Protoplatine? Absolut genial was hier passiert - und echt traurig dass es vom Hersteller hier keinen einfacheren Weg gibt. Viele Grüße, Martin
Als erstes möchte ich einmal Danke sagen an alle die das Protokoll so gut dokumentiert und veröffentlich haben. Nun zu mir ich habe es mittlerweile geschaft die Temperaturen und Sauerstoffgehalt aus meinem KWB Stückholzvergaser auszulesen jedoch ist mir jetzt aufgefallen, dass der Kessel wenn ich beginne auszulesen in den Anheiz betrieb wechselt und das gebläse einschaltet. Wenn man heizt funktioniert alles normal. Ich schreibe nicht auf die Bus Leitung. Hat sonst wer das gleiche Problem oder mögliche Lösungen? Danke im vorhinein L.G. Manuel
Hallo zusammen, dank der guten Vorarbeit hier hab ich nun auch einen Wemos, der die Daten von meiner Easyfire an den MQTT-Server schickt. Nur die vermeintlichen Leistungswerte in Byte 12 bzw. 13 sowie die Photodiode kriege ich irgendwie nicht richtig umgerechnet. Hat hier inzwischen jemand eine funktionierende Formel? Viele Grüße Leo
Guten Tag, hab mich jetzt auch mal an die Wemos Variante gewagt. Bei mir wurde ein ESP-12E benutzt, dieser wird aktuell noch über USB mit Strom versorgt. Der RS Adapter wird über VIN und GND mit 5V versorgt. Der Pin Ro des Adapters ist mit dem D2 des ESP-12E verbunden. Wenn ich den Adapter nun an die Kessel Zweidrahtleitung anschliesse dann kommt sofort eine Fehlermeldung im Kessel dass der Heizfühlr ausgefallen oder nicht vorhanden ist. Eigentlich sollte ja nur passiv gelesen werden. Aktuell habe ich schon einen Seriel auf Ethernet Adapter am laufen, mit dieser Variante bekomme ich keine Fehlermeldung. Hatte schon jemand ähnliche Effekte ? mfg, Kim
Hi, Ich hatte sowas auch schonmal. Bei mir hat ein RS485 Abschlußwiderstand geholfen. Kann sein, dass dein anderer Adapter den schon integriert hat und der neue nicht? Markus Kim Hanesch schrieb: > Guten Tag, > hab mich jetzt auch mal an die Wemos Variante gewagt. > Bei mir wurde ein ESP-12E benutzt, dieser wird aktuell noch über USB mit > Strom versorgt. Der RS Adapter wird über VIN und GND mit 5V versorgt. > Der Pin Ro des Adapters ist mit dem D2 des ESP-12E verbunden. > Wenn ich den Adapter nun an die Kessel Zweidrahtleitung anschliesse dann > kommt sofort eine Fehlermeldung im Kessel dass der Heizfühlr ausgefallen > oder nicht vorhanden ist. Eigentlich sollte ja nur passiv gelesen > werden. > Aktuell habe ich schon einen Seriel auf Ethernet Adapter am laufen, mit > dieser Variante bekomme ich keine Fehlermeldung. > Hatte schon jemand ähnliche Effekte ? > mfg, > Kim
Hallo, was meinst du mit einem Abschlusswiderstand ? Ich habe meinen RS485 wie oben auf den Bildern verdrahtet. Mit besten Grüssen, Kim
Ich hab jetzt noch den Aufbau mit Wemos D1 mini probiert. Das Resultat ist das gleiche. Der Bus wird komplett zerschossen. Fehlermeldungen von vielen Sensoren. Hier der Aufbau Wemos RS485 5V VCC GND GND D3 RO GND RE Sollte ja korrekt sein oder nicht ?
Hast du DE und RE vom MAX485 auf GND gelegt? Und für die Signalleitungen zwei zusammengehörigen Drähte des Twisted-Pair-Kabels verwendet?
Hallo, Nein habe wie geschrieben nur RE auf GND gelegt. Obem auf dem Shema zum Anschluss ist dies ja auch nicht ersichtlich. An dem Kabel der Signalleitung kann es auch nicht liegen da dieser ja ohne Probleme mit meine aktuellen Serial2Net adapter läuft. Mfg
Probier mal, auch DE auf Masse zu legen. Dann sollte er den Bus nicht mehr durcheinander bringen.
Hallo, hier der aktuelle Aufbau und das funktioniert jetzt denke ich. Die KWB zeigt auf jedenfall nach Anschluss keine Fehlermeldungen an. Hier der Aufbau Wemos RS485 5V VCC GND GND D3 RO GND RE GND DE Hier die einzigen Werte die per MQTT übertragen werden : 10 0 0 0 0 8 255 1 97 2 10 2 2 61 16 119 128 88 77 175 10 2 21 17 88 88 140 0 16 135 10 171 25 0 0 0 16 1 9 237 Leider scheint der Wemos keine Daten zu finden die ihm zusprechen. Aktuell benutzte ich einen serial2net adapter mit einem py Script zum Auslesen. Folgende Werte kann ich darüber finden : aaSignalMaps[16] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit 'T_Vorlauf_HK1': ('s',5, 2, 0.1,'C'), 'T_Ruecklauf_Kessel': ('s',7, 2, 0.1,'C'), 'T_Boiler': ('s',9, 2, 0.1,'C'), 'T_Kessel': ('s',11, 2, 0.1,'C'), 'T_Aussen': ('s',17, 2, 0.1,'C'), 'T_Rauchgas': ('s',19, 2, 0.1,'C'), 'T_Steuerung' : ('s',21, 2, 0.1,'C'), 'T_Stokerkanal' : ('s',29, 2, 0.1,'C')} aaSignalMaps[17] = { #Name: Type='b'(bit), Offset, Bit #Name: Type='s'(signed)/'u'(unsigned), Offset, Length, Factor, Unit 'Aschebehaelter': ('b',3, 6), 'Pellet_Vorrat': ('b',4, 3), 'Brandschutzklappe' : ('b',1,1), 'Reinigung' : ('b',2,1), 'Alarm2': ('b',1,2), 'Alarm1': ('b',1,3), 'Boiler_Pumpe': ('b',1,5), 'HK1_Pumpe': ('b',1,7), 'Ascheaustragung': ('b', 2,0), 'Reinigung': ('b',2,1), 'HK1_Mischer': ('b',2,6), 'Hauptrelais': ('b',3,4), 'Raumaustragung': ('b',3,6), 'Kessel_AN': ('b',15,0)} Der Wemos spuckt mir nur leider in der aktuellen Config keine verwendbaren Daten aus.
Hallo zusammen! Sagt mal... Ihr verwendet hier einen Wemos D1 mini (3,3 V) mit nem MAX485, der für 5 V spezifiziert ist. Funktioniert das zuverlässig? Ein MAX3485 könnte auch 3,3 V. Als Board erscheint mir das hier zum Beispiel sinnvoll: https://www.reichelt.de/de/de/entwicklerboards-ttl-zu-rs485-max3485-debo-rs485-ttl-p282703.html?PROVID=2788&&r=1 Was meint ihr? VG Keith
:
Bearbeitet durch User
HiHo, nach längerer Testen hat nun endlich das auslesen des Stokers bei dem Easyfire geklappt. D.h. der Verbrauch kann nun grammgenau bestimmt und auch mit dem Nebenantrieb verglichen werden. Dazu hab ich das Arduino-Programm auf GitHub eingestellt, da sich so der Core besser maintainen läßt. Hier die URL: https://github.com/windundsterne/esp-kwb-mqttlogger Viel Spaß damit :)
Hallo Philip, kannst du mir sagen, was die Kürzel UD (Umdrehungen?) HA, NA (Haupt/Nebenantrieb) bedeuten? Die "Leistung" passt bei mir nicht zur Anzeige am Kessel; die geht manchmal auf 13 (bei einem 12kW-Brenner), und die zeigt 6-7kW an, während die Zündung noch läuft und der Kessel "0%" zeigt. Ansonsten ist der Verlauf halbwegs plausibel. Was ist denn die "SchneckeSchnecke"? Ist das die Förderung vom Lager, oder vom Pufferbehälter in den Brenner? Das sind aber alles nur Kleinigkeiten, Danke für deinen Aufwand. Mittlerweile hab ich einige Signale für die Heizkreise 3 und 4 gefunden; wenn ich sie sauber aufbereitet hab, stell ich sie hier rein. Hat jemand gefunden, wo sich die Stellung des Wahlschalters der Raumthermostate versteckt (Frost/Nacht/Auto/Tag)? LG Philipp
Hallo, nach dem Start des Wemos Adapters bekomme ich folgende Infos per MQTT : Booting bytes read RS485: 10 2 21 17 120 88 140 128 16 129 Und sonst nichts. Kann vielleicht jemand mir helfen ? mfg, Kim
Hi Kim, ich war längere Zeit nicht aktiv in der Runde und hab erst am Wochenende das Thema bei mir wieder aufgegriffen. Erst mal vorab noch vielen Dank an Philip (windundsterne). Finde es toll, dass er das Projekt auf Git gelegt hat. Ich hatte auch, nachdem es anfänglich zunächst gut ausgesehen hatte Probleme bekommen und das Projekt dann letztendlich seit einem Jahr bei mir nicht weiter verfolgt. Erst die Tage bin ich wieder dran gegangen. Ich bekam zunächst auch keine Daten mehr über die Schnittstelle. Nachdem ich gemerkt hatte, dass bei mir der Wemos heißer wird als eigentlich sein dürfte, ist mir dann der letzte Beitrag von Keith S. (ksau) eingefallen. Letztendlich hat er damit Recht. Es kann funktionieren, die Frage ist nur wie es sich auf Dauer auswirkt. Ich wollte es dann erst mal Datenblattkonform regeln und hab den Spannungswandler den ich bei mir im Einsatz hatte von 5V auf 3,3V runtergedreht. Leider ohne Erfolg, denn dann funktioniert der von uns eingesetzte Wandler nicht mehr. Ich hab mir eine Alternative besorgt, die mit 3,3V funktioniert und dann damit weitergearbeitet. Ich bekam wieder Daten über den BUS, aber Philips Parser hat einfach nicht angesprochen. Daraufhin hab ich den Code mal auf die schnelle so modifiziert, dass ich ihn "quasi" als Datenlogger benutzen konnte. Hier hab ich dann gesehen, dass ich einfach kein Startbyte "02" bekomme. Daten kamen, aber waren nicht verwertbar. Letztendlich hab ich dann A und B vertauscht und siehe da, ab dem Moment hat es funktioniert. Das wäre dann auch mal mein Tip für dich, denn genauso wie du es beschreibst, hab ich es gestern auch gehabt. cu Bodo
:
Bearbeitet durch User
Hi Kim, sorry aber ich hab gerade gesehen, dass bei dir ja das Startbyte 2 gekommen ist. Dann würde ich dir vorschlagen, dass du Philips SW in dem includefile in der readframe Funktion Debugcode einbaust, der dir die gelesenen Daten auf den SerialMonitor ausgibt. cu Bodo
Sorry, leider konnte ich dir nicht richtig folgen was ich eigentlich probieren soll ? Könntest du dies bitte genauer beschreiben. Mfg, Kim
Philipp W. schrieb: > Hallo Philip, > kannst du mir sagen, was die Kürzel > UD (Umdrehungen?) Hier hatte ich die Umdrehungen des Stokers über die Sense Pakete versucht zu zählen, das erwies sich aber nicht als 100% zuverlässig. Die neueses Version macht dies über die Taktzeit des Hauptantriebs. Das stimmt sehr exakt. Ich glaube nun ist der Verbrauch grammgenau messbar. > HA, NA (Haupt/Nebenantrieb) Wenn sich dieser Wert Ja - korrekt. Dies ist das Verhältnis zwischen der Laufzeit des Haupt und des Nebenantriebs. Wenn es z.B bei dem Nebenantrieb (bei mir eine Schnecke) Probleme gibt, weil z.B. die Pellets nicht nachrutschen sinkt diesse Zahl und man weiss das frühzeitig. > bedeuten? > > Die "Leistung" passt bei mir nicht zur Anzeige am Kessel; die geht > manchmal auf 13 (bei einem 12kW-Brenner), und die zeigt 6-7kW an, > während die Zündung noch läuft und der Kessel "0%" zeigt. Ansonsten ist > der Verlauf halbwegs plausibel. der Wert wird über die Verbrauchsmessung des Stokers gemessen. Am Anfang wird viel Material eingeschoben so das eine scheinbar höhere Leistung entsteht. > > Was ist denn die "SchneckeSchnecke"? Ist das die Förderung vom Lager, > oder vom Pufferbehälter in den Brenner? Das war der Vorgänger des HANA - hatte in der letzen Version noch nicht ganz aus dem Code entfernt. Gruß Philip ;) > > Das sind aber alles nur Kleinigkeiten, Danke für deinen Aufwand. > > Mittlerweile hab ich einige Signale für die Heizkreise 3 und 4 gefunden; > wenn ich sie sauber aufbereitet hab, stell ich sie hier rein. > > Hat jemand gefunden, wo sich die Stellung des Wahlschalters der > Raumthermostate versteckt (Frost/Nacht/Auto/Tag)? > > LG > Philipp
Kim Hanesch schrieb: > Hallo, > > nach dem Start des Wemos Adapters bekomme ich folgende Infos per MQTT : > Booting > > bytes read RS485: 10 2 21 17 120 88 140 128 16 129 > > Und sonst nichts. Kann vielleicht jemand mir helfen ? > > mfg, > Kim An den Werten siehts Du das das auslesen des rs485 zu funktionieren scheint. weitere Daten kommen erst nach dem Updateintervall von 5 min. z.B. 2022-02-05_12:31:00 MQTT2_kwb info: Booting (UART0 Serial) 2022-02-05_12:31:00 MQTT2_kwb UDfaktor: 1.4900 2022-02-05_12:31:00 MQTT2_kwb kwh: 0.000 2022-02-05_12:31:00 MQTT2_kwb rec: bytes read RS485: 10 32 1 0 1 0 1 0 1 0 2022-02-05_12:31:00 MQTT2_kwb updatemin: 5 2022-02-05_12:36:00 MQTT2_kwb errors: 5442 / 51 2022-02-05_12:36:00 MQTT2_kwb Pellets: 0 2022-02-05_12:36:00 MQTT2_kwb PelletsNA: 0 2022-02-05_12:36:00 MQTT2_kwb Stoerung: 0 2022-02-05_12:36:00 MQTT2_kwb deltaPelletsh: 0 2022-02-05_12:36:00 MQTT2_kwb Kesseltemperatur: 54.3 2022-02-05_12:36:00 MQTT2_kwb Rauchgastemperatur: 78.2 2022-02-05_12:36:00 MQTT2_kwb Saugzug: 1342 / 2510 2022-02-05_12:36:00 MQTT2_kwb Unterdruck: 15.5 2022-02-05_12:36:00 MQTT2_kwb Kessel: brennt 2022-02-05_12:36:00 MQTT2_kwb Anforderung: 1 2022-02-05_12:36:00 MQTT2_kwb photodiode: 25 2022-02-05_12:37:37 MQTT2_kwb Reinigung: 1 2022-02-05_12:40:38 MQTT2_kwb Reinigung: 0 2022-02-05_12:41:00 MQTT2_kwb errors: 5484 / 23 2022-02-05_12:41:00 MQTT2_kwb Pellets: 0 2022-02-05_12:41:00 MQTT2_kwb PelletsNA: 0 2022-02-05_12:41:00 MQTT2_kwb Pumpepuffer: 1 2022-02-05_12:41:00 MQTT2_kwb Kesseltemperatur: 55.6 2022-02-05_12:41:00 MQTT2_kwb Rauchgastemperatur: 68.0 2022-02-05_12:41:00 MQTT2_kwb Saugzug: 2005 / 864 2022-02-05_12:41:00 MQTT2_kwb Unterdruck: 103.8 2022-02-05_12:41:00 MQTT2_kwb Kessel: brennt 2022-02-05_12:41:00 MQTT2_kwb Anforderung: 1 2022-02-05_12:41:00 MQTT2_kwb photodiode: 24 2022-02-05_12:44:41 MQTT2_kwb Schneckenlaufzeit: 29 Gruß Philip
Die Codes für Fehlermeldungen sind sicher innerhalb der SENSE-Pakte, enthalten. Wäre cool wenn jemand wüßte an welche Stelle diese stehen. Damit könnte man bei einer Störung nicht nur sehen dass die anliegt sondern auch, um welche es sich handelt. Weiß da jemand was ? Gruß Philip
Philip schrieb: >> Die "Leistung" passt bei mir nicht zur Anzeige am Kessel; die geht >> manchmal auf 13 (bei einem 12kW-Brenner), und die zeigt 6-7kW an, >> während die Zündung noch läuft und der Kessel "0%" zeigt. Ansonsten ist >> der Verlauf halbwegs plausibel. > > der Wert wird über die Verbrauchsmessung des Stokers gemessen. Am > Anfang wird viel Material eingeschoben so das eine scheinbar höhere > Leistung entsteht. Hallo Philip, kann man diese Leistung auch irgendwo am Bedienfeld ablesen und vergleichen? Ich kenne nur die Kesselleistung in Prozent, die im Betriebszustand des Kessels angezeigt wird. Aber irgendwie kann ich deinen Wert nicht 1:1 darauf umrechnen. Wie kamst du hier auf 0,5 als Umrechnungsfaktor im Gegensatz zum 0,6 bei ein paar anderen Werten? Was bei mir auch nicht mit der Prozentangabe am Bedienfeld übereinstimmt, ist der Wert der Photodiode. Kommt bei dir mit dieser Formel ein Wert zwischen 0 und 100% heraus? Wie bist du zu der Formel gekommen? Viele Grüße Leo
Leo B. schrieb: > Philip schrieb: >>> Die "Leistung" passt bei mir nicht zur Anzeige am Kessel; die geht >>> manchmal auf 13 (bei einem 12kW-Brenner), und die zeigt 6-7kW an, >>> während die Zündung noch läuft und der Kessel "0%" zeigt. Ansonsten ist >>> der Verlauf halbwegs plausibel. >> >> der Wert wird über die Verbrauchsmessung des Stokers gemessen. Am >> Anfang wird viel Material eingeschoben so das eine scheinbar höhere >> Leistung entsteht. > > Hallo Philip, > kann man diese Leistung auch irgendwo am Bedienfeld ablesen und > vergleichen? > Ich kenne nur die Kesselleistung in Prozent, die im Betriebszustand des > Kessels angezeigt wird. Aber irgendwie kann ich deinen Wert nicht 1:1 > darauf umrechnen. > Wie kamst du hier auf 0,5 als Umrechnungsfaktor im Gegensatz zum 0,6 bei > ein paar anderen Werten? Die Leistung kann man m.E. nicht direkt aus den Steuerpakten ableiten, nur indirekt über die Taktung. Ich hab den alten Code zur Leistungsberechnung entfernt. Nun kann man die Berechnung besser erkennen: https://github.com/windundsterne/esp-kwb-mqttlogger > > Was bei mir auch nicht mit der Prozentangabe am Bedienfeld > übereinstimmt, ist der Wert der Photodiode. Kommt bei dir mit dieser > Formel ein Wert zwischen 0 und 100% heraus? Wie bist du zu der Formel > gekommen? Glaub die Berechnung kam aus der Protokollbeschreibung aus dem Forum. Gruß Philip > > Viele Grüße > Leo
Hallo, erstmals dickes Lob für das Projekt. Ich habe eine KWB Easyfire 1 und das Projekt von Philip nachgebaut. Am mqtt-Server bekomme ich aber nur initial folgende Infos, danach passiert nichts mehr. error unknown Packet 32/33 info Booting (UART0 Serial) rec bytes read RS485: 10 0 0 0 0 2 21 17 101 88 subscriptions cmd updatemin 5 Wo kann hier der Fehler liegen? mfg, Gerhard
Da kommt nichts über die rs485 rein,was er als gültig erkennt. Tausch mal A und B. Sollte das auch nichts bringen und der Wemos nicht defekt sein, würde ich den Rs485 Adapter in Verdacht haben.
A und B habe ich vertauscht ohne Erfolg. Soll ich mit dem Einkommentieren von SWSERIAL und dem GPIO2 probieren. Momentan steckt der RO Receiver Output vom RS485 am D7 vom Wemos.
Hiho, Hab noch was zum SWSerial vs. UART geschrieben. Vielleicht hilft Dir das https://github.com/windundsterne/esp-kwb-mqttlogger/blob/main/README.md Gruß Philip
Hallo Philip, danke für deinen Hinweis, komme aber leider nicht weiter. Habe auch mit der Version von deinem Post vom 14.07.2021 probiert, habe immer ähnliches Verhalten. Initial bekomme ich am mqtt folgende msg zurück, danach passiert nichts mehr. rec 10 2 21 17 73 88 142 168 20 255 Wenn ich mir über den seriellen Monitor dann im Loop die nID ausgeben lasse. Habe ich abwechselnd immer nID=16 bzw. nID=17. Also kommt meiner Meinung nach ja irgendwas über die RS485, anscheinend aber nichts mit nID 32/33. Welchen wemos D1 mini verwendest du? Ich setze diesen hier ein: https://www.amazon.de/gp/product/B08BTQBGB8/ref=ppx_yo_dt_b_asin_title_o06_s01?ie=UTF8&psc=1 schöne Grüße
Hi Gerhard, dann hast du noch eine ältere Version von der KWB-Software. Lies dir mal den Thread von oben durch. Ursprünglich stand da 16/17. Philips Sketch setzt die neue Firmware mit 32/33 voraus. Den müsstest du anhand der Protokollbeschreibung hier im Thread umschreiben. Oder über eine KWB-Wartung eine aktuelle Firmware einspielen lassen... Viele Grüße Leo
Hi Leo, vielen Dank für den Hinweis. Endlich kommen Daten an. Mich wundert nur, dass hier noch eine alte Software verwendet wird, der Kessel wurde erst im Oktober neu in Betrieb genommen. Möglicherweise gibt es diese Einschränkung bzw. Unterschiede zwischen den unterschiedlichen Kessel, meine ist die Easyfire 1. schöne Grüße Gerhard
Hallo zusammen, ich will diesen Thread nicht kapern, würde mich aber für das Excel-Sheet mit den Modbus-Parametern hochgradig interessieren (das mal vor ettlichen Jahren in diesem Thread erwähnt worden ist). Hintergrund ist, dass ich ein Binding für openhab entwickeln möchte, dass zumindest erstmal für unsere beiden KWB-Heizer (eine MF2 und eine CF2) lesend alle Parameter zur Verfügung stellt. Weiterer Hintergrund: Bei beiden Kesseln haben wir eine Comfort 4-Steuerung im Einsatz. Beide habe ich vor ein paar Tagen in unser Netzwerk eingeklinkt und auch erstmal mit dem kostenfreien Portal von KWB verbunden. Erwartungsgemäß taugt das Portal recht wenig - und hat meine Motivation zu einem Openhab-Binding nur gesteigert ,-) Ich war allerdings recht erstaunt, dass ich ohne weitere Lizenzen kaufen zu müssen, auch gleich "Modbus TCP" aktivieren konnte, das hatte mir der Installateur anders erklärt (böse ist, wem da was schwant... ;-) An Softwareentwicklung habe ich ettliche Jahre auf dem Buckel, modbus gehört leider noch nicht dazu, muss ich mich erst einlesen. Ich habe mir daher den "Simply Modbus TCP Client" installiert und will damit erstmal schauen, ob zumindest meine beiden Testobjekte wirklich online sind und mir für die Entwicklung zur Verfügung stehen. Nach meinem Verständnis brauche ich aber eine genaue Beschreibung der Register der KWB-Steuerung, richtig? Wäre sehr dankbar, wenn ich das irgendwo/irgendwie bekommen könnte - oder gibt das KWB selbst heraus? Danke & Grüße, Sören
Hallo zusammen, ich mal wieder ;-) Zum Thema RS485 vs. RS3485: Keine Ahnung, ob das wirklich ein Problem ist oder ob der RS485 auch stabil mit 3,3 V läuft... Für alle, die ganz sicher gehen wollen, habe ich jetzt ein schönes Board mit dem RS3485 gefunden: https://eckstein-shop.de/WaveshareRS485communicationboard2CSP3485onboard2C33V Kostet EUR 3,99 und tuts bei mir gut. VG Keith
Hallo zusammen, ich habe seit ein paar Wochen einen KWB EF2 mit Paradigma Solarthermie und Wärmemanagement Modul (WMM) für zwei Heizkreise mit Comfort 4 Steuerung in Betrieb. Der Comfort Online zugang ist zwar eine nette Spielerei und ggf für die online Fehleranalyse mit dem Heizungsbauer ganz nett, aber zur richtigen Datenanalyse für mich denkbar ungeeignet. Daher würde ich gerne die Daten wie ihr auch auslesen. Ich habe leider wenig bis keine Ahnung vom Programmieren, die Hardware habe ich mit meinem Schwager nach dem Vorbild von Windundsterne erstellt, sie scheint auch erstmal zu funktionieren. Im moment scheitere ich an der Verkabelung zur Heizungsanlage. Die hier im Forum erwähnte RS485 Schnittstelle oder andere Steckmöglichkeiten, die mit A und B beschriftet sind, hat meine Anlage nicht (zumindest habe ich sie nicht gefunden). In den Dokumenten, die ich habe, ist davon die Rede, dass man mehrere WMM hintereinander schalten kann, wobei das letzte Modul am Ende gebrückt sein sollte, um Reflektionen am Ender der Busleitung zu vermeiden. Muss ich an diese Busleitung? Entshculdigt meine ggf. blöde Frage, aber ich bin mit der Sache grad noch etwas überfordert. Vielen Dank! Gruß, Ralf
Sören schrieb: > würde mich aber für das Excel-Sheet mit den Modbus-Parametern hochgradig > interessieren Das sollte auf der SD Karte gespeichert sein, die in der Comfort 4 steckt.
Hallo von Ralf (rallet), ich steht auch dieser Stelle. unsere Anlage ist schon 2 Jahre alt. Aber es scheint einfacher zu sein als gedacht. Die Comfort 4 hat ja schon einen Netzwerkanschluss und man kann über die Fachkraftebene den Modbus Server direkt in der Anlage aktivieren und über TCP ansprechen, so dass keine weitere Hardware notwendig ist. Mir ging es genauso, ich habe mir auch die Hardware besorgt, dann aber KWB angeschrieben. Mir wurde die aktuelle Firmware zur Verfügung gestellt, ich habe meine Heizung aktualisiert (auf Version 22.7) und habe auch die Modbus Doku mitbekommen. Ich bin gerade dabei die Daten laut der Doku anzuzapfen. Es wäre auf jeden Fall interessant, ob jemand schon ein Tool KWB2MQTT o.Ä. gebaut hat. Gefunden habe ich bisher keines, deswegen möchte ich das machen. Stehe hier aber auch noch am Anfang - bin aber Softwareentwickler. Mfg, Martin
Hallo Martin, das klingt ja viel versprechend. W+rdest du mir die Daten und ModBus Doku zur Verfügung stellen, dann könnte ich mit meinem Schwager zusammen versuchen da was ans Laufen zu kriegen. Gruß, Ralf
Hallo Ralf, natürlich, gar kein Problem. Ich habe diese Informationen direkt von KWB erhalten, inkl. dem Softwareupdate, welches ich selbst problemlos durchführen konnte. Ich bin mittlerweile schon sehr weit gekommen. Im Anhang siehst du was ich schon problemlos auslesen kann. In welches System möchtest du die Daten schreiben? Ich betreibe für die Homeautomation einen home assistant sehr erfolgreich und möchte die Daten dort via MQTT zur Verfügung stellen. Die Hardwarelösung ist komplett überflüssig, da man die Heizung direkt über TCP ansprechen kann. Welche Softwareversion hast du auf der Heizung? Menü Kundendienst -> Support. Ich hatte dir hier auch eine Email geschrieben, ist die angekommen? So wie es aussieht ist die Comfort 4 einfach noch nicht so verbreitet, ich hatte mir diese 2020 einbauen lassen, aber quasi gar nichts dazu gefunden. Wenn du magst können wir gerne mal telefonieren. Ich würde das Projekt gerne auch auf Github zur Verfügung stellen und evtl. auch ein Modul für home assistant dazu erstellen - mal schauen. Schreibe mir mal deine Emailadresse via Nachricht email dann kann ich dir die Infos schicken, die ich von KWB erhalten habe. Mfg, Martin
Hallo Martin, krass was da über Comfort 4 so "nebenbei" möglich ist. Wir können gerne zusammenarbeiten, wobei mein Part da am ehesten der eines Testkandidaten ist, da ich von Programmieren einfach keine Ahnung habe. Mein Ansatz war zunächst erstmal dahin zu kommen, wo du bereits bist, um dann meinen Schwager als Software Heini ins Boot zu holen. Seine Idee war meine vorhandene Synology NAS als Server zum hosten der Daten zu benutzen, in wie fern das mit deinem Weg kompatibel ist, müsste ich abklären. Ich habe dir eine Nachricht über das Board mit meiner Email Adresse geschrieben, damit die Nummer für später Nutzer nicht im Sande verläuft, fände ich es cool, wenn man das auf irgendeiner Plattform dokumentiert. Meine Wunschvorstellung ist im Grunde ganz simpel: Datenaufzeichung über einen längeren Zeitraum und eine Visualisierung der einzelner Daten. Auf welcher Plattform das statfindet, ist mir völlig wurst, da meine Kenntnisse mit Excel enden... ;-) Gruß, Ralf Edith 1: Meine Heizung hat die Software 22.4.0 Edith 2: Deine Nachricht ist angekommen, ich habe dir auch zurückgeschrieben (s.o.) Edith 3: ich sollte mich vllt besser an die Reihenfolge lesen, denken, tippen beim erstellen eines Beittrags halten: Github oder ähnliches fände ich super!
:
Bearbeitet durch User
Ich habe inzwischen mit der KWB-Steuerung via Modbus gearbeitet, folgender Setup funktioniert soweit einwandfrei: - Backend ist OpenHAB mit dem Modus-Addon. Hier erfolgt die Konfiguration idealerweise mit Dateien für die sog. "Things" und "Items". - Dank OpenHAB entfällt jeglicher Programmieraufwand zugunsten vom Erstellen von Konfigurationen. - Die Kommunikation erfolgt über Modbus/TCP im lokalen Netzwerk - Wie schon erwähnt, befand sich auf der SD-Karte der Steuerung ein Excel-Sheet mit den kompletten Modbus-Registern, relativ vollständig und umfangreich dokumentiert. Soweit konnte ich das alles 1:1 direkt verwenden. - Aktuell habe ich von unseren zwei Kesseln rund 100 Parameter zum Lesen konfiguriert, mit Update alle 5 Sekunden; funktioniert einwandfrei. Für Schreiben habe ich noch keinen Use-Case bei uns gefunden, aber sollte sicherlich auch gut klappen da das Add-On ja auch außerhalb KWB verwendet wird. Bei Interesse einfach PM. Grüße, Sören
Hallo an alle, Als erstes ein großes Lob an die Top leistung hier in diesem Topic. Ich bin auch gerade dabei meine Heizung ins Heimnetz aufzuhnehmen (Comfort 3 Steuerung). Da ich aber mit Modbus RTU wenig Erfahrung habe, hoffe das ich hier bei euch richtig bin. Die Lösung mit Wemos und MQTT habe ich soweit umgesetzt und funktioniert soweit. Jedoch würde ich gerne mit meiner Codesys (Raspberry Pi) Steuerung direkt kommunizieren. Jedoch ist das hier nicht so einfach wie ich mir das vorgestellt habe. Habe auch die Registerauszüge für die Comfort3 beschaffen können. Vielleicht kann mir hier jemand mit Rat und Tat zur seite stehen bzw. Tipps geben. LG
Hallo zusammen, erst mal herzlichen Dank fürs Teilen dieses großartigen Projekts! Ich versuche gerade die Variante mit D1 Mini und MAX485 umzusetzen, wie viele das hier ja schon hinbekommen haben. Nun stehe ich vor dem Problem, dass meine Comfort 3 Steuerung sofort die Meldung "186 Netzwerkfehler am Kesselmodul" bringt, und zwar genau in dem Moment, wenn der MAX485 mit dem Buss verbunden wird. Gab es das Problem bei Euch auch? Ich stehe gerade auf dem Schlauch. Testweise habe ich den Bus mit einer anderen RS-485 Schnittstelle verbunden (Timberwolf Server), auch hier trat das Problem sofort auf. Das ist meine Hardware: KWB EasyFire 2 mit Comfort 3 Steuerung NeMos D1 mini MAX485 MP1584 für 24V -> 5V Die Verkabelung habe ich genau wie in dem Blockschaltbild auf GitHub ausgeführt: https://github.com/windundsterne/esp-kwb-mqttlogger/blob/main/Bilder/Schaltplan.png?raw=true Für irgendwelche Tipps wäre ich sehr dankbar! Uli
Ich habe den Fehler finden können. Es ist wichtig, die beiden Pins DE und RE am MAX485 auf GND zu legen, damit er nichts senden, sondern nur zuhören kann. Seit ich das erledigt habe gibt es keine Beschwerden mehr vom Kessel. Aus dem Bockdiagramm ist das auch ganz klar zu entnehmen, mann muss halt nur genau hinschauen: https://github.com/windundsterne/esp-kwb-mqttlogger/blob/main/Bilder/Schaltplan.png?raw=true Ich hatte vorher noch testweise den 120 Ohm Terminierungswiderstand ausgelötet, das hat aber keine Verbesserung gebracht. Uli
:
Bearbeitet durch User
Bernhard U. schrieb: > > Habe auch die Registerauszüge für die Comfort3 beschaffen können. > Vielleicht kann mir hier jemand mit Rat und Tat zur seite stehen bzw. > Tipps geben. > > LG Hallo Bernhard, ich verstehe deine Tabelle nicht ganz. Du hast eine Spalte mit "Offset". Was genau sind das für Offsets? Ich kenne eigentlich nur 2-stellige Offsets, die in den Message IDs 32 und 33 typisch sind. Kannst Du uns aufklären? Uli
Uli schrieb: > Hallo Bernhard, > > ich verstehe deine Tabelle nicht ganz. Du hast eine Spalte mit "Offset". > Was genau sind das für Offsets? Ich kenne eigentlich nur 2-stellige > Offsets, die in den Message IDs 32 und 33 typisch sind. Kannst Du uns > aufklären? > > Uli Hallo Uli, nun ja diese Excel Liste habe ich direkt von KWB bekommen und diese ist unverändert hier hochgeladen worden. Ich vermute das es hier direkt um Register-Adressen handelt. Ich habe versucht mittels Modabus RTU/TCP Gateway diese auszulesen, Jedoch ohne erfolg. Deshalb hab ich sie hier hochgeladen in der Hoffnung das sich hier jemand besser auskennt wie ich. LG Bernhard PS: freut mich zu hören das du die Kommunikation hinbekommen hast. Ich hab deinen Post leider zu spät gesehen. Hatte das gleiche Problem erst mit beiden auf GND gings dannn auch.
Ok, verstehe. Ich habe diese Netzwerkkarte, mit der man über Comfort Online die Daten der Anlage sehen kann. Mir ist aufgefallen, dass man sich zu jedem Datenpunkt eine vierstellige Nummer anzeigen lassen kann, wenn man auf den Titel der jeweiligen Seite klickt. Der Zahlenbereich ist ähnlich, wie in deiner Tabelle in der Spalte Offset. Gut möglich, dass es sich hier um so etwas wie Registeradressen handelt. Die spannende Frage ist halt, ob man über RS-485 da direkt drauf zugreifen kann. Uli
:
Bearbeitet durch User
Das wäre auch mein Ansatz gewesen. Da ich eine SPS (Codesys mit Raspberri Pi) schon einiges Automatisiert habe. Mir fehlt eigentlich nur die Anbindung an die Heizung. Dies Wollte ich über Modbus RTU direkt anbinden, aber das klappt nicht so ganz wie ich mir das vorstelle. Aus diesem Grund läuft bei mir auch die WeMos Lösung (Gefällt mir aber nicht so besonders da ich ein zusätzliches Gerät am Start habe.) Hast du vielleicht ein Bild von dieser Netzwerkkarte. War mir auch schon beim überlegen eine anzuschaffen. Aber diesbezüglich habe ich keine Info von KWB bekommen. Vielleicht kann ich dir direkt schreiben wenn das in Ordnung ist? Damit wir hier nicht den Thread nicht ewig in die Länge ziehen LG Bernhard
Auf diesem Foto sieht man die Netzwerkkarte. Sie wird einfach auf der Rückseite des Control 3 Moduls aufgesteckt. Uli 03fantasie_monomer@icloud.com
In der Control Message ID 33 wird ein Wert übertragen, der im Python Script von Grisu (logkwb.py) mit "Kesselleistung" bezeichnet wird. Bei mir hat er einen Wertbereich von 0% bis 255%. Wenn ich mir über Comfort Online die Werte des Kessels anzeigen lasse ("Brenner Leistung"), liegt der Wertbereich zwischen 0% und 100%. Komischer Weise verlaufen diese Werte nicht parallel. Mit Grafana visualisiert und normalisiert (Faktor 100/255) sieht man einen unterschiedlichen Verlauf, siehe Anhang. Hat jemand eine Erklärung, wie dieser Wert auf dem RS-485 Bus für die Kesselleistung berechnet wird, oder was er konkret bedeutet? Was ist der Unterschied zwischen "Kesselleistung" und "Brenner Leistung"? Uli
:
Bearbeitet durch User
Uli schrieb: > In der Control Message ID 33 wird ein Wert übertragen, der im Python > Script von Grisu (logkwb.py) mit "Kesselleistung" bezeichnet wird. Bei > mir hat er einen Wertbereich von 0% bis 255%. > > Wenn ich mir über Comfort Online die Werte des Kessels anzeigen lasse > ("Brenner Leistung"), liegt der Wertbereich zwischen 0% und 100%. > > Komischer Weise verlaufen diese Werte nicht parallel. Mit Grafana > visualisiert und normalisiert (Faktor 100/255) sieht man einen > unterschiedlichen Verlauf, siehe Anhang. > > Hat jemand eine Erklärung, wie dieser Wert auf dem RS-485 Bus für die > Kesselleistung berechnet wird, oder was er konkret bedeutet? > > Was ist der Unterschied zwischen "Kesselleistung" und "Brenner > Leistung"? > > Uli Hallo Uli, das ist mir auch schon aufgefallen. Es gibt ja auch noch einen zweiten Wert zur Leistung an Position 12, der angeblich die Leitung in kW enthält. Aber auch der Graph passt bei mir nicht mit den Werten zusammen, die mir am Bediengerät angezeigt werden. Genausowenig, wie der Wert für die Photodiode. Das ist vermutlich auch der Grund, weshalb sich Philip in seiner letzten Version die Leistung aus dem Holznachschub ausrechnet. Ich hab leider kein Comfort Online und hab deshalb bis jetzt nur einzelne Stichproben gemacht. Wenn man die tatsächlichen Kurven aus Comfort Online mit den Werten aus der Schnittstelle vergleichen kann, findet man vielleicht eher einen Zusammenhang. Wär klasse, wenn wir dieses Geheimnis noch gelüftet bekommen würden. Ansonsten funktioniert das Ganze bei mir nämlich sehr zuverlässig und ganz ohne Cloud. Leo
Hallo Uli, wie oben schon mal geschrieben, stimmt bei mir seit dem SW-Update vor 4 Jahren auch nicht mehr der Wert aus der 33er Botschaft mit der angezeigten "Brenner Leistung (Vorgabe)" überein, sondern ist jetzt gleich der Kesselleistung × Brennstofffaktor. Das muss jetzt die reale Kesselleistung sein, die man im Comfort Online gar nicht angezeigt bekommt. Ich errechne daraus den Pelletsverbrauch und das stimmt ziemlich gut. VG, Andreas
:
Bearbeitet durch User
Hi @haros (Andreas), Du schreibst dass du aus der Leistung und dem Brennstofffaktor den Verbrauch berechnest. Kannst du mir hierzu mehr Details zukommen lassen? Weil der interne Verbrauchsrechner ist ja nicht so genau. Würde das gerne bei mir mal gegenrechnen. Vielen Dank, Martin
Hallo Martin, wie ich den Verbrauch berechne steht oben in meinem Beitrag vom 13.04.2020 19:39. VG, Andreas
Der Grund, warum ich mich überhaupt für die Brenner Leistung interessiere, ist, dass ich den Brenner möglichst lange unter Vollast fahren will. Im Teillast Bereich ist die Effizienz ja nicht so gut. Mit den alten Einstellungen konnte ich beobachten, dass mein Brenner nie 100% erreichte und nach kurzer Zeit wieder abschaltete. Das habe ich nun geändert, so dass er jetzt länger heizt bevor er wieder abschaltet. Wer sich also für eine hohe Effizienz interessiert, für den ist es wahrscheinlich weniger interessant, wie viel und wie schnell die Pellets eingeschoben werden. Man weiß ja nicht, ob sie mit der selben Rate auch gleich verbrannt werden. Interessanter ist eher, mit welcher Temperatur sie tatsächlich verbrennen. Die Abgastemperatur könnte hierfür eine interessante Größe sein, vielleicht kann man sie durch einen Faktor auch mit der aktuellen Kesselleistung gleichsetzen. Den Pelletverbrauch und den Füllstand meines Schrägbodenlagers berechne ich über die Betriebsdauer der Saugturbine. Die Berechnung ist mittlerweile sehr exakt kalibriert, die Abweichung beträgt nur wenige Prozent. Uli Im Anhang der Graph mit Rauchgastemperatur
:
Bearbeitet durch User
@Uli: Ich denk eigentlich schon, dass man von der Pelletstaktung auf die aktuelle Leistung schließen kann. Schlussendlich regelt der Brenner ja auch nur mit dem Holznachschub die Leistung. Schau dir mal das Skript von Windundsterne an. In der aktuellsten Version errechnet er aus der Taktung die Leistung und den Pelletsverbrauch. @Andreas: Die von dir angesprochene Leistung in % an Position 13 in der 33er Nachricht zeigt bei mir ca. 150 an, wenn der Brenner voll läuft. Ich hab aber keinen Brennstofffaktor von 150. Deshalb scheint die Formel bei mir irgendwie nicht zu passen. Außerdem sieht man im Graphen von Uli schön, dass sich die Kurve nur durch einen Faktor nicht über die "Brenner Leistung" aus Comfort Online legen lässt. Ich hab selbst ja kein Comfort Online, aber die Ausgabe sieht mir sehr nach dem aus, was mir das Bedienfeld anzeigt. Anderes Thema: Hat jemand in den neuen Telegrammen die Positionen für "Brenner an" oder Ext1 herausgefunden? Guten Rutsch Leo
@Uli: Zur Rauchgastheorie: Der Graph sieht bei mir teilweise sehr unterschiedlich aus. Hier ein Beispiel von heute. Der Brenner lief die ganze Zeit mit 100%. Hast du keinen Puffer oder wieso bekommt dein Kessel die Wärme nicht weg und geht in den Teillastmodus? Leo
Ein Vergleich zwischen Rauchgastemperatur und der Brennerleistung die am Bediengerät (Comfort Online) angezeigt wird, legt nahe, dass beides irgendwie korreliert, siehe Anhang. Allerdings wird am Anfang und am Ende des Zyklus' ein Stück abgeschnitten und die Brennerleistung mit 0% angezeigt. Ich hatte die Vermutung, dass die Brennerleistung immer dann auf 0% gesetzt wird, wenn die erzeugte Wärme noch gar nicht aus dem Kessel zum Verbraucher abtransportiert wird. Die Vermutung hat sich jedoch nicht bestätigt. Man sieht im Plot, dass die Pufferladepumpe viel früher einschaltet und erst später wieder abschaltet, nachdem die Brennerleistung wieder 0% hat. Es muss hier irgend einen anderen Zusammenhang geben. Den werde ich schon noch finden... @Leo: Mein Kessel war so konfiguriert, dass er die Puffertemperatur auf 80° C hält mit maximal 5° K Abweichung. Die Temperatur schwankte also zwischen 75° und 85° in kurzen Zyklen. So konnte der Kessel nie 100% erreichen, bevor der Puffer bereits auf 85° C erwärmt war. Keine Ahnung warum das so eingestellt war, es ist meiner Meinung nach absolut Quatsch, weil ich nur Fußbodenheizung habe und gar keine hohen Vorlauftemperaturen benötige. Auf deinem Plot sieht man ja, dass die Rauchgastemperatur konstant ansteigt. Dass der Brenner währenddessen immer genau mit 100% seiner Nennleistung fährt, ist doch eher unwahrscheinlich. Ich vermute, dass auch hier die Leistungskurve oben abgeschnitten wird und ab einer bestimmten Rauchgastemperatur (etwa 110° C) immer 100% angezeigt wird.
Dann ist das Verhalten der Heizungen und der Inhalt dieses Signals "Kesselleistung" in der ID33 anscheinend abhängig von der Firmware. Bei meiner EasyFire 3 mit 2019er Firmware wird sowohl im Display wie auch im Comfort Online während des Heizvorgangs konstant 100% Leistung angezeigt. (Nur am Anfang eines Heizvorgangs kommen kurz kleinere Werte.) In diesem Signal Kesselleistung aus der ID 33 steht bei mir aber während des Heizens immer ein Wert zwischen 78 und 83 drin, was genau dem im Display angezeigten Brennstofffaktor entspricht. @Uli: Was hast du für eine Heizung und für eine Firmware?
Ich habe eine EasyFire II (Typ EF2) mit einer Firmware Version KWBEF 3.101.1. Die wurde aufgespielt, als bei mir die Comfort Online Karte nachgerüstet wurde, so weit ich mich erinnere. Ist schon ein paar Jahre her. Uli
Sorry, hatte mich vertippt. Ich hab auch eine EF2 mit dem gleichen alten silbernen Bedienteil wie du und meine genaue Firmware ist die 3.106.2. Also alles fast gleich. Ich hätte nicht erwartet, dass das Verhalten dann so unterschiedlich ist ...
Das ist ja echt sehr seltsam. Ich hab ebenfalls eine Easyfire EF2 GS 15. Firmware ist die 3.119.1 Ich kann mir ja vorstellen, dass die Schnittstelle durch ein Firmware-Update umgestellt wurde. Aber dass das Verhalten zwischen 3.101 und 3.106 umgestellt wurde und dann zwischen 3.106 und 3.119 wieder auf das alte Verhalten zurückgestellt wurde, halte ich eigentlich für ziemlich unwahrscheinlich. Vielleicht gibt es irgendeine andere Einstellung, die darauf Einfluss hat. @haros: Wir reden schon von diesem Wert im 33er-Paket, oder? Kessel.LeistungProzent = getval2(anData, 13, 1, 1, 0); Mein Pelletsfaktor steht übrigens derzeit auf 108% Wenn ich mir die Kesselleistung am Bedienfeld anschaue, steigt die nach dem Zünden recht schnell auf 100% und bleibt dann dort, bis er zum Schluss wieder schnell auf 0% abfällt. @Uli: Ist glaub Definitionssache, was man unter Kesselleistung versteht. Bei mir steigt die Rauchgastemperatur manchmal auch an, obwohl er die komplette Laufzeit Saugzug und Gebläse konstant hält und auch absolut konstant Pellets nachschiebt. Ich denke, der Brenner geht von einer optimalen Verbrennung aus (was ja auch mehr oder weniger ist) und errechnet die Leistung aus Pellets und Pelletsfaktor.
Hallo Leo, ja, genau diese Kesselleistung aus Byte 13 meine ich. Ich hab eine EF2 GS8 Baujahr 2014 und einen 1000 Liter Puffer, der immer mit Volldampf vollgeladen wird und dann ist wieder aus. Kann es sein, dass eure Heizungen nicht im Pufferbetrieb laufen? Ich hab auch in meinen alten Aufzeichnungen von 2017 nachgeschaut (vor dem SW Update). Damals ist die Heizung auch shon konstant auf Vollast gelaufen, damals aber noch auf ca. 100% und seit dem Update 2019 läuft die nur noch auf 80% und dafür länger. Ich hab euch die beiden Screenshots mal anhängt wie ein Heizvorgang bei mir aussieht.
Ich glaube, jetzt kommen wir der Sache etwas näher: Meine EasyFire II Baujahr 2013 hat 35 kW Nennleistung. Deine, Leo, hat 8 kW. Wir haben beide einen 1000 Liter Pufferspeicher als Abnehmer der Wärme. Somit dürfte klar ein, dass wir hier zwar nicht Äpfel mit Birnen, aber zumindest unterschiedlich große Äpfel miteinander vergleichen. Natürlich muss eine 8 kW Anlage länger mit Volllast laufen, als eine 35 kW Anlage, um die gleiche Menge Wasser im Puffer zu erwärmen. Das erklärt doch die unterschiedlichen Verläufe der Brennerleistung. Uli
Martin schrieb: > Ich würde das Projekt gerne auch auf Github zur Verfügung stellen und > evtl. auch ein Modul für home assistant dazu erstellen - mal schauen. Hallo Martin, Ist hier schon etwas passiert? Ich habe heute bei meiner Easyfire 2 mit Comfort 4 Bedieneinheit den Modbus aktiviert und ein paar Register ausgelesen. Manche Temperaturen kommen mir komisch vor (>2000°C) und den Offset der Register finde ich auch komisch. FW Version ist 23.4.0 Ich würde gerne per MQTT die Daten in InfluxDB speichern oder in Node-Red aufarbeiten. Mein bestehender RasPi4 wäre mir dafür am liebsten. Grüße Jan
Uli schrieb: > Auf diesem Foto sieht man die Netzwerkkarte. Sie wird einfach auf der > Rückseite des Control 3 Moduls aufgesteckt. > > Uli > 03fantasie_monomer@icloud.com Hallo Uli, Ich habe mir jetzt auch die comfort-online Netzwerkschnittstelle gegönnt und kann jetzt einfach per Modbus-TCP die Daten auslesen, es muss jedoch bei der Controleinheit das auch aktiviert werden. Falls du Hilfe benötigst kann ich dir dabei weiterhelfen. LG Bernhard
> Falls du Hilfe > benötigst kann ich dir dabei weiterhelfen. > > LG > Bernhard Hallo Bernhard, wie geil ist das denn! Ich würde mich unheimlich über Tipps freuen. Wie hast du das hinbekommen? Viele Grüße, Uli
Uli schrieb: >> Falls du Hilfe >> benötigst kann ich dir dabei weiterhelfen. >> >> LG >> Bernhard > > Hallo Bernhard, > > wie geil ist das denn! Ich würde mich unheimlich über Tipps freuen. Wie > hast du das hinbekommen? > > Viele Grüße, > Uli Ist deine Email Adresse: 03fantasie_monomer@icloud.com noch gültig LG
> Ist deine Email Adresse: 03fantasie_monomer@icloud.com noch gültig > LG Ja, die ist korrekt. LG Uli
Uli schrieb: >> Ist deine Email Adresse: 03fantasie_monomer@icloud.com noch gültig >> LG > > Ja, die ist korrekt. > > LG Uli Mail ging raus. LG Bernhard
Hallo hat von euch schon jemand den KWB Kessel,Schnittstelle Comfort Online, per Modbus in Home Assistent ausgelesen? Modbus TCP Register hab ich eines aber komme damit in HA nicht zurecht. Lg Christoph
Hi! Ich bin seit ca einer Woche in Homeassistant eingestiegen und schaue so was alles machbar ist. Jetzt bin auf das Thema aufmerksam gekommen... Ist das hier noch aktiv? Funktioniert das noch? Ich habe einen alten Easyfire BJ 2006 im Betrieb mit der Comfort3 Bedieneinheit (in Silber) und auch zugriff in die Fachmannebene weil ich die Wartung seit 16Jahren selber mache. Bekomme ich die Heizung auch bei mir ims Homeassistant? Was benötige ich dafür? Das wäre ja klasse wenn das klappen würde... Im Anhang meine Version...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.