Missed an important possible timeout catch, it's better to achieve immediate error handling after a timeout and use the cache instead of trying to proccess data further.
Grouped possible socket issues; either the socket could not be opened (resulting in "[Errno 113] Host is unreachable") or the socket was succesfully opened but no data could be sent or received (resulting in "timed out error"). I forgot to catch the timeout that might occur with self.sock.sendall(cmd.encode('utf-8'))
If host is unreachable there really is a connection issue (wrong IP or powercycle needed)
If a timeout occurs, the ECU might have missed a beat or is in temporary maintenance mode (these are the most common errors and therefor important to maintain the correct port status)
Missed an important possible timeout catch, it's better to achieve immediate error handling after a timeout and use the cache instead of trying to proccess data further.
Grouped possible socket issues; either the socket could not be opened (resulting in "[Errno 113] Host is unreachable") or the socket was succesfully opened but no data could be sent or received (resulting in "timed out error"). I forgot to catch the timeout that might occur with self.sock.sendall(cmd.encode('utf-8'))