EVNotify/EVNotiPi

Absturz wenn Daten vom OBD Adapter korrupt sind

Closed this issue · 2 comments

In Datei cars/IONIQ_BEV.py (und auch KONA?)
Zeile: 16
raw[cmd][int(line[:5],16)] = bytes.fromhex(str(line[5:],'ascii'))

Wenn die Daten die vom OBD Adapter kommen nicht Hexzahlen sind, sondern etwas Anderes, dann stürzt das Script ab.
Durch einzelne Bitfehler in der seriellen Übertragung zwischen OBD Adapter und raspi kann das passieren.
Eine weitere mögliche Ursache ist eine falsche Baudrateneinstellung.

Abhilfe wäre sowas in der Richtung:

try:
raw[cmd][int(line[:5],16)] = bytes.fromhex(str(line[5:],'ascii'))
except:
print("communication error; wrong baudrate?")
break

Bei einzelnen Übertragungsfehlern bricht das script dann nicht ab, sondern läuft weiter.

Yes, that should also be fixed.

Should be fixed. If not, reopen another issue with sample data