Index: leahi_dialin/utils/abstract_classes.py =================================================================== diff -u -r775f2d7ca9a4d1c86c02bc27130f8765dc4156ad -r8ef0478470000c7e0de4dc05440521c955e18107 --- leahi_dialin/utils/abstract_classes.py (.../abstract_classes.py) (revision 775f2d7ca9a4d1c86c02bc27130f8765dc4156ad) +++ leahi_dialin/utils/abstract_classes.py (.../abstract_classes.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) @@ -88,12 +88,16 @@ variable_name = decode_details[0] datatype: DataTypes = decode_details[-1] end_pos = start_pos + datatype.size() - value = struct.unpack(datatype.unpack_attrib(), bytearray(message['message'][start_pos:end_pos]))[0] + try: + value = struct.unpack(datatype.unpack_attrib(), bytearray(message['message'][start_pos:end_pos]))[0] + except Exception as e: + value = None if debug: - print(f'value: {value} ({datatype.name})') + print(f'{variable_name}: {value} ({datatype.name})') print(f'pos: {start_pos} - {end_pos}') if 'nan' in str(value).lower(): - raise ValueError(f'{value} is not an accepted value!') + value = None + # raise ValueError(f'{value} is not an accepted value!') if datatype is DataTypes.BOOL: value = True if value == 1 else False results[variable_name] = value @@ -141,7 +145,8 @@ print(f'value: {value} ({datatype.name})') print(f'pos: {start_pos} - {end_pos}') if 'nan' in str(value).lower(): - raise ValueError(f'{value} is not an accepted value!') + value = None + # raise ValueError(f'{value} is not an accepted value!') # If the type is Bool, convert the value from Integer to Boolean if datatype is DataTypes.BOOL: value = True if value == 1 else False