JLR InControl v1.5.0-beta.6
Pre-releaseSign in again after updating if location has stopped for you — Settings › Devices & Services › Jaguar Land Rover InControl › ⋮ › Reconfigure. If location is currently working, just update and restart; your session is saved and resumed.
Back to a 4-minute keep-alive
beta.5 raised the keep-alive from 4 minutes to 8, to find out how infrequently we could get away with touching JLR's servers. That was a mistake and it is reverted.
What happened: a session held for 11 hours on the 4-minute touch. The same session, moved to 8 minutes, was lost 3 hours later — a successful location read, then dead twelve minutes after it. Meanwhile a second account left on 4 minutes passed 21 hours on a single sign-in and was still going.
Two runs is not proof, and I am not claiming to have measured the timeout. But the saving was seven requests an hour and the cost of being wrong is you going to find an emailed code. Four it is.
The rest is instrumentation
Both of this weekend's failures took a day each to understand, and neither needed to.
A portal session now records when it was created — saved alongside the session itself, so its age survives a restart — and every successful keep-alive and every successful location read logs it:
portal keep-alive ok, session 6h14m old
owner portal read ok, session 6h44m old
Age is what separates the two ways one of these sessions dies: idled out because we touched it too slowly, or expired because the far end was only ever going to keep it so long. At the moment of failure those look identical, and piecing the age together afterwards from scattered log timestamps is what cost the time.
A successful keep-alive also used to log nothing at all, which made it indistinguishable from a timer that never fired. That gap is precisely why "was 8 minutes too slow, or did the session die of old age?" could not be answered from a full day of logs.
If you hit a sign-in prompt on this version, the last few session … old lines before it are the whole diagnosis. They are debug-level — enable debug logging on the integration if you want them.
Live vehicle status over the telemetry websocket is unaffected by any of this.
What's Changed
- Measure the portal session's age, and go back to four minutes
- Keep the changelog right when a release is re-run
Installation
HACS (recommended)
Add https://github.com/willbeeching/ha-jlr-incontrol as a custom repository (category Integration), install, and restart Home Assistant.
Manual
Download jlr_incontrol.zip, extract into config/custom_components/, and restart Home Assistant.