Forum: Haus & Smart Home KWB Kessel RS485 Protokoll


von tomtrath (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

habe das Prtokoll des RS485 Schnittstelle der KWB Pelletsheizung zu 
dekodieren begonnen. Anbei die bisher Ergebnisse zusammengefasst.

von ein anderer Gast (Gast)


Lesenswert?

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.

von Thomas T. (thomas_t33)


Lesenswert?

Hallo,

Du kannst mich unter tomtrath at gmx.at erreichen.

VG Thomas

von Bodo (Gast)


Lesenswert?

Halol Thomas, leider bist du nicht ehr unter der angegeben Adresse 
erreichbar.
Mich würde mal der aktuelle Stand deines Projektes interessieren.
cu
Bodo

von Thomas T. (thomas_t33)


Angehängte Dateien:

Lesenswert?

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

von eb (Gast)


Lesenswert?

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?

von Thomas T. (thomas_t33)


Lesenswert?

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

von Bodo (Gast)


Lesenswert?

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.

von eb (Gast)


Lesenswert?

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.

von Thomas T. (thomas_t33)


Angehängte Dateien:

Lesenswert?

anbei der Letztstand der Protokollanalyse.

Grüße Thomas

von eb (Gast)


Lesenswert?

Hallo Thomas,

vielen Dank für die super Dokumentation!

von Bodo (Gast)


Lesenswert?

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

von Markus H. (markus_h62) Flattr this


Angehängte Dateien:

Lesenswert?

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

von Keith S. (ksau)


Angehängte Dateien:

Lesenswert?

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
von Markus H. (markus_h62) Flattr this


Lesenswert?

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

von Keith S. (ksau)


Lesenswert?

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

von Markus H. (markus_h62) Flattr this


Lesenswert?

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

von Keith S. (ksau)


Lesenswert?

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

von B.Bonny (Gast)


Lesenswert?

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

von Markus H. (markus_h62) Flattr this


Angehängte Dateien:

Lesenswert?

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
von Keith S. (ksau)


Lesenswert?

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.

von Keith S. (ksau)


Lesenswert?

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
von B.Bonny (Gast)


Lesenswert?

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

von Bodo B. (gelbwichtel)


Lesenswert?

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

von Keith S. (ksau)


Lesenswert?

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

von Markus H. (markus_h62) Flattr this


Lesenswert?

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

von Daniel (Gast)


Lesenswert?

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

von Marco O. (marco_o)


Lesenswert?

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

von Pellet (Gast)


Lesenswert?

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.

von Keith S. (ksau)


Lesenswert?

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?

von Pellet (Gast)


Lesenswert?

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.

von Keith S. (ksau)


Lesenswert?

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

von Pellet (Gast)


Lesenswert?

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.

von Marco O. (marco_o)


Lesenswert?

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 :-)

von ksau (Gast)


Lesenswert?

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 :-)

von Daniel (Gast)


Lesenswert?

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

von Daniel (Gast)


Lesenswert?

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

von Thomas T. (thomas_t33)


Lesenswert?

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

von Daniel (Gast)


Lesenswert?

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

von Daniel (Gast)


Lesenswert?

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

von unterwurzer (Gast)


Lesenswert?

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

von unterwurzer (Gast)


Angehängte Dateien:

Lesenswert?

Intercom - Modbus

von Matthias (Gast)


Lesenswert?

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

von Leo B. (limats)


Lesenswert?

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

von alex h (Gast)


Lesenswert?

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

von Thomas T. (thomas_t33)


Lesenswert?

Hallo Leo,

ich habe den MCP4651 mit 10kOhm eingesetzt. Ist ein Dualpotiometer mit 
I2C Interface.

Grüße Thomas

: Bearbeitet durch User
von eb (Gast)


Lesenswert?

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.

von Leo B. (limats)


Lesenswert?

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

von Anton (Gast)


Lesenswert?

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

von Markus (Gast)


Lesenswert?

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

von joe (Gast)


Lesenswert?

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

von Unterwurzer (Gast)


Angehängte Dateien:

Lesenswert?

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

von Martin L. (martinleitner75)


Lesenswert?

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

von Martin L. (martinleitner75)


Lesenswert?

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
von Hanesch Kim (Gast)


Lesenswert?

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

von Martin L. (martinleitner75)


Lesenswert?

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

von Hanesch Kim (Gast)


Lesenswert?

Hallo,

wie genau funktioniert deine Lösung ?

Auch gerne per Mail : hanesch.kim at gmail.com

mfg

von Keith S. (ksau)


Lesenswert?

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

von Hanesch Kim (Gast)


Lesenswert?

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

von Keith S. (ksau)


Lesenswert?

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.

von Hanesch Kim (Gast)


Lesenswert?

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

von Hanesch Kim (Gast)


Lesenswert?

Hi Keith,

bin dennoch an deiner Lösung interessiert. Kanns du diese mal kurz 
beschreiben ?

mfg

von bimbar (Gast)


Lesenswert?

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

von bimbar (Gast)


Lesenswert?

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

von Bodo Bonny (Gast)


Lesenswert?

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

von bimbar (Gast)


Lesenswert?

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.

von bimbar (Gast)


Lesenswert?


von Andreas D. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von bimbar (Gast)


Lesenswert?

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.

von bimbar (Gast)


Lesenswert?

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.

von bimbar (Gast)


Lesenswert?

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.

von Martin L. (martinleitner75)


Lesenswert?

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

von Andreas D. (Gast)


Lesenswert?

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

von Guiom (Gast)


Lesenswert?

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 !

von MartinB (Gast)


Angehängte Dateien:

Lesenswert?

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

von Martin L. (martinleitner75)


Lesenswert?

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

von JamesB (Gast)


Angehängte Dateien:

Lesenswert?

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

von haros (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Martin B. (beckerm)


Angehängte Dateien:

Lesenswert?

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.

von haros (Gast)


Angehängte Dateien:

Lesenswert?

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.)

von haros (Gast)


Angehängte Dateien:

Lesenswert?

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 ... ?!

von Rainer G. (gera)


Lesenswert?

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.

von haros (Gast)


Lesenswert?

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.

von Rainer G. (gera)


Lesenswert?

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

von haros (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Rainer G. (gera)


Lesenswert?

Super - Danke.
Der Konverter soll morgen ankommen :-)
Dann werde ich das mal ausprobieren.

von Rainer G. (gera)


Lesenswert?

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

von haros (Gast)


Lesenswert?

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.

von Rainer G. (gera)


Lesenswert?

OK, ich versuche es mal :-)
Die FW ist recht neu, wurde im Frühjahr erst überprüft.
Ob es die neueste ist, k.A.

von haros (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Rainer G. (gera)


Lesenswert?

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.

von Rainer G. (gera)


Lesenswert?

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

von Kim Hanesch (Gast)


Angehängte Dateien:

Lesenswert?

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

von Grisu (Gast)


Angehängte Dateien:

Lesenswert?

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

von Leo B. (limats)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

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

von Martin B. (beckerm)


Lesenswert?

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.

von Kim Hanesch (Gast)


Lesenswert?

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

von Martin B. (beckerm)


Angehängte Dateien:

Lesenswert?

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

von Martin B. (beckerm)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

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.

von Dirk Abel (Gast)


Angehängte Dateien:

Lesenswert?

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

von Philipp W. (shuhhi)


Lesenswert?

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

von Dirk Abel (Gast)


Angehängte Dateien:

Lesenswert?

@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

von Philipp W. (shuhhi)


Lesenswert?

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

von Dirk Abel (Gast)


Lesenswert?

@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

von Dirk Abel (Gast)


Angehängte Dateien:

Lesenswert?

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

von Rainer G. (gera)


Lesenswert?

Den Verbrauch kann man gut damit abschätzen.
Schnecke pro Minute 4,5Kg --> Zeit messen und ausrechnen.
Kommt bei so +/- 5% hin.

von Kim Hanesch (Gast)


Lesenswert?

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

von Dirk Abel (Gast)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

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.

von Rainer G. (gera)


Lesenswert?

Ich habs vom Hersteller der Sauganlage.
4,5Kg / Min

von yogui (Gast)


Lesenswert?

Hallo,
kann jemand ein bild vom anschluss posten. da der front panel am stecker 
25 hangt.

Gruss
yogui

von yogui (Gast)


Lesenswert?

Halo
sorry hab mir verlesen der front panel ist auf dem stecker 26

von graffmaxx (Gast)


Lesenswert?

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

von yogui (Gast)


Lesenswert?

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

von Philipp W. (shuhhi)


Lesenswert?

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

von haros (Gast)


Lesenswert?

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?

von Marco A. (homeautouser)



Lesenswert?

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

von windundsterne (Gast)


Lesenswert?

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

von mark (Gast)


Lesenswert?

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

von Philipp W. (shuhhi)


Lesenswert?

Hallo Philip,
ich interessiere mich auch sehr für die Details deines Aufbaus!!
LG
Phil

von windundsterne (Gast)



Lesenswert?

// 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

von Philipp W. (shuhhi)


Lesenswert?

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

von windundsterne (Gast)


Lesenswert?

Klar geht sicher auch mit einem Wemos d1 ohne pro, der hat lediglich 
keine externe Antenne und keine Akkuladevorrichtung. Pins sind fast 
gleich.

Philip

von Lovro Turk (Gast)


Lesenswert?

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

von Philipp W. (shuhhi)


Lesenswert?

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

von Philip (Gast)


Lesenswert?

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

von Philipp W. (shuhhi)


Lesenswert?

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

von Philip (Gast)


Lesenswert?

Klar, ich komm vorbei 😀
Freut mich wenn's läuft.
Mit ein bisschen Fachmanebene, Relaistest bekommst du weitere Werte 
raus.
Gruß Philip

von Bodo B. (gelbwichtel)


Angehängte Dateien:

Lesenswert?

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 ?

von Bodo B. (gelbwichtel)


Angehängte Dateien:

Lesenswert?

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
von Philip (Gast)


Lesenswert?

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.

von Bodo B. (gelbwichtel)


Lesenswert?

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.

von Philip (Gast)


Lesenswert?

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

von Acid S. (acidsubway)


Angehängte Dateien:

Lesenswert?

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
von Thomas (Gast)


Lesenswert?

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

von Thomas (Gast)


Lesenswert?

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

von Acid S. (acidsubway)



Lesenswert?

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.

von Ore S. (ore_s)


Angehängte Dateien:

Lesenswert?

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

von Philipp W. (shuhhi)


Lesenswert?

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

von Herste (Gast)


Lesenswert?

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

von Tobias P. (tobias_p334)


Lesenswert?

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

von Tobias P. (tobias_p334)


Lesenswert?

Hallo,
keiner mehr hier der unterstützen kann?

von Kim Hanesch (Gast)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

Ok sorry habe die letzte Version der Library jetzt heruntergeladen und 
lässt sich jetzt compilieren...

von Kim Hanesch (Gast)


Lesenswert?

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

von Tobias P. (tobias_p334)


Angehängte Dateien:

Lesenswert?

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?

von Tom (Gast)


Lesenswert?

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

von Rainer G. (gera)


Lesenswert?

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.

von Bodo (Gast)


Lesenswert?

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.

von Tobias P. (tobias_p334)


Lesenswert?

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

von Tom (Gast)


Lesenswert?

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

von windundsterne (Gast)


Angehängte Dateien:

Lesenswert?

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

von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
was kann ich denn hier aus den Werten lesen?

von Martin (Gast)


Lesenswert?

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

von Manuel S. (schaumi)


Lesenswert?

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

von Leo B. (limats)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

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

von Markus Heberling (Gast)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

Hallo,

was meinst du mit einem Abschlusswiderstand ?
Ich habe meinen RS485 wie oben auf den Bildern verdrahtet.

Mit besten Grüssen,
Kim

von Kim Hanesch (Gast)


Lesenswert?

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 ?

von Leo B. (limats)


Lesenswert?

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?

von Kim Hanesch (Gast)


Lesenswert?

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

von Leo B. (limats)


Lesenswert?

Probier mal, auch DE auf Masse zu legen.
Dann sollte er den Bus nicht mehr durcheinander bringen.

von Kim Hanesch (Gast)


Lesenswert?

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.

von Keith S. (ksau)


Lesenswert?

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
von Philip (Gast)


Lesenswert?

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 :)

von Philipp W. (shuhhi)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

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

von Bodo B. (gelbwichtel)


Lesenswert?

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
von Bodo B. (gelbwichtel)


Lesenswert?

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

von Kim Hanesch (Gast)


Lesenswert?

Sorry, leider konnte ich dir nicht richtig folgen was ich eigentlich 
probieren soll ? Könntest du dies bitte genauer beschreiben.

Mfg,
Kim

von Philip (Gast)


Lesenswert?

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

von Philip (Gast)


Lesenswert?

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

von Philip (Gast)


Lesenswert?

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

von Leo B. (limats)


Lesenswert?

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

von Philip (Gast)


Lesenswert?

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

von Gerhard (Gast)


Lesenswert?

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

von Gelbwichtel (Gast)


Lesenswert?

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.

von Gerhard (Gast)


Lesenswert?

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.

von windundsterne (Gast)


Lesenswert?

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

von Gerhard (Gast)


Lesenswert?

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

von Leo B. (limats)


Lesenswert?

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

von Gerhard (Gast)


Lesenswert?

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

von Sören (Gast)


Lesenswert?

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

von Keith S. (ksau)


Lesenswert?

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

von Ralf (rallet)


Lesenswert?

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

von Fabian W. (fabian-w)


Lesenswert?

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.

von Martin Zeug (Gast)


Lesenswert?

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

von Ralf (rallet)


Lesenswert?

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

von Martin (martinzeug)


Angehängte Dateien:

Lesenswert?

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

von Ralf (rallet)


Lesenswert?

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
von Sören Gerlach (Gast)


Lesenswert?

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

von Bernhard U. (bernhard_u)


Angehängte Dateien:

Lesenswert?

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

von Uli (ulischirm)


Angehängte Dateien:

Lesenswert?

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

von Uli (ulischirm)


Lesenswert?

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
von Uli (ulischirm)


Lesenswert?

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

von Bernhard U. (bernhard_u)


Lesenswert?

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.

von Uli (ulischirm)


Angehängte Dateien:

Lesenswert?

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
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
Noch kein Account? Hier anmelden.