From e66e8a96ffd1cf87ff322b3464cc56ad74cb2061 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Mon, 13 Sep 2021 08:10:39 +0200 Subject: [PATCH] Added some frames as documentation --- frames/Aidon-TN-3p.raw | 4 ++++ frames/Kaifa-TN-3p.raw | 26 ++++++++++++++++++++++++++ frames/decoding.txt | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 frames/Aidon-TN-3p.raw create mode 100644 frames/Kaifa-TN-3p.raw create mode 100644 frames/decoding.txt diff --git a/frames/Aidon-TN-3p.raw b/frames/Aidon-TN-3p.raw new file mode 100644 index 00000000..c6d723cb --- /dev/null +++ b/frames/Aidon-TN-3p.raw @@ -0,0 +1,4 @@ +T FF FF DA SA SA C HC HC LD LS LQ AT AI AI AI AI AD +7E A0 2A 41 08 83 13 04 13 E6 E7 00 0F 40 00 00 00 00 01 01 02 03 09 06 01 00 01 07 00 FF 06 00 00 08 64 02 02 0F 00 16 1B E1 +7E A1 1E 41 08 83 13 EE EE E6 E7 00 0F 40 00 00 00 00 01 0D 02 02 09 06 01 01 00 02 81 FF 0A 0B 41 49 44 4F 4E 5F 56 30 30 30 31 02 02 09 06 00 00 60 01 00 FF 0A 10 37 33 35 39 39 39 32 38 39 30 34 39 37 39 39 37 02 02 09 06 00 00 60 01 07 FF 0A 04 36 35 33 34 02 03 09 06 01 00 01 07 00 FF 06 00 00 08 6C 02 02 0F 00 16 1B 02 03 09 06 01 00 02 07 00 FF 06 00 00 00 00 02 02 0F 00 16 1B 02 03 09 06 01 00 03 07 00 FF 06 00 00 00 00 02 02 0F 00 16 1D 02 03 09 06 01 00 04 07 00 FF 06 00 00 02 09 02 02 0F 00 16 1D 02 03 09 06 01 00 1F 07 00 FF 10 00 41 02 02 0F FF 16 21 02 03 09 06 01 00 33 07 00 FF 10 00 13 02 02 0F FF 16 21 02 03 09 06 01 00 47 07 00 FF 10 00 0E 02 02 0F FF 16 21 02 03 09 06 01 00 20 07 00 FF 12 08 F2 02 02 0F FF 16 23 02 03 09 06 01 00 34 07 00 FF 12 08 D1 02 02 0F FF 16 23 02 03 09 06 01 00 48 07 00 FF 12 08 E8 02 02 0F FF 16 23 8B +7E A1 8A 41 08 83 13 EB FD E6 E7 00 0F 40 00 00 00 00 01 12 02 02 09 06 01 01 00 02 81 FF 0A 0B 41 49 44 4F 4E 5F 56 30 30 30 31 02 02 09 06 00 00 60 01 00 FF 0A 10 37 33 35 39 39 39 32 38 39 30 34 39 37 39 39 37 02 02 09 06 00 00 60 01 07 FF 0A 04 36 35 33 34 02 03 09 06 01 00 01 07 00 FF 06 00 00 03 9A 02 02 0F 00 16 1B 02 03 09 06 01 00 02 07 00 FF 06 00 00 00 00 02 02 0F 00 16 1B 02 03 09 06 01 00 03 07 00 FF 06 00 00 00 00 02 02 0F 00 16 1D 02 03 09 06 01 00 04 07 00 FF 06 00 00 02 0E 02 02 0F 00 16 1D 02 03 09 06 01 00 1F 07 00 FF 10 00 11 02 02 0F FF 16 21 02 03 09 06 01 00 33 07 00 FF 10 00 10 02 02 0F FF 16 21 02 03 09 06 01 00 47 07 00 FF 10 00 0E 02 02 0F FF 16 21 02 03 09 06 01 00 20 07 00 FF 12 08 F4 02 02 0F FF 16 23 02 03 09 06 01 00 34 07 00 FF 12 08 CD 02 02 0F FF 16 23 02 03 09 06 01 00 48 07 00 FF 12 08 DC 02 02 0F FF 16 23 02 02 09 06 00 00 01 00 00 FF 09 0C 07 E5 03 18 03 08 00 00 FF 00 00 00 02 03 09 06 01 00 01 08 00 FF 06 00 47 F0 34 02 02 0F 01 16 1E 02 03 09 06 01 00 02 08 00 FF 06 00 00 00 00 02 02 0F 01 16 1E 02 03 09 06 01 00 03 08 00 FF 06 00 00 21 9E 02 02 0F 01 16 20 02 03 09 06 01 00 04 08 00 FF 06 00 08 E0 21 02 02 0F 01 16 20 57 diff --git a/frames/Kaifa-TN-3p.raw b/frames/Kaifa-TN-3p.raw new file mode 100644 index 00000000..71b02162 --- /dev/null +++ b/frames/Kaifa-TN-3p.raw @@ -0,0 +1,26 @@ +T FF FF DA SA SA C HC HC LD LS LQ AT AI AI AI AI AD +7E A0 27 01 02 01 10 5A 87 E6 E7 00 0F 40 00 00 00 09 0C 07 E5 03 17 02 13 1A 3A FF 80 00 00 +02 01 // Frame type and size +06 00 00 0B F3 // Active power +5B 05 7E // CRC and end tag + +T FF FF DA SA SA C HC HC LD LS LQ AT AI AI AI AI AD +7E A0 78 01 02 01 10 C4 98 E6 E7 00 0F 40 00 00 00 09 0C 07 E5 03 17 02 13 1B 00 FF 80 00 00 +02 0D // Frame type and size +09 07 4B 46 4D 5F 30 30 31 // List version +09 10 XX XX XX XX XX XX XX XX XX XX 35 33 34 34 39 33 // Meter ID +09 07 4D 41 33 30 34 48 34 // Meter type +06 00 00 0C 21 // Active import +06 00 00 00 00 // Active export +06 00 00 00 00 // Reactive import +06 00 00 01 9F // Reactive export +06 00 00 0B F3 // I1 +06 00 00 05 0B // I2 +06 00 00 25 11 // I3 +06 00 00 09 44 // U1 +06 00 00 09 49 // U2 +06 00 00 09 39 // U3 +C9 95 7E // CRC and end tag + + +7E A0 9A 01 02 01 10 AA A5 E6 E7 00 0F 40 00 00 00 09 0C 07 E5 03 17 02 13 00 0A FF 80 00 00 02 12 09 07 4B 46 4D 5F 30 30 31 09 10 XX XX XX XX XX XX XX XX XX XX 35 33 34 34 39 33 09 07 4D 41 33 30 34 48 34 06 00 00 09 99 06 00 00 00 00 06 00 00 00 00 06 00 00 01 67 06 00 00 03 BF 06 00 00 05 05 06 00 00 24 34 06 00 00 09 45 06 00 00 09 4F 06 00 00 09 3B 09 0C 07 E5 03 17 02 13 00 0A FF 80 00 00 06 01 34 3B 5D 06 00 00 00 00 06 00 00 09 36 06 00 3C 7A 98 DA 15 7E diff --git a/frames/decoding.txt b/frames/decoding.txt new file mode 100644 index 00000000..84a99ca0 --- /dev/null +++ b/frames/decoding.txt @@ -0,0 +1,32 @@ +T = Tag +FF = Frame format (4 bit type, 1 bit segmentation, 11 bit frame length) +DA = Destination Address (1-4 bytes, LSB=1 terminates) +SA = Source address (1-4 bytes, LSB=1 terminates) +C = Control (1 byte) +HC = HCS (2 bytes) + +LD = LLC Destination +LS = LLC Remote +LQ = LLC Quality + +AT = Tag (0x0F = unencrypted, 0xDB = encrypted) Not really documented that well... +AI = Invoke ID and priority (4 bytes) +AD = Date and time +AS = System title +CT = Cipher frame tag ? Undocumented +CL = Lenght of Cipher frame. Length of payload will be this number - 5 (control and counter in start) - 12 (GCM tag appended after payload) +CC = Security control +CO = Invocation counter + +Security control bits +01234567 +00110000 (0x30) +0 = read acces +1 = write access +2 = Authenticated req +3 = Encrypted req +4 = Digitally signed req +5 = Authenticated res +6 = Encrypted res +7 = Digitally signed res +