brendan-w / python-OBD

OBD-II serial module for reading engine data
GNU General Public License v2.0
1.08k stars 371 forks source link

Make elm327.py able to talk to ELM327 clones #282

Open BinaryMercenary opened 1 month ago

BinaryMercenary commented 1 month ago

Fix: Wrap the buffer.decode in a try and set bogus string. This increases compatibility by 5-10x with post elm327 made after 2022. (I've tested this)

The change is in ./obd/elm327.py near the last few lines,

convert bytes into a standard string

    string = buffer.decode("utf-8", "ignore")

    # convert bytes into a standard string
    try:
        string = buffer.decode("utf-8", "ignore")
    except:
        string = "Null response. Possibly an elm327 clone - try to connect anyway."