Adding device fails during commissioning on Android

Hello all,
First of all, I’m out of ideas and have scoured all Matter, Thread, and commissioning docs and threads I could find with no luck. The most similar one I could find is this one with no replies: IKEA Matter-over-Thread commissioning is mostly failing on HA Green + ZBT-2 (joins Thread, then cant reach device)

I’m trying to add a new Matter-over-Thread device from IKEA using my Android phone. Adding new devices worked 3 days ago as well on the same device when adding an identical device from IKEA. Now, pairing fails on the step “Checking connectivity to Thread network OpenThread-a9fd” which I’m unsure as to what step in the Thread Matter Pairing/Commissioning hints shown graphic correlates to.

Here’s all the info I could think of as relevant to the issue:

  • Thread: OTBR via SLZB-06MU with “Thread+OTBR running on device” mode, has IPv6 enabled

  • HomeAssistant: running matter-server/1.4.0 (matter.js/0.17.9), only a single Thread network set to preferred (“OpenThread-a9fd”) with the SLZB-06MU listed as the single border router.


    IPv6 enabled and set to Auto in the HA settings:

  • Router: Unifi Dream Machine Pro; Gateway mDNS Proxy set to off
    image

  • Network:

    • HomeAssistant server, and OTBR have IPv6 enabled: Network with VLAN 2 for smart devices has dedicated SSID and IPv6 set to Static with fd00:2::/64, SLAAC enabled, Auto DNS Server, RA enabled and set to high
    • Wifi network set to 2.4 GHz only with Multicast limits etc. set to off
  • Device to add: IKEA TIMMERFLOTTE temp/humidity sensor, new, with fully charged batteries, directly next to phone

  • Android device:

    • HTC U11 life
    • Android 10
    • Factory reset then logged into Google Account
    • installed HomeAssistant and logged in + granted all permissions all the time to the app as described in some posts
    • installed Google Home for Matter background components installation trigger
    • synced Thread dataset via Companion app > Troubleshooting > Sync thread credentials > Success
    • Play services are updated manually via Play Store, and all apps are installed and updated using Play Store. It has also been a day since (re)installation of the apps so I assume matter components are installed as it prompts me to set up new devices when they are reset and nearby.

Pairing preparations and process:

  • HomeAssistant, OTBR, and Android device on same Wifi SSID/Subnet/VLAN with no Firewall rules blocking anything within the subnet; Internet access is available on network.
  • Phone has mobile data disabled and only the single SSID saved, no VPN connected or anything
  • Synced thread credentials to phone via Companion app as described above
  • Reset IKEA device by holding down button until LED flashes red and countdown appears
  • Adding device via “half-screen popup” from Android as well as via HA App → Add Matter device fails after running through these screens:
    • “Set up your device; To start set up, scan your device’s QR code” → Scan QR code
    • “Scan the QR code; Make sure that it’s steady and well lit” → Scan matter code on back side of device
    • “Choose an app; …” → Choose other app → Home Assistant
    • “Get ready for setup; Power on your new device (…); Connect your phone to your main 2.4 GHz (…) network” → Tap on “I’m ready”
    • “Searching for device”
    • “Connecting to device”
    • “Generating Matter credentials”
    • “Connecting device to Thread network OpenThread-a9fd” (not sure if this is the right text as screen is only shown for split second)
    • “Checking connectivity to Thread network OpenThread-a9fd”
    • “Can’t reach device; Make sure that your phone is connected to Wi-Fi”

I’d be glad for any advice, tips, or similar experiences that might help me debug this - Thanks a lot!

Probably known bug with Google Android. Pairing to Google Home fails because country code is missing due to a Google bug · Issue #445 · Luligu/matterbridge · GitHub

If you encounter a “Something Went Wrong” screen while commissioning MatterBridge devices in Google Home on Android, it’s due to an Android bug. Android fails to send the country code, which is mandatory under the Matter specification.

Workaround

Alternative 1. Install Google Home on an iPhone and complete the commissioning there. Once set up, the devices will appear and function normally on your Android phone and other Nest devices in your home.

Alternative 2. Commission without a mobile Bluetooth connection and Google Home. Instead let Home Assistant Matter-server use Bluetooth with a local Bluetooth adapter or an active ESPHome Bluetooth proxy (my choice). After commisioning can Google Home use the matter devices without problems.

TL;DR: The direct commissioning worked, but only using the “deprecated” way.

First of all, there is no Google Home device; I’m just installing Google Home to force the install of matter components in the background. Connection is solely to the Open Thread Border Router running on the SLZB-06MU as described above.

iPhone suggestion
As I do not own any iPhones, I can’t attempt this with one.

Direct commissioning
Regarding the commissioning directly via Bluetooth on the HA server; Most threads recommend connecting a bluetooth dongle, leaving it unconfigured, and noting down the ID to configure the matter app with it. This seems deprecated as the option is now specifically listed as such with the BLE proxy option being the new way of doing it.

I have tried this as well: I have both Bluetooth proxies via Shelly Plus Plug S in my home as well as a local USB bluetooth dongle connected to HomeAssistant that I’ve left unconfigured.
Matter and Wifi settings are configured.

  • Set IKEA device to pairing mode / reset by holding down button until countdown appears and LED flashes red.
  • Placed device directly next to USB bluetooth dongle (<1m)

(Note: This did not work! See below for the deprecated second attempt!)





Second attempt: “Deprecated” way - This worked!


Noted down ID (=0) and left device unadded/unconfigured
Set Bluetooth adapter ID in Matter App configuration:

Restarted Matter server as prompted
Same process as above, enter pairing code, wait, DONE!

Great, that is the solution I meant I was using with BLE proxy. I’m using Bluetooth on SMLight SMHUB Nano Mg24 that also works as a Open Thread Border Router, very stable and fast responses with Ikeas Kajplats lights compared to Ikeas Zigbee lights.