Errors

exception obdii.errors.ResponseBaseError(response: bytes)[source]

Bases: Exception

pattern: bytes | None = None
regex_pattern: Pattern | None = None
classmethod detect(response: bytes) ResponseBaseError | None[source]

Detect an error in a response and return the corresponding error instance.

exception obdii.errors.ResponseError(response: bytes)[source]

Bases: ResponseBaseError

Base class for all response errors.

exception obdii.errors.InvalidCommandError(response: bytes)[source]

Bases: ResponseError

The command received on the RS232 input was not recognized or misunderstood.

pattern: bytes | None = b'?'
exception obdii.errors.BufferFullError(response: bytes)[source]

Bases: ResponseError

The ELM327’s 256-byte buffer is full.

pattern: bytes | None = b'BUFFER FULL'
exception obdii.errors.BusBusyError(response: bytes)[source]

Bases: ResponseError

The ELM327 detected excessive bus activity and was unable to respond.

pattern: bytes | None = b'BUS BUSY'
exception obdii.errors.BusError(response: bytes)[source]

Bases: ResponseError

A generic error has occurred on the bus.

pattern: bytes | None = b'BUS ERROR'
exception obdii.errors.CanError(response: bytes)[source]

Bases: ResponseError

The CAN system had difficulty initializing, sending, or receiving.

pattern: bytes | None = b'CAN ERROR'
exception obdii.errors.InvalidDataError(response: bytes)[source]

Bases: ResponseError

There was a response from the vehicle, but the information was incorrect or could not be recovered.

regex_pattern: Pattern | None = re.compile(b'(?<!<)DATA ERROR')
exception obdii.errors.InvalidLineError(response: bytes)[source]

Bases: ResponseError

There was an error in the line that this points to.

pattern: bytes | None = b'<DATA ERROR'
exception obdii.errors.DeviceInternalError(response: bytes)[source]

Bases: ResponseError

Internal errors reported as ERR with a two digit code following.

regex_pattern: Pattern | None = re.compile(b'ERR\\d{2}')
exception obdii.errors.SignalFeedbackError(response: bytes)[source]

Bases: ResponseError

Output energized, but input signal not detected. Possible wiring issue. Verify connections.

pattern: bytes | None = b'FB ERROR'
exception obdii.errors.MissingDataError(response: bytes)[source]

Bases: ResponseError

Vehicle did not respond within timeout.

pattern: bytes | None = b'NO DATA'
exception obdii.errors.CanDataError(response: bytes)[source]

Bases: ResponseError

Received CAN data contains errors. Verify protocol and baud rate settings.

pattern: bytes | None = b'<RX ERROR'
exception obdii.errors.StoppedError(response: bytes)[source]

Bases: ResponseError

Operation interrupted by RS232 character or low RTS signal.

pattern: bytes | None = b'STOPPED'
exception obdii.errors.ProtocolConnectionError(response: bytes)[source]

Bases: ResponseError

No supported protocol detected. Verify vehicle ignition status, compatibility, and connections.

pattern: bytes | None = b'UNABLE TO CONNECT'
exception obdii.errors.ResponseWarning(response: bytes)[source]

Bases: ResponseBaseError

Base class for all response warnings.

exception obdii.errors.InactivityWarning(response: bytes)[source]

Bases: ResponseWarning

No RS232 activity has been detected for a specified duration (4 or 19 minutes).

pattern: bytes | None = b'ACT ALERT'
exception obdii.errors.LowPowerWarning(response: bytes)[source]

Bases: ResponseWarning

The ELM327 is entering Low Power mode in 2 seconds. No interruption possible.

pattern: bytes | None = b'LP ALERT'
exception obdii.errors.LowVoltageResetWarning(response: bytes)[source]

Bases: ResponseWarning

Indicates low 5V supply voltage, triggering a reset.

pattern: bytes | None = b'LV RESET'