A Home Assistant integration for reading OBD2 vehicle data via Bluetooth Low Energy (BLE).
Uses PaulMarisOUMary OBDII as library for interfacing the OBD2.
- Real-time OBD2 data reading from compatible BLE devices
- Automatic device discovery via Bluetooth
- Configurable polling intervals for different vehicle states
- Support for caching sensor values
- Automatic reconnection when the device comes back in range
- Add this repository to HACS as a custom repository.
- Search for "OBD2 BLE" in HACS and install it.
- Restart Home Assistant.
- Copy the
custom_components/obd2_blefolder to your Home Assistantcustom_componentsdirectory. - Restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration.
- Search for
OBD2 BLEand add it. - Restart Home Assistant if prompted.
The integration is configured via the UI. No YAML configuration is required.
- Supported OBD2 BLE devices should be discovered automatically and offered during setup.
- If your device is not found but is within range, it is likely not supported.
- After adding the integration, open the integration options and choose "Configure commands".
- On the Commands selection page, choose the supported commands you want to enable.
- The command configuration page will repeat for each selected command.
- When finished, the integration reloads and the selected sensors should appear.
- A compatible OBD2 BLE device
- Home Assistant with Bluetooth support (ESPHome Bluetooth Proxy)
This integration supports OBD2 BLE dongles that advertise as:
OBD2OBDIIVEEPEAKVeepeak
Supported BLE service UUIDs:
0000ffe0-0000-1000-8000-00805f9b34fb0000fff0-0000-1000-8000-00805f9b34fb000018f0-0000-1000-8000-00805f9b34fb
Known device profiles:
- Generic OBD-II BLE adapters using service
FFF0and characteristicsFFF1/FFF2 - Vgate/V-LINK-style adapters using service
18F0and characteristics18F1/18F2 - Veepeak OBDCheck BLE/BLE+ adapters advertising as
VEEPEAKusing serviceFFF0and characteristicsFFF1/FFF2
The integration includes opt-in enhanced commands that may not appear in the standard OBD-II supported PID list.
Experimental Honda/Acura automatic transmission fluid temperature candidates:
HONDA_ATF_TEMP_8220: request22 82 20, Celsius equationA - 40HONDA_ATF_TEMP_9023: request22 90 23, Celsius equationA - 40
Internally these commands use the equivalent B - 40 formula because
py-obdii keeps the second service-22 PID byte in the decoded payload.
These are not guaranteed for every Honda/Acura model. Validate by comparing a cold start and warm-up curve: ATF temperature should start near ambient and rise more slowly than engine coolant. If it exactly mirrors coolant temperature, treat the selected PID as invalid for the vehicle.
- Ensure your OBD2 BLE device is in range and Bluetooth is enabled.
- Check Home Assistant logs for detailed error messages.
- Verify the device appears in Home Assistant Bluetooth discovery.
For issues and feature requests, please visit the GitHub repository