home-assistant / home-assistant/iOS

Companion app shows correct local iPhone location history, but server device_tracker remains stale/wrong after 2026.5.x/2026.6.x update

Open
#4,704 15 comments 4 reactions 0 assignees View on GitHub
bug ios
Dominant language
Swift
Stars
2.4k
Forks
520
Avg merge
7h 27m
Merged PRs (30d)
264

Description

## Description

I am seeing a regression on iOS where the Companion app appears to know the correct device location locally, but Home Assistant server-side entities stay stale or wrong.

This started suddenly after recent Companion iOS app updates. The same Home Assistant instance and automation setup worked correctly before.

## What changed

From my Home Assistant backups and current devices:

- Previously working: Companion iOS `2026.4.1`
- Now affected:
- one iPhone on `2026.6.0`
- another iPhone on `2026.5.4`

`webhook_id` and `cloudhook_url` stayed unchanged in Home Assistant storage, so this does not look like a broken device registration.

## Observed behavior

### iPhone / app side
- In the iOS Companion app, `Location History` shows fresh location events.
- Apple Maps / the app's own local map shows the correct current position.
- Location permission is `Always`.
- Precise location is enabled.
- Background refresh is enabled.
- In the app:
- `Location sent = Exact`
- `Sensors sent = All`
- `WebSocket = Connected`

### Home Assistant server side
Home Assistant still receives updates, but the resulting telemetry is wrong or stale.

For example on one device:
- `device_tracker.iphone_de_thibaut = not_home`
- geocoded location remains in `Valenciennes`
- `sensor.iphone_de_thibaut_ssid = Not Connected`
- `sensor.iphone_de_thibaut_connection_type = Cellular`

At the same time, the phone is physically at home and the local iPhone-side map is correct.

On a second iPhone on the same HA instance:
- GPS can still be correct (`home`)
- but network sensors are degraded/inconsistent, e.g. `SSID = Not Connected`

So this looks like a Companion iOS telemetry/update regression rather than a dashboard or HA automation problem.

## Why I believe this is app-side / regression-related

I compared current Home Assistant storage with older backups:

- Before: both devices reported correct GPS + Wi-Fi (`SSID`, `connection_type`) on `2026.4.1`
- After updating to `2026.5.x / 2026.6.x`: behavior became degraded
- Home Assistant still receives fresh updates
- Device registration did not change (`webhook_id` unchanged)
- Sensors are enabled and permissions are correct

I also rolled back my own dashboard/presence YAML changes locally, and the problem persisted unchanged.

## Expected behavior

If the iPhone Companion app has the correct current location locally and is successfully sending updates, then:

- `device_tracker` should reflect that correct location on the server
- `person.*` state and zone automations should update correctly
- `SSID` / `connection_type` should remain coherent when on home Wi-Fi

## Actual behavior

- local app view/history looks correct
- Home Assistant server entity can remain stale or wrong
- automations depending on location/zones stop behaving correctly

## Environment

- Home Assistant server on local self-hosted machine
- iOS Companion app versions observed during the regression:
- `2026.5.4`
- `2026.6.0`
- Previously working version observed in backups:
- `2026.4.1`

## Notes

I can provide additional details/screenshots if needed, including:
- local app `Location History`
- server-side stale `device_tracker`
- before/after backup comparison details

Thanks.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.