I have been having problems with my OBD BLE dongle for a few months. Performance is intermittent - sometimes it works perfectly and sometimes not at all. Particularly frustrating is when it shows connected and reading car data (green Bluetooth icon on Android Auto), but the battery % diverges from what the car shows (and last successful update appears to be minutes or hours ago in app). I have been trying to establish a pattern and finally realised I also have a BLE smart watch (fossil, in case relevant). The watch occasionally also reports faults and I've realised ABRP works when the watch reports disconnected from my phone, and ABRP plays.up when it's connected. This could also explain how ABRP thinks it is connected to the dongle but fail.to read data if it had somehow transferred it's connection to the watch. The issue also.makes pairing the dongle difficult (it often fails).
Phone is pixel 7 (Android 14) and issue has been ongoing for several months across several ABRP releases. Present in both Android Auto and phone modes.
Looks like ABRP might not validate all data received as coming from expected source?
Example. This morning I connected ABRP and the app connected to the dongle and correctly reset the battery to 100% following an overnight charge. I arrived at my destination with the car reporting 62% battery, and ABRP reporting 18% battery and connected. I noticed the values started to diverge within a few minutes of setting off. 10 minutes before arrival I unplugged the dongle (note ABRP) still reported connected after this.
When navigation completed on reaching my destination ABRP jumped back to 98% reported battery (vs car 62% actual), which I.*assume* to be the last successful dongle read near the start of the journey.
I'm not at all well-educated about these kinds of watches so I may have misunderstood you. Did I understand you correctly that your OBD is connected to your watch? In that case, the problem is probably that the OBD is trying to connect to two devices.
No. Dongle connects to the phone. Watch connects to the phone. When the watch is connected to the phone ABRP doesn't seem to get OBD updates. It reports connected to the device but does not receive data. If I unplug the dongle completely it still reports connected, making me think ABRP has somehow transferred its connection to the watch (still connected). Unfortunately the watch does not provide an aeroplane mode so I can't turn it off. My hypothesis is that, during a data transfer with the dongle, the watch software also connects and this causes ABRP to somehow capture the watch as the connected device and not the dongle.
ABRP has.multiple retries when starting to find the dongle. Sometimes gets a few updates and tracks battery. Then I can see it reports connected, but stops showing actual battery status and is working on predicted status instead (like if there's no dongle). Unplugging/replugging the dongle does nothing. Sometimes a 'force stop' on the app on the phone will recover the connection, but iit goes again (closing and reopening the app does not seem enough, force stop only works, and then only sometimes.)
. However, if the watch service is stopped before I get in the car then all works ok. So I wonder if ABRP connection can get hijacked if there is a second BLE device present and a different app is communicating with it. I've seen a couple of posts about people needing to retry several times.to.link a dongle, and I see this too - so I definitely think there's a route through the code which allows the dongle connection to get interrupted.
We are going to do and update on the bluetooth library and this might solve your problem. However, we don't have time to include it in the next update 4.6.9, which is coming out these days.