Heizungssteuerung
Startseite
Zurück
QAA70 - das Protokoll
Die Grundparameter
Das Übertragungsformat ist 4800 Baud, 1 Startbit, 8 Datenbits, ungerades Paritätsbit, 1 Stopbit. Das sind pro Byte 11 zu übertragende Bits.
Die ankommenden Daten sehen so aus. In jeder Zeile ist zuerst die vergangene Zeit seit dem letzten Byte angegeben, und dann das empfangene Byte. Jedes Byte dauert 2,29 ms.in der Übertragung. Wie bereits vorher auf dem Oszilloskop sieht man hier, daß alle 500 - 700 ms ein zusammenhängendes Telegramm übertragen wird:
...
3 ms 11
2 ms 255
3 ms 255
2 ms 255
3 ms 255
2 ms 255
3 ms 255
2 ms 221
578 ms 23
3 ms 253
2 ms 11
3 ms 255
2 ms 255
3 ms 255
2 ms 255
3 ms 10
2 ms 0
3 ms 242
774 ms 29
2 ms 41
3 ms 255
2 ms 255
3 ms 255
2 ms 255
3 ms 0
2 ms 28
3 ms 162
577 ms 23
3 ms 253
3 ms 73
2 ms 255
3 ms 255
2 ms 255
3 ms 255
2 ms 255
3 ms 0
2 ms 191
...
Faßt man jeweils die Bytes zusammen, deren Abstand weniger als 10 ms beträgt, erhält man folgendes:
...
774 ms: 29, 77, 255, 255, 255, 255, 255, 0, 155
578 ms: 23, 253, 73, 255, 255, 255, 255, 255, 0, 191
575 ms: 189, 87, 0, 0, 0, 0, 0, 127, 109
776 ms: 183
598 ms: 30, 121, 255, 255, 255, 255, 255, 255, 111
577 ms: 23, 253, 121, 255, 255, 5, 18, 53, 41, 23
774 ms: 29, 79, 255, 255, 255, 255, 255, 0, 153
578 ms: 23, 253, 86, 255, 255, 255, 255, 255, 0, 178
574 ms: 30, 76, 255, 255, 255, 255, 255, 255, 156
777 ms: 23, 253, 76, 255, 255, 255, 255, 255, 1, 187
575 ms: 29, 46, 255, 255, 255, 255, 11, 252, 178
577 ms: 23, 253, 105, 255, 255, 255, 255, 22, 36, 100
774 ms: 30, 124, 255, 255, 255, 255, 255, 255, 108
577 ms: 23, 253, 124, 255, 255, 255, 255, 255, 0, 140
575 ms: 29, 43, 255, 255, 255, 255, 9, 120, 59
777 ms: 23, 253, 56, 255, 255, 255, 255, 255, 83, 125
575 ms: 30, 11, 255, 255, 255, 255, 255, 255, 221
578 ms: 23, 253, 11, 255, 255, 255, 255, 10, 0, 242
774 ms: 189, 87, 0, 0, 0, 0, 0, 127, 109
577 ms: 183
598 ms: 29, 41, 255, 255, 255, 255, 0, 28, 162
776 ms: 23, 253, 24, 255, 255, 255, 255, 0, 0, 239
575 ms: 30, 121, 255, 255, 255, 255, 255, 255, 111
578 ms: 23, 253, 121, 255, 255, 5, 18, 53, 53, 11
774 ms: 29, 77, 255, 255, 255, 255, 255, 0, 155
578 ms: 23, 253, 40, 255, 255, 255, 255, 5, 119, 99
575 ms: 30, 76, 255, 255, 255, 255, 255, 255, 156
776 ms: 23, 253, 76, 255, 255, 255, 255, 255, 1, 187
575 ms: 29, 79, 255, 255, 255, 255, 255, 0, 153
577 ms: 23, 253, 25, 255, 255, 255, 255, 5, 0, 233
774 ms: 30, 124, 255, 255, 255, 255, 255, 255, 108
578 ms: 23, 253, 124, 255, 255, 255, 255, 255, 0, 140
575 ms: 29, 46, 255, 255, 255, 255, 11, 60, 114
776 ms: 23, 253, 78, 255, 255, 255, 255, 255, 0, 186
575 ms: 189, 87, 0, 0, 0, 0, 0, 127, 109
577 ms: 183
797 ms: 30, 11, 255, 255, 255, 255, 255, 255, 221
578 ms: 23, 253, 11, 255, 255, 255, 255, 10, 0, 242
...
Die Telegrammtypen
Mit den beiden Jumpern kann man nun die Daten von QAA und LGM getrennt beobachten und findet folgendes: Der LGM arbeitet als Master, der QAA als Slave. Der LGM sendet teilweise ganze Telegramme, und teilweise nur ein einzelnes Byte, auf das der QAA dann sofort antwortet. Die Telegrammtypen unterscheiden sich grundsätzlich immer im ersten Byte.
Vom LGM11.34 gesendete Daten
Dies sind die Telegrammtypen, die vom LGM gesendet werden. Sie unterscheiden sich im Byte 0, welches 29, 30, 183 oder 189 sein kann. Innerhalb der Telegrammtypen gibt es noch Untertypen, die sich durch das Byte 1 unterscheiden. Der Typ 29 hat 11 Untertypen, der Typ 30 hat 4 Untertypen. Der Typ 183 ist offensichtlich eine Anforderung, die vom QAA nicht beantwortet wird. Wahrscheinlich eine Anfrage an das OCI Gateway, falls vorhanden. Der Typ 189 hat nur einen Untertyp.
Die folgende Tabelle zeigt alle Telegrammtypen:
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 |
29 | 10 | 255 | 255 | 255 | 255 | 2 | 128 | 91 |
29 | 27 | 255 | 255 | 7 | 64 | 2 | 128 | 1 |
29 | 30 | 255 | 255 | 16 | 64 | 2 | 128 | 245 |
29 | 41 | 255 | 255 | 255 | 255 | 0 | 0 | 190 |
29 | 43 | 255 | 255 | 255 | 255 | 9 | 96 | 83 |
29 | 44 | 255 | 255 | 255 | 255 | 128 | 2 | 57 |
29 | 46 | 255 | 255 | 255 | 255 | 5 | 136 | 44 |
29 | 72 | 255 | 255 | 255 | 255 | 255 | 0 | 160 |
29 | 77 | 255 | 255 | 255 | 255 | 255 | 0 | 155 |
29 | 79 | 255 | 255 | 255 | 255 | 255 | 0 | 153 |
29 | 106 | 255 | 255 | 255 | 255 | 0 | 144 | 237 |
30 | 11 | 255 | 255 | 255 | 255 | 255 | 255 | 221 |
30 | 76 | 255 | 255 | 255 | 255 | 255 | 255 | 156 |
30 | 121 | 255 | 255 | 255 | 255 | 255 | 255 | 111 |
30 | 124 | 255 | 255 | 255 | 255 | 255 | 255 | 108 |
183 | ||||||||
189 | 87 | 0 | 0 | 0 | 0 | 0 | 15 | 221 |
Das Byte 8 ist eine Prüfsumme. Sie wird so gewählt, daß die Summe aller gesendeten Bytes 0 bis 8 (einschließlich der Prüfsumme) als 8-Bit-Zahl immer Null ergibt
Vom QAA gesendete Daten
Dies sind die Telegramme, die vom QAA gesendet werden. Das Byte 0 (23) wird immer vom LGM gesendet und ist offensichtlich die Anforderung an den QAA. Der QAA antwortet darauf mit den Bytes 1 bis 9. Das Byte 1 ist immer 253 und kennzeichnet den Beginn eines Telegramms vom QAA. Das Byte 2 gibt den Telegrammtyp an, welcher 11, 24, 25, 40, 56, 73, 76, 78, 86, 105, 121 oder 124 sein kann. Es gibt hier keine Untertypen.
Die folgende Tabelle zeigt alle Telegrammtypen:
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 |
23 | 253 | 11 | 255 | 255 | 255 | 255 | 10 | 0 | 242 |
23 | 253 | 24 | 255 | 255 | 255 | 255 | 0 | 64 | 175 |
23 | 253 | 25 | 255 | 255 | 255 | 255 | 2 | 128 | 108 |
23 | 253 | 40 | 255 | 255 | 255 | 255 | 5 | 57 | 161 |
23 | 253 | 56 | 255 | 255 | 255 | 255 | 255 | 83 | 125 |
23 | 253 | 73 | 255 | 255 | 255 | 255 | 255 | 0 | 191 |
23 | 253 | 76 | 255 | 255 | 255 | 255 | 255 | 0 | 188 |
23 | 253 | 78 | 255 | 255 | 255 | 255 | 255 | 0 | 186 |
23 | 253 | 86 | 255 | 255 | 255 | 255 | 255 | 0 | 178 |
23 | 253 | 105 | 255 | 255 | 255 | 255 | 17 | 34 | 107 |
23 | 253 | 121 | 255 | 255 | 7 | 17 | 53 | 42 | 21 |
23 | 253 | 124 | 255 | 255 | 255 | 255 | 255 | 0 | 140 |
Das Byte 9 ist eine Prüfsumme. Sie wird so gewählt, daß die Summe aller vom QAA gesendeten Bytes 1 bis 9 (einschließlich der Prüfsumme) als 8-Bit-Zahl immer Null ergibt
Das Sendeschema
Wie in dem zweiten Listing oben auf dieser Seite zu sehen, gibt es ein Schema, nach dem die Daten gesendet werden. Offensichtlich gibt es Blöcke aus jeweils 16 Telegrammen, die immer mit dem Telegrammtyp 183 beginnen und mit dem Typ 189 enden. Dazwischen sendet immer abwechselnd der LGM ein Telegramm und fordert dann eines vom QAA an.
Innerhalb eines Blockes entscheidet jeder Teilnehmer selbst, welche Telegrammtypen er senden möchte. Da nicht alle Telegrammtypen in einen Block passen, werden die auf mehrere Blöcke verteilt. Manche Telegrammtypen werden sehr häufig gesendet, andere eher selten alle paar Minuten.
Ob es eine bestimmtes Schema für die Reihenfolge der Telegrammtypen gibt, habe ich noch nicht untersucht.