Heizungssteuerung
Startseite
Zurück
Das QAA70 - Protokoll - Die Bedeutung der Daten
Die Entschlüsselung der einzelnen Telegrammtypen
Der QAA kann grundsätzlich nur die Daten senden, die ihm bekannt sind, also z.B. Raumsollwert, Raumistwert, Brauchwassersollwert usw. Der LGM kann ebenfalls nur Daten senden, die ihm bekannt sind, also z.B. Brennertemperatur, Außentemperatur, Speichertemperatur usw.
Um rauszufinden, welches Telegramm welche Bedeutung hat, habe ich zunächst während der Aufzeichnung mit dem BASIC-Programm die Daten nach Telegrammtyp sortiert am Bildschirm anzeigen lassen. So konnte man schon mal sehen, an welchen Stellen sich gelegentlich was ändert, z.B. wenn man am Einstellrad des QAA70 dreht.
Dann habe ich ein weiteres Programm geschrieben, welches die aufgezeichneten Logdateien liest und nach Telegrammtypen sortiert in einer Matrix anzeigt. Die Logdateien können schrittweise vorwärts und rückwärts, langsam oder schnell, abgespielt werden, um so auch Feldern auf die Schliche zu kommen, die sich nur sehr langsam ändern. Die bekannten Felder werden im Klartext angezeigt. Schließlich kann die gesamte Logdatei auch automatisch in eine CSV-Datei mit den Temperaturen verarbeitet werden, um dann daraus ein Diagramm zu machen.
Aus Gründen der Übersichtlichkeit werden die Prüfsummen nicht mehr dargestellt. Wenn ich dann z.B. vom letzen Byte eines Telegramms spreche, meine ich das letzte vor der Prüfsumme.
Datenmatrix im Auswertprogramm
Das Format der Temperaturdarstellung
Temperaturen werden in 16 Bit Zweierkomplement übertragen, also mit 2 Byte. Die Auflösung beträgt 1/64 Grad. Um die Werte in dezimale Darstellung umzuwandeln, wird das Highbyte mit 256 multipliziert und das Lowbyte dazuaddiert. Das Ergebnis wird durch 64 geteilt.
Bei negativen Werten ist das MSB des Highbyte gesetzt. In diesem Fall wird wie bei positiven Werten das Highbyte mit 256 multipliziert und das Lowbyte dazuaddiert. Davon wird 65536 subtrahiert und das Ergebnis durch 64 geteilt.
Einige Beispiele:
Highbyte | Lowbyte | HEX | Bedeutung |
00000101 | 00000000 | 0x0500 | 20°C |
00000010 | 10100000 | 0x02A0 | 10,5°C |
00000000 | 01000000 | 0x0040 | 1°C |
00000000 | 00100000 | 0x0020 | 0,5°C |
00000000 | 00000001 | 0x0001 | 1/64 °C |
00000000 | 00000000 | 0x0000 | 0°C |
11111111 | 11111111 | 0xFFFF | - 1/64 °C |
11111110 | 01001100 | 0xFE98 | - 6,8125 °C |
Die Bedeutung der Daten vom QAA
Die Telegramme beginnen immer mit 23 (Byte 0, Anfrage an QAA), 253 (Byte 1, Antwort QAA beginnt) und dem Telegrammtyp im Byte 2. Bei allen Temperaturwerten sind die Daten in den letzten beiden Bytes enthalten. Ungenutzte Felder sind zu 255 gesetzt.
Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 | festgestellte oder vermutete Bedeutung |
11 | 255 | 255 | 255 | 255 | H | L | Brauchwasser-Solltemperatur mit Highbyte / Lowbyte. Wird doppelt so oft gesendet wie die übrigen Telegramme vom QAA. |
24 | 255 | 255 | 255 | 255 | H | L | Position des Drehknopfs relativ zur Mittelstellung (-3K bis +3K) |
25 | 255 | 255 | 255 | 255 | H | L | Raum-Solltemperatur mit Highbyte / Lowbyte. Hier wird direkt der am Drehknopf eingestellte Wert gesendet. Bei Abwesenheit wird die Reduzierte Temperatur gesendet. |
40 | 255 | 255 | 255 | 255 | H | L | Raumtemperatur-Istwert mit Highbyte / Lowbyte |
56 | 255 | 255 | 255 | 255 | 255 | 83 | Dieses Telegramm ist nach meiner Beobachtung immer konstant. Der Wert 83 taucht allerdings auch in der Serviceebene des QAA70 in Zeile 52 auf und bedeutet dort die Geräteidentifikation. |
73 | 255 | 255 | 255 | 255 | 255 | B | Das letzte Byte gibt die eingestellte Betriebsart an: 0=Automatisch, 1=Manuell, 2=Aus. |
76 | 255 | 255 | 255 | 255 | 255 | A | Das letzte Byte ist bei Anwesenheit 1 und bei Abwesenheit 0. Wird doppelt so oft gesendet wie die übrigen Telegramme vom QAA. |
78 | 255 | 255 | 255 | 255 | 255 | 0 | Dieses Telegramm ist nach meiner Beobachtung immer konstant. |
86 | 255 | 255 | 255 | 255 | 255 | 0 | Dieses Telegramm ist nach meiner Beobachtung immer konstant. |
105 | 255 | 255 | 255 | 255 | H | M | Diese Werte ändern sich sehr selten. Der Wert H ist nie größer als 23; M ist nie größer als 59. Deshalb vermute ich, daß eine Uhrzeit oder eine Schaltzeit angegeben wird. |
121 | 255 | 255 | T | H | M | S | T = Wochentag (1...7), H = Stunde, M = Minute, S= Sekunde. Daher weiß der WGB20, wann er die Legionellenfunktion auszuführen hat. Wird doppelt so oft gesendet wie die übrigen Telegramme vom QAA. |
124 | 255 | 255 | 255 | 255 | 255 | F | Eingestellte / verbleibende Feriendauer in Tagen. Wird doppelt so oft gesendet wie die übrigen Telegramme vom QAA. |
Die Bedeutung der Daten vom LGM
Die Telegramme beginnen mit dem Telegrammtyp in Byte 0 und dem Untertyp in Byte 1. Im folgenden ist immer Telegrammtyp / Untertyp genannt.
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | festgestellte oder vermutete Bedeutung |
29 | 10 | 255 | 255 | 255 | 255 | 2 | 128 | Nach meiner Beobachtung immer konstant. Wird ca. 40 mal seltener gesendet als die anderen 29er Telegramme. |
29 | 27 | 255 | 255 | 7 | 64 | 2 | 128 | Nach meiner Beobachtung immer konstant. Wird ca. 40 mal seltener gesendet als die anderen 29er Telegramme. |
29 | 30 | 255 | 255 | 16 | 64 | 2 | 128 | Nach meiner Beobachtung immer konstant. Wird ca. 40 mal seltener gesendet als die anderen 29er Telegramme. |
29 | 41 | 255 | 255 | 255 | 255 | H | L | Außentemperatur mit Highbyte / Lowbyte |
29 | 43 | 255 | 255 | 255 | 255 | H | L | Temperatur im Brauchwasserspeicher mit Highbyte / Lowbyte |
29 | 44 | 255 | 255 | 255 | 255 | 128 | 2 | Das Telegramm liefert offensichtlich die Vorlauftemperatur im Mischerkreis, die an meinem QAA70 aber nicht angezeigt wird, da kein Mischerkreis vorhanden ist. Der Wert ist immer 128 / 2, das entspricht ca. -511 °C und dürfte so ziemlich der kleinste übertragbare Wert sein. |
29 | 46 | 255 | 255 | 255 | 255 | H | L | Brennertemperatur mit Highbyte / Lowbyte, die in meinem Fall auch die Vorlauftemperatur ist. |
29 | 72 | 255 | 255 | 255 | 255 | 255 | 0 | Nach meiner Beobachtung immer konstant. Wird ca. 40 mal seltener gesendet als die anderen 29er Telegramme. |
29 | 77 | 255 | 255 | 255 | 255 | 255 | 0 | Nach meiner Beobachtung immer konstant. |
29 | 79 | 255 | 255 | 255 | 255 | 255 | 0 | Nach meiner Beobachtung immer konstant. |
29 | 106 | 255 | 255 | 255 | 255 | 0 | 144 | Nach meiner Beobachtung immer konstant. Wird ca. 40 mal seltener gesendet als die anderen 29er Telegramme. |
30 | 11 | 255 | 255 | 255 | 255 | 255 | 255 | Nach meiner Beobachtung immer konstant. |
30 | 76 | 255 | 255 | 255 | 255 | 255 | 255 | Nach meiner Beobachtung immer konstant. |
30 | 121 | 255 | 255 | 255 | 255 | 255 | 255 | Nach meiner Beobachtung immer konstant. |
30 | 124 | 255 | 255 | 255 | 255 | 255 | 255 | Nach meiner Beobachtung immer konstant. |
183 | Dieses Telegramm bleibt unbeantwortet. Möglicherweise eine Anforderung an ein OCI Gateway, welches bei mir nicht vorhanden ist. | |||||||
189 | 87 | B | 0 | 0 | 0 | H | L | Das Telegramm liefert mit Byte 6 und 7 offensichtlich einen Wert, der sich synchron oder leicht verzögert mit der Außentemperatur verändert. Interpretiert man die Bytes nach Zweierkomplement, erhält man aber Werte, die sich etwa 3,9 mal so stark ändern wie die Außentemperatur. Byte 3 bis 5 sind nicht 255, sondern 0. Byte 2 ist 64, wenn die Brauchwassererwärmung aktiv ist, und sonst 0. |
Es wird keine Information über die momentane Brennerleistung gesendet, nicht einmal ob der Brenner an oder aus ist. Somit ist der Bau eines Start- und Betriebsstundenzählers am QAA-Bus leider nicht möglich.