I thought I would share my experience (a bit long-winded).
As a note: I only have HA SiLabs Multiprotocol Add-On w. SkyConnect as my Thread Network (I have no other Thread networks).
Comparing to Joe Vanderstelt’s instructions above,
- I first tried the iOS NanoLeaf App and then tried the Android NanoLeaf App. After step #4, in both iOS/Android, it appears the App will first pair the bulb using Bluetooth. Depending on how you navigate, you’ll see the bulb with the Bluetooth icon indicating that Bluetooth is how it is paired.
It then ask if you want to upgrade the firmware which I did (to 3.5.10). - After a while (depending on how you navigate the App), both the iOS and Android NanoLeaf App will show a home-assistant Thread network. When you select the home-assistant network to see what kind of information was found, the iOS App only found the PANid and Extended Address, whereas the Android found this information, PLUS all the other data you need to join a Thread network such as Network Key.
- Once a Thread Network is found, the NanoLeaf App will ask if you want to “Upgrade” the bulb to run on the Thread Network and it gives you a button to tap to do so, and tapping the button the App will attempt to join the bulb to Thread. In the iOS case, this failed, but in the Android case it succeeded (as expected since the iOS is missing Thread data). The bulb will now show that it is connected to Thread (instead of a Bluetooth icon, it will now show a Thread icon).
- (step #7-9) After a while, in the settings for the bulb, the App will provide an information box saying you can “Connect to Matter”, and goes on to say that the bulb first needs to be power cycled off then on. Apparently, power cycling is a means for the bulb to open up a Matter commissioning window. This window seems to open in around 15 seconds and goes away after a few minutes. After power cycling the bulb, this information box in the App changes (if you’re lucky) and provides you with a selection of how to do the Matter pairing, one of which is a link to what looks like the HA Companion App so tap on it. This is used to kick start the HA Matter server into doing commissioning.
- At this point, in my case, things failed. Analyzing the HA logs, what I found was the process actually completed the commissioning phase, but then the Matter Server next attempted to interview the device which is an operational phase, and the interview immediately failed. The Matter Server didn’t keep the node in its device database so now doesn’t think the bulb exists. However the bulb thinks the Matter commissioning is successful and it doesn’t care whether it was interviewed or not so it thinks it is good to go. So next time you power cycle the bulb, the NanoLeaf App will indicate that the bulb is already connected to a Matter ecosystem and doesn’t give you an option to pair the device again. I factory reset the device and retried this in various combinations including only using the HA Android Companion App (and not the NanoLeaf App at all) but still no success.
So I gave up trying to add the NanoLeaf Essentials Bulb using any App. As a fall back, I tried instead to use the Matter Server to do the commissioning without an App. This uses the Matter Server’s Bluetooth capabilities and it uses the Matter Server’s client websocket APIs: to set the Thread Credentials, and then to activate Commission with Code (much like the App does), and this time I was successful at adding the Bulb. Here is a HA Forum Thread on this technique. I’ve written a few Python scripts to do this as well.