home-assistant / home-assistant/iOS

Fresh install of 2026.7.0 never syncs zones (available 0, no monitored regions)

Open
#5,031 3 comments 5 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

**iOS device model, version and app version**

Model Name: iPhone 15 Pro
Software Version: iOS 26.5
App version: 2026.7.0 (2026.2208), App Store version

**Home Assistant Core Version**

Home Assistant OS, Core 2026.4.4

**Describe the bug**

On a fresh App Store installation of 2026.7.0, Home Assistant zones are never synchronized into the app and the app reports zero monitored regions, so zone enter/exit monitoring cannot operate.

The server has two zones (`zone.home`, `zone.sync_test`). After onboarding with all relevant location settings enabled (Always location access / Full accuracy / Background Refresh enabled — see screenshots), the zone list that normally appears below "Update sources" in Settings → Companion App → Location is absent.

The exported log shows the zone sync consistently running with zero zones:

```text
2026-07-10 14:22:49.974 [Info] [main] [ZoneManager.swift:215] sync(zones:) > available 0, enabled true, monitoring 0 ((beacon: 0, circular: 0, zone: 0)), started 0, ended 0
```

Manual location updates and `request_location_update` push commands work correctly, so location acquisition, background execution and connectivity to the server are all functioning.

**To Reproduce**

1. Fully delete the Home Assistant app and its data.
2. Install 2026.7.0 (2026.2208) from the App Store.
3. Connect to the Home Assistant server.
4. Select "Share my location".
5. Grant Always location access with Precise Location enabled.
6. Allow Local Network access and notifications.
7. Select "Most secure: Allow this app to know when you're home".
8. Leave the app open in the foreground for at least 60 seconds.
9. Open Settings → Companion App → Location: no zone list is shown.

**Expected behavior**

The app synchronizes the zones from the connected server and registers the corresponding monitored geofences.

**Screenshots**

1: Template editor on the server showing both zones exist (`zone.home`, `zone.sync_test`).
Image
2: Settings → Companion App → Location taken **while broken**: all sources enabled, but no zone list below "Update sources".
Image
3: About screen showing 2026.7.0 (2026.2208).
Image

**Additional context**

- Single server configured. The server is reached via a plain-HTTP URL on the local network; the reproduction occurred while directly on the home LAN, so no VPN is involved in the repro path.
- Toggling "Zone enter/exit" off and on did not help. Neither did rebooting the device.
- Recovery experiment (which also works as a workaround):
1. Installed TestFlight 2026.4.1 (2026.1904); it entered a crash loop before showing a database recovery dialog.
2. Installed TestFlight 2026.5.0 (2026.1984), which offered "Delete Database & Quit App".
3. After deleting the database and re-onboarding on 2026.5.0, both zones appeared and were registered for monitoring:

```text
2026-07-10 14:43:37.533 [Info] > Home Assistant Version: 2026.5.0 Build: 2026.1984 PID: 5608
2026-07-10 14:43:37.992 [Info] [main] [ZoneManager.swift:215] sync(zones:) > available 2, enabled true, monitoring 2 ((beacon: 0, circular: 2, zone: 2)), started 2, ended 0
2026-07-10 14:43:37.993 [Info] [main] [ZoneManager.swift:87] log(state:) > didStartMonitoring(CLCircularRegion (identifier:'/zone.home', center:, radius:250.00m))
```

4. Updated that same installation back to App Store 2026.7.0 without deleting its data. The zones remained present and monitored:

```text
2026-07-10 14:47:30.426 [Info] > Home Assistant Version: 2026.7.0 Build: 2026.2208 PID: 5624
2026-07-10 14:47:30.507 [Info] [main] [ZoneManager.swift:215] sync(zones:) > available 2, enabled true, monitoring 2 ((beacon: 0, circular: 2, zone: 2)), started 0, ended 0
```

This is consistent with a problem in the zone subscription / local DB bootstrap on a fresh 2026.7.0 install, since a database created by 2026.5.0 continues to work under the same 2026.7.0 build.

Contributor guide

Open the contributing guide

Research direction

Reproduce the fresh-install flow on iOS 26.5 with App Store build 2026.7.0 and inspect ZoneManager.swift:215, where sync(zones:) reports zero available zones. Compare this with the working 2026.5.0 database and upgraded 2026.7.0 installation, focusing on zone subscription and local database bootstrap. Done means both server zones appear in Settings and the logs show them registered for monitoring.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.