Another attempt at vehicle location stopping about half an hour after you sign in. Update, then sign in once more.
What the evidence shows
Two sign-in attempts thirty minutes apart, on a build that does not modify the stored sign-in at all:
16:06 login SUCCEEDED
16:36 login FAILED
Same stored sign-in, byte for byte. Only time differs. So the earlier releases that blamed the way cookies were saved were wrong — that was coincidence, and I read it as cause. Apologies for the churn; several of those releases asked you to sign in again for nothing.
What actually happens is simpler: a sign-in works, the live connection keeps working for as long as nothing rebuilds it, and signing in a second time from saved credentials fails once the session has aged out. The portal's own session appears to time out after thirty minutes — which is exactly how often location was being read, so every read arrived just as the session lapsed and could not get back in.
The change
Stop needing the second sign-in. The integration now makes one small request to the portal every fifteen minutes, comfortably inside the timeout, so the session never lapses. Location itself is still read every thirty minutes — this adds around ninety small requests a day, not triple the page loads.
Being straight with you
This is an experiment. If location survives past an hour and overnight, the diagnosis was right. If it still stops after thirty minutes, the timeout is somewhere this change cannot reach, and the honest answer will be to remove location rather than keep asking people for emailed codes. Either way I will say which.
Live vehicle status is unaffected and has been throughout.
What's Changed
- Keep the portal session warm so it never has to sign in twice
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.