Buderus Logamatic Steuerung ``````````````````````````` Autor: Himtronics Protokoll des Moduls KM271 ########################## RS232-Schnittstelle =================== Die Schnittstelle wird mit 2400 Baud, 8 Bit, keine Parität und ohne Flusskontrolle betrieben. Es reicht daher ein dreiadriges Kabel, das Transmit und Receive dreht. Normale Kommunikation ===================== Schreibt man das Byte 0x02, so antwortet das Modul mit 0x10 Log-Modus ========= Die Schnittstelle kann in den Logmodus versetzt werden, danach sendet das Modul zunächst die Konfiguration und danach die Ereignisse. Am Tag werden etwa 10000 Ereignisse gemeldet. Einleiten des Log-Modus ++++++++++++++++++++++++ Der Logmodus wird eingeleitet mit folgender Byte-Sequenz: 0xEE 0x00 0x00 0x10 0x03 0xFD Das Modul antwortet daraufhin mit 0x10 0x02 Im Prinzip dreht sich jetzt die Kommunikation um, d.h. man sendet 0x10 und das Modul antwortet mit einer Sequenz die mit 0x02 endet. Log-Ereignisse lesen ++++++++++++++++++++ Log-Ereignisse werden gelesen, indem man dem 0x10 an das Modul sendet. Das Modul antwortet entweder mit 0x02 (kein Ereignis) oder einem Paket von Bytes das mit 0x10 0x03 endet und einem Checksum-Byte. Die Checksum ist dabei das XOR aller Bytes des Paketes. Enhält das Paket in den Nutzdaten (d.h. vor dem abschliessenden 0x10 0x03) das Byte 0x10, so wird es wiederholt, taucht also doppelt im Paket auf. Beispiel-Paket: 0x88 0x2B 0x3E 0x10 0x03 und Checksum 0x8E 0x88 0x2b steht dabei für Kesselvorlaufisttemperatur, 0x3e ist der Wert in Grad Celcius, also 62 Grad, 0x10 0x03 beenden das Paket. Die 5 Bytes ergeben per XOR zusammen 0x8e. Konfigurationsdaten +++++++++++++++++++ Konfigurationsdaten werden nach Beginn der Log-Modus gesendet und starten mit dem Byte 0x0. Diese habe ich noch nicht analysiert. Zeitprogramm ++++++++++++ Die Heizzeiten werden nach den Konfigurationsdaten gesendet und starten mit dem Byte 0x01 Fehler ++++++ Die letzte Fehlermeldung wird zu Beginn des Log-Modus gesendet und beginnt mit dem Byte 0x03 Ereignisse ++++++++++ Ereignisse werden nach den Konfigurationsdaten und dem Zeitprogramm gesendet und beginnen mit einem Byte, das das höchste Bit gesetzt hat. Die ersten beiden Bytes bestimmen das Ereignis, die nachfolgendes Bytes den entsprechenden Wert. Die folgende Liste beschreibt die mir bekannte Ereignisse: 0x8000: 'Betriebswerte 1 HK1' 0x8001: 'Betriebswerte 2 HK1' 0x8002: 'Vorlaufsolltemperatur HK1' (Grad) 0x8003: 'Vorlaufisttemperatur HK1' (Grad) 0x8004: 'Raumsolltemperatur HK1' (Grad) 0x8005: 'Raumisttemperatur HK1' (Grad) 0x8006: 'Einschaltoptimierungszeit HK1' 0x8007: 'Ausschaltoptimierungszeit HK1' 0x8008: 'Pumpenleistung HK1' (Grad) 0x8009: 'Mischerstellung HK1' (Grad) 0x800a: 'nicht belegt' 0x800b: 'nicht belegt' 0x800c: 'Heizkennlinie HK1 bei + 10 Grad' (Grad) 0x800d: 'Heizkennlinie HK1 bei 0 Grad' (Grad) 0x800e: 'Heizkennlinie HK1 bei - 10 Grad' (Grad) 0x800f: 'nicht belegt' 0x8010: 'nicht belegt' 0x8011: 'nicht belegt' # 0x8112: 'Betriebswerte 1 HK2' 0x8113: 'Betriebswerte 1 HK2' 0x8114: 'Vorlaufsolltemperatur HK2' (Grad) 0x8115: 'Vorlaufisttemperatur HK2' (Grad) 0x8116: 'Raumsolltemperatur HK2' (Grad) 0x8117: 'Raumisttemperatur HK2' (Grad) 0x8118: 'Einschaltoptimierungszeit HK2' 0x8119: 'Ausschaltoptimierungszeit HK2' 0x811a: 'Pumpenleistung HK2' 0x811b: 'Mischerstellung HK2' 0x811c: 'nicht belegt' 0x811d: 'nicht belegt' 0x811e: 'Heizkennlinie HK2 bei + 10 Grad' (Grad) 0x811f: 'Heizkennlinie HK2 bei 0 Grad' (Grad) 0x8120: 'Heizkennlinie HK2 bei - 10 Grad' (Grad) 0x8121: 'nicht belegt' 0x8122: 'nicht belegt' 0x8123: 'nicht belegt' # 0x8424: 'Betriebswerte 1 WW' 0x8425: 'Betriebswerte 2 WW' 0x8426: 'Warmwassersolltemperatur' (Grad) 0x8427: 'Warmwasseristtemperatur', (Grad) 0x8428: 'Warmwasseroptimierungszeit' 0x8429: 'Ladepumpe' ['aus', 'Ladepumpe', 'Warmwasserpumpe', 'beide'] # 0x882a: 'Kesselvorlaufsolltemperatur' (Grad) 0x882b: 'Kesselvorlaufisttemperatur' (Grad) 0x882c: 'Brennereinschalttemperatur' (Grad) 0x882d: 'Brennerausschalttemperatur' (Grad) 0x882e: 'Kesselintegral 1' 0x882f: 'Kesselintegral 2' 0x8830: 'Kesselfehler' 0x8831: 'Kesselbetrieb' 0x8832: 'Brenneransteuerung' ['aus', 'an'] 0x8833: 'Abgastemperatur' (Grad) 0x8834: 'modulare Brenner Stellwert' 0x8835: 'nicht belegt' 0x8836: 'Brennerlaufzeit 1 Stunden 2' 0x8837: 'Brennerlaufzeit 1 Stunden 1' 0x8838: 'Brennerlaufzeit 1 Stunden 0' 0x8839: 'Brennerlaufzeit 2 Stunden 2' 0x883a: 'Brennerlaufzeit 2 Stunden 1' 0x883b: 'Brennerlaufzeit 2 Stunden 0' # 0x893c: 'Aussentemperatur' (Grad) 0x893d: 'gedaempfte Aussentemperatur' (Grad) 0x893e: 'Versionsnummer VK' 0x893f: 'Versionsnummer NK' 0x8940: 'Modulkennung' 0x8941: 'nicht belegt' Beispielprotokoll meiner Heizung ################################ Anbei die Ausgabe meines Logprogramms: 14:48:14 Vorlaufisttemperatur HK1: 65 Grad 14:48:15 Kesselvorlaufisttemperatur: 65 Grad 14:48:15 Kesselintegral 1: 10 14:48:15 Kesselintegral 2: 207 14:48:17 Kesselintegral 1: 21 14:48:17 Kesselintegral 2: 158 14:48:19 Kesselintegral 1: 0 14:48:19 Kesselintegral 2: 0 14:49:30 Warmwasseristtemperatur: 56 Grad 14:52:14 Aussentemperatur: 24 Grad 15:03:28 Vorlaufisttemperatur HK1: 64 Grad 15:03:29 Kesselvorlaufisttemperatur: 64 Grad 15:03:29 Kesselintegral 1: 10 15:03:29 Kesselintegral 2: 60 15:03:31 Kesselintegral 1: 20 15:03:31 Kesselintegral 2: 135 15:03:33 Kesselintegral 1: 0 15:03:33 Kesselintegral 2: 0 15:03:48 Ladepumpe: Warmwasserpumpe 15:06:49 Ladepumpe: aus 15:11:06 Betriebswerte 2 WW: 225 15:11:07 Warmwasseristtemperatur: 55 Grad 15:11:07 Ladepumpe: Ladepumpe 15:11:07 Kesselvorlaufsolltemperatur: 78 Grad 15:11:07 Brennereinschalttemperatur: 71 Grad 15:11:07 Brennerausschalttemperatur: 80 Grad 15:11:08 Brenneransteuerung: an 15:11:09 Betriebswerte 1 HK1: 136 15:11:09 Vorlaufsolltemperatur HK1: 5 Grad 15:11:09 Pumpenleistung HK1: 0 Grad 15:11:21 Kesselbetrieb: 2 15:12:07 Brennerlaufzeit 1 Stunden 0: 172 15:12:12 Vorlaufisttemperatur HK1: 63 Grad 15:12:13 Kesselvorlaufisttemperatur: 63 Grad 15:12:32 Vorlaufisttemperatur HK1: 62 Grad 15:12:33 Kesselvorlaufisttemperatur: 62 Grad 15:13:07 Brennerlaufzeit 1 Stunden 0: 173 15:13:24 Vorlaufisttemperatur HK1: 63 Grad 15:13:25 Kesselvorlaufisttemperatur: 63 Grad 15:13:42 Vorlaufisttemperatur HK1: 64 Grad 15:13:43 Kesselvorlaufisttemperatur: 64 Grad