diff --git a/lib/AmsConfiguration/src/hexutils.cpp b/lib/AmsConfiguration/src/hexutils.cpp index c60e6350..c355b858 100644 --- a/lib/AmsConfiguration/src/hexutils.cpp +++ b/lib/AmsConfiguration/src/hexutils.cpp @@ -35,7 +35,7 @@ bool stripNonAscii(uint8_t* in, uint16_t size, bool extended) { memset(in+i, 0, size-i); break; } - if(extended && (in[i] < 32 || in[i] == 127 || in[i] == 129 || in[i] == 141 || in[i] == 143 || in[i] == 144 || in[i] == 157)) { + if(extended && (in[i] < 32 || in[i] == 127 || in[i] == 129 || in[i] == 141 || in[i] == 143 || in[i] == 144 || in[i] == 157 || in[i] == 160)) { memset(in+i, ' ', 1); ret = true; } else if(!extended && (in[i] < 32 || in[i] > 126)) { diff --git a/lib/MeterCommunicators/src/IEC6205675.cpp b/lib/MeterCommunicators/src/IEC6205675.cpp index ada7fccf..bad3e1ea 100644 --- a/lib/MeterCommunicators/src/IEC6205675.cpp +++ b/lib/MeterCommunicators/src/IEC6205675.cpp @@ -901,7 +901,7 @@ IEC6205675::IEC6205675(const char* d, uint8_t useMeterType, MeterConfig* meterCo } if(meterType != AmsTypeUnknown) { - stripNonAscii((uint8_t*) ctx.system_title, 8, true); + stripNonAscii((uint8_t*) ctx.system_title, 8); meterId = String((const char*)ctx.system_title); } } @@ -946,6 +946,7 @@ IEC6205675::IEC6205675(const char* d, uint8_t useMeterType, MeterConfig* meterCo threePhase = true; } } + meterId.trim(); } CosemData* IEC6205675::getCosemDataAt(uint8_t index, const char* ptr) {