Offline/local telemetry support for ABRP on Android-13 CarLinkit AI Box (LeafSpy runs on the box)
Hello ABRP team,
I run ABRP directly on an Android-13 CarLinkit AI Box (8+128GB) in a 2018 Nissan Leaf. There is no phone involved — LeafSpy (or a small local service) runs on the same box and can POST telemetry to a local HTTP endpoint:
http://127.0.0.1:8000/1/tlm/leaf
I want to keep telemetry entirely offline because the cloud endpoint (https://api.iternio.com/1/tlm/leaf) can be unreliable in the vehicle (intermittent mobile/Wi-Fi) and currently ABRP does not reliably indicate/discover when the cloud connection drops. For safety and predictable navigation behavior I need ABRP to function reliably even when there is no stable outbound internet.
Two concrete feature requests / questions:
Custom local telemetry endpoint
Is there a supported way to make ABRP accept telemetry from a custom local URL (e.g. http://127.0.0.1:8000/1/tlm/leaf) so it uses local telemetry only and never forwards it to the cloud?
If yes: how do I configure that in the app (settings / developer menu / config file)?
Offline / connectivity fallback logic
If a custom local endpoint is not supported, would you consider adding (or enabling via dev/beta) a mode where ABRP:
Prefers local telemetry when available,
Detects loss of cloud connectivity, and keeps using local telemetry until a stable internet link is reestablished, and
Exposes a clear UI notification when the cloud is unreachable (so the driver knows ABRP telemetry (OBD info) is running offline)?
One lightweight way to detect a stale or missing telemetry stream (instead of relying on the cloud) would be to compare odometer or GPS movement with expected telemetry timestamps: if GPS position is changing but telemetry / odometer isn’t updating, or if the device’s upload stops, ABRP can assume the cloud link is down and switch to local-only mode.
Warnings on screen.
Additional technical / compatibility questions:
Does the ABRP Android app perform certificate pinning for api.iternio.com (i.e. would local HTTPS mocks be rejected)? This matters only if the app will not accept a custom HTTP endpoint.
Would ABRP accept telemetry via any local mechanism other than the fixed cloud URL — for example a local TCP/UDP socket, Android intent, content provider, or a file the app can read?
If there is a developer/beta build that supports local telemetry or offline mode for Android-13 boxes, I’d be happy to test it on my CarLinkit.
I can provide:
Example LeafSpy payloads (JSON) and sample logs from the local relay,
Access to the local relay for live debugging (box is on the same network),
Details about the fields I send (SoC, arrival SoC, batt_temp, odometer, GPS timestamp, etc.).
Reason for request (brief): Cloud uploads on the road are often flaky. ABRP could be more robust for in-car deployments (CarLinkit boxes, dedicated devices) by supporting a local telemetry source and a simple offline-fallback rule (use odometer/GPS to detect disconnection and keep using local data).
Thanks for any guidance or pointers. I’m happy to supply sample payloads and logs to help reproduce and test.
- What type of vehicle connection is this?
Log in to comment and vote
No comments yet
Be the first to share your thoughts.