diff --git a/src/pyfroniusreg/froniusreg.py b/src/pyfroniusreg/froniusreg.py index c0d995b..70ac538 100644 --- a/src/pyfroniusreg/froniusreg.py +++ b/src/pyfroniusreg/froniusreg.py @@ -30,17 +30,23 @@ class DataType(): # helper functions for DataType constructors def decode_string8(decoder): - return str(decoder.decode_string(8).decode('utf-8')) + try: + return str(decoder.decode_string(8).decode('utf-8')) + except UnicodeDecodeError: + return decoder.decode_string(8) def decode_string16(decoder): try: return str(decoder.decode_string(16).decode('utf-8')) except UnicodeDecodeError: - return str(decoder.decode_string(16)) + return decoder.decode_string(16) def decode_string32(decoder): - return str(decoder.decode_string(32).decode('utf-8')) - + try: + return str(decoder.decode_string(32).decode('utf-8')) + except UnicodeDecodeError: + return decoder.decode_string(32) + def encode_16bit_int(encoder, value): return encoder.add_16bit_int(int(value))