Hallo nochmal,
ich habe jetzt mal in die Funktion KNXTUL_Read eine zusätzliche Debug-Zeile eingebaut. Es scheint so, dass da tatsächlich Telegramme übermittelt werden, allerdings in einem anderen Format als KNXTUL diese erwartet
Im Ruhezustand empfängt KNXTUL im Abstand von 10 Sekunden (evtl Zeitstempel?) folgende Telegramme:
2021.01.15 22:15:33 3: KNXTUL hexmessage:000274ed2a170083714009243f3e999b3332fadce3233f858c4aefdac039
2021.01.15 22:15:43 3: KNXTUL hexmessage:000274ed520d00837140092452ec5d1f5573aec6b4c13f1f2224fe231c03
2021.01.15 22:15:53 3: KNXTUL hexmessage:000274ed79ef008371400924114a34bcee6771646cbdcc40ca2e5ac33e3f
2021.01.15 22:16:03 3: KNXTUL hexmessage:000274eda177008371400924b1d827a55ee2bd1b22df22d36add20bbc6ed
2021.01.15 22:16:28 3: KNXTUL hexmessage:000274ee00f90083714009247fa2bbe56c62edf9c1c4ec1687e3f1f52534
061009550024000274ee00f90083714009247fa2bbe56c62edf9c1c4ec1687e3f1f52534
Die letzte Zeile zeigt, wie Wireshark die Nutzdaten anzeigt. Da hat KNXTUL offensichtlich schon 6 Bytes Header entfernt. Ausserdem kann auch Wireshark das nicht dekodieren, denn es zeigt die Nutzdaten lediglich als Raw-Data an.
Wenn KNXTUL was sendet (GA 3/1/14, wie in obigem Beispiel), dann sieht das so aus:
2021.01.15 22:15:49 5: KNXTUL - Write started
2021.01.15 22:15:49 5: KNXTUL: sending C w0310e01
2021.01.15 22:15:49 5: KNXTUL_encode_eibd: dst: 0310e apci: 2 datalen: 1 data: 1
2021.01.15 22:15:49 5: KNXTUL_sendGroup: dst: 0310e, msg: 6414 1 0 129
2021.01.15 22:15:49 5: KNXTUL_sendRequest: 224.0.23.12:3671 msg: 0610053000112900bcd00005190e010081
2021.01.15 22:15:49 5: KNXTUL - Read started
2021.01.15 22:15:49 3: KNXTUL hexmessage:2900bcd00005190e010081
2021.01.15 22:15:49 5: RawMessage read: 2900bcd00005190e010081
2021.01.15 22:15:49 5: Message read - CtrlByte: 11010000 Source: 0005 Dest: 190e Data: 0081
2021.01.15 22:15:49 5: KNXIP: dispatch C00005w0310e01
2021.01.15 22:15:49 5: enter parse: hash: HASH(0x55d844bc89c8) name: KNXIP, dest: 0310e, msg: C00005w0310e01
Dieses Telegramm kann Wireshark dekodieren und zeigt es brav als KNXnet/IP an.
Wenn ich eine Taste drücke (gleiche GA, 3/1/14), dann schaut es so aus:
2021.01.15 22:16:09 3: KNXTUL hexmessage:0000000274edb69b0083714009240000393f8377df07eab2646ce3e9880644577fa10bbdf074be1b396fef6ca479cb9636bf
2021.01.15 22:16:12 3: KNXTUL hexmessage:0000000274edc370008371400924000055f8289a40cb89724cf1b2d533021bdcab681b10953ea4229bfdc82f64a96fb1abe5
2021.01.15 22:16:15 3: KNXTUL hexmessage:0000000274edce9d0083714009240000364acc809b186a0c226b444885a06a6bbedac2c473694f272cbd475fdd9776b1970a
2021.01.15 22:16:18 3: KNXTUL hexmessage:0000000274edd92c0083714009240000e0cc35221f62f253c2accc88b5d501bd8cc6824bc3194a3aaa34ebe9a108b0586f82
0610095000380000000274edd92c0083714009240000e0cc35221f62f253c2accc88b5d501bd8cc6824bc3194a3aaa34ebe9a108b0586f82
Auch das kann Wireshark nicht dekodieren und stellt es als Raw-Data dar (letzte Zeile)
Auffällig ist, dass die Daten doch sehr unterschiedlich ausschauen, obwohl es in allen drei Telegrammen die gleich GA ist (abwechselnt on und off)
Sieht also ganz danach aus, als ob der Router die Telegramme ganz anders kodiert als KNXTUL. Da in den Telegrammen die GA nicht zu erkennen ist, könnte das sogar (teilweise) verschlüsselt sein.
Ideen?