From 580085f717b0a6d9074f6bb33fcf7d479e38767b Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Wed, 17 Nov 2021 21:47:00 +0100 Subject: [PATCH] Fixed kamstrup list version --- frames/Kamstup-TN-3p.raw | 18 ++++++++++++++++++ src/IEC6205675.cpp | 9 +++++++++ 2 files changed, 27 insertions(+) create mode 100644 frames/Kamstup-TN-3p.raw diff --git a/frames/Kamstup-TN-3p.raw b/frames/Kamstup-TN-3p.raw new file mode 100644 index 00000000..033e3e2f --- /dev/null +++ b/frames/Kamstup-TN-3p.raw @@ -0,0 +1,18 @@ +7E A0 E2 2B 21 13 23 9A E6 E7 00 0F 00 00 00 00 0C +07 E5 0B 11 03 0B 32 00 FF 80 00 00 + +02 19 +0A 0E 4B 61 6D 73 74 72 75 70 5F 56 30 30 30 31 - +09 06 01 01 00 00 05 FF 0A 10 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX - Meter ID +09 06 01 01 60 01 01 FF 0A 12 36 38 34 31 31 33 31 42 4E 32 34 33 31 30 31 30 34 30 - Meter model +09 06 01 01 01 07 00 FF 06 00 00 05 E6 - Active+ +09 06 01 01 02 07 00 FF 06 00 00 00 00 - Active- +09 06 01 01 03 07 00 FF 06 00 00 00 00 - Reactive+ +09 06 01 01 04 07 00 FF 06 00 00 01 92 - Reactive- +09 06 01 01 1F 07 00 FF 06 00 00 00 A1 - L1 current +09 06 01 01 33 07 00 FF 06 00 00 00 C1 - L2 current +09 06 01 01 47 07 00 FF 06 00 00 01 8E - L3 current +09 06 01 01 20 07 00 FF 12 00 EB - L1 voltage +09 06 01 01 34 07 00 FF 12 00 EC - L2 voltage +09 06 01 01 48 07 00 FF 12 00 EC - L3 voltage +EF 5F 7E \ No newline at end of file diff --git a/src/IEC6205675.cpp b/src/IEC6205675.cpp index 7e6c28d8..da8398fa 100644 --- a/src/IEC6205675.cpp +++ b/src/IEC6205675.cpp @@ -144,8 +144,17 @@ IEC6205675::IEC6205675(const char* d, uint8_t useMeterType) { } else if(memcmp(version->str.data, "Kamstrup", 8) == 0) { meterType = AmsTypeKamstrup; } + } else { + version = getCosemDataAt(1, ((char *) (d))); + if(version->base.type == CosemTypeString) { + if(memcmp(version->str.data, "Kamstrup", 8) == 0) { + meterType = AmsTypeKamstrup; + } + } } + + u32 = getString(AMS_OBIS_VERSION, sizeof(AMS_OBIS_VERSION), ((char *) (d)), str); if(u32 > 0) { listId = String(str);