Skip to content

fix(ios): scan for both Base and Alt BLE service UUIDs#26

Open
Flo5k5 wants to merge 1 commit intom5stack:mainfrom
Flo5k5:fix/ios-dual-uuid-scan
Open

fix(ios): scan for both Base and Alt BLE service UUIDs#26
Flo5k5 wants to merge 1 commit intom5stack:mainfrom
Flo5k5:fix/ios-dual-uuid-scan

Conversation

@Flo5k5
Copy link
Copy Markdown

@Flo5k5 Flo5k5 commented Apr 22, 2026

The firmware publishes two distinct 128-bit service UUIDs depending on
which mode is active:

  • e2e5e5e0-1234-5678-1234-56789abcdef0 (Base)
    Used by startBleServer() for runtime control (motion, avatar, RGB...)

  • e2e5e5ff-1234-5678-1234-56789abcdef0 (Alt)
    Used by startAppConfigServer() for Wi-Fi provisioning / pairing

iOS scanForPeripherals(withServices:) only returns devices whose adv
payload contains the requested UUIDs, so scanning only the Base UUID
means the app is blind to the device whenever it is in Setup/pairing
mode - which is exactly when the app needs to connect to it.

Add both UUIDs to targetServiceUUIDs so the scan succeeds in either
mode. Observed behaviour before: BLE scan silently matched nothing,
user stays on "device offline" screen forever after scanning the QR.

The firmware publishes two distinct 128-bit service UUIDs depending on
which mode is active:

- e2e5e5e0-1234-5678-1234-56789abcdef0  (Base)
  Used by startBleServer() for runtime control (motion, avatar, RGB...)

- e2e5e5ff-1234-5678-1234-56789abcdef0  (Alt)
  Used by startAppConfigServer() for Wi-Fi provisioning / pairing

iOS scanForPeripherals(withServices:) only returns devices whose adv
payload contains the requested UUIDs, so scanning only the Base UUID
means the app is blind to the device whenever it is in Setup/pairing
mode - which is exactly when the app needs to connect to it.

Add both UUIDs to targetServiceUUIDs so the scan succeeds in either
mode. Observed behaviour before: BLE scan silently matched nothing,
user stays on "device offline" screen forever after scanning the QR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant