# [SOLVED] U200 Matter commissioning to Apple HomeKit via M3 Hub fails with JSON Parse error – App reinstall fixes it

Setup

  • Aqara Home App: v6.1.1 (iOS)
  • Hub M3 Firmware: v4.5.40_0019
  • Smart Lock U200 Firmware: v3.0.0_0085
  • iPhone running iOS 26.2.1

Problem

After binding the U200 to the M3 Hub, I attempted to commission it via Matter to Apple HomeKit (U200 settings → Matter → Apple Home → Connect). The app crashed every time with this error:

Error Domain=RCTErrorDomain Code=0 “Unhandled JS Exception: SyntaxError: JSON Parse error: Unexpected identifier ‘object’”

The crash occurred in the React Native layer (ios_base/base.bundle, line 415976) and was 100% reproducible.

Important clarification from Aqara Support: The U200 is a Thread device and is not added as a “child device” of the M3. Instead, it is bound to the M3 via the Matter Controller function. This distinction matters when following guides or forum posts.

What I tried (did NOT fix it)

  • Full factory reset of the U200 (Lock + Confirm buttons → admin verification)
  • Matter ecosystem reset on the U200
  • Removing U200 from iPhone Bluetooth settings
  • Removing U200 from iPhone Matter settings (Settings → Apps → Home → Matter Devices)
  • Deleting and recreating the Thread network on the M3 Hub
  • Verifying IPv6 and mDNS network configuration (FritzBox, AdGuard Home, Unbound) – all fine, not the issue

What FIXED it

Completely uninstalling and reinstalling the Aqara Home App.

That’s it. After reinstalling the app and logging back in (all devices reappeared automatically), the Matter commissioning to Apple HomeKit worked on the first attempt. The app’s local cache had become corrupted, causing the JSON parse crash during the Matter commissioning flow.

Working step-by-step workflow

  1. Add the U200 to the Aqara App via the M3 Hub (Hub page → add device)
  2. The U200 is now bound to the M3 and fully functional within the Aqara ecosystem (remote access, fingerprints, codes, automations)
  3. Go to U200 settings → Matter → Apple Home → Connect
  4. Follow the in-app assistant (no manual Matter code entry was required)
  5. The U200 appears in Apple HomeKit
  6. For Home Assistant: Use Matter multi-admin sharing from Apple Home

Key takeaways

  • If Matter commissioning crashes with a JSON/React Native error → reinstall the Aqara App before trying anything else
  • The U200 is bound to the M3 via Matter Controller, not as a child device – don’t look for “child device” options
  • IPv6 and mDNS network configuration is rarely the issue – Matter/Thread uses local multicast discovery that bypasses your DNS stack
  • A full factory reset of the U200 is not necessary to fix this – it’s an app-side problem

Hope this saves someone else a few hours of frustration!

3 Likes

Thanks for the helpful tips!

Great analysis! That’s actually awesome you found the solution and decided to describe it for others. Bugs like this are almost impossible to detect during development, because as a developer you reinstall the app a few times a day.
:yoasuub01k22zbuobq6we2_55320: