Solved: Nanoleaf Essentials NL45 (HomeKit over Thread) → Home Assistant

I spent hours trying to migrate my Nanoleaf Essentials NL45 (firmware 3.0.2) from Apple Home to Home Assistant. I kept getting errors like:

  • "This accessory is already paired to another device"
  • "Invalid flow specified"
  • Transaction 0 failed with error 6 (Invalid request)

###What didn't work:

  • Removing the bulb from Apple Home without factory resetting it.
  • Factory resetting the bulb without using a BLE proxy.
  • Using only the HomeKit Device integration.
  • Pairing without an ESP32 BLE Proxy.

What finally worked:

  1. Set up an ESP32 Bluetooth Proxy in Home Assistant (ESPHome).
  2. Factory reset the bulb until it blinks red three times.
  3. Wait for Home Assistant to discover it through the HomeKit Device integration.
  4. Pair it using the HomeKit code.
  5. Open the device and press Provision Preferred Thread Credentials
  6. Wait about a minute until Thread Status changes to child and after to router.

After that the bulb switched to Thread and became almost instant to control.

Hopefully this helps someone else!