HomeKit compatible Thread Border Router other than HomePod Mini

Started by PBA


I've just bought 6 Essential light bulbs - they're fantastic. Bluetooth - not so much.

I'm a HomeKit user, but I won't be buying HomePod mini's, as I'm heavily invested in another smart home speaker ecosystem (Sonos).

I've tried the OpenThread Border Router, but there seems to be some Bluetooth magic going on that OTBR doesn't know about.

I really want a HomeKit compatible Thread Border Router that is plug and play. Some options would be:

  • Nanoleaf HomeKit Border Router that plugs into a wall socket. Low cost enough so I can sprinkle them about the house to extend coverage if needed.
  • HomeKit Border router built into another, "always on" Nanoleaf product, such as your upcoming light switch.

Some wilder ideas:

  • Contribute to or Fork OTBR project for Raspberry Pi, and add HomeKit commissioning features. (Not really plug and play, but I'm technical enough to live with this for now.)
  • Work with Sonos to get HomePod Mini-like Thread BR features into their product (especially if it can be done in software only)


Agreed. I just built an OTBR compliant router but can’t for the life of me figure out how to join a Nanoleaf device to it. Would love to not be tied to a HomePod just to use Thread. It does have a compliant Bluetooth module, but I need information like it’s IEEE EUI-64 or that in a QR code or something to be able to get the router to scan for the device.


Echoing the above, I'm very interested in the Thread capabilities of the new Nanoleaf hardware, but wondering if it is really Thread, or they just happen to use Thread plus some magic bits specific to HomeKit / HomePod mini.

1) Is there any official word whether it will be possible to control "Thread-capable" Nanoleaf lights using something other than HomePod mini, or are they only with certain "certified" border routers? (in which case what's the point of the Thread standard…)
2) In this new world order where Nanoleaf uses Thread to communicate with (hopefully any) Thread border routers, does this mean there will be some published set of commands? I'm hoping developers can use Thread to exercise the full gamut of capabilities like the Nanoleaf API, and not some limited set (or limited throughput), or channeled exclusively through HomeKit.
3) Can a developer actually direct Thread commands to a light via the HomePod mini (configured as a Thread border router), or is that just an implementation detail between the HomePod mini and the light, but HomeKit is the only way to "speak" to the light?


+1. I don't like that I have to wait a few seconds for my phone to connect my LED strip each time I want to change something. I got a thread dongle and set up a Border Router. I was disappointed to find out that I can't add the LED strip to the thread network.


Would also like some information on this - I'm keen to develop an integration for home assistant to support thread devices including nanoleaf essentials in particular

Josh N

Thanks for all the valuable feedback and suggestions! This has been noted and will be sent to over to our team for them to look into so we can enhance and improve our experience for the future!


I don't think *Josh.N post is very credible…

Also echoing a lot of (if not all) comments past and present.
It would be nice if we could just utilize the thread enabled essentials bulbs as FED's within our networks to start with… seeing as one of the key marketing points is that it plays well with all other devices running thread stack.
Could it not be a quick addition to the device info field on the nanoleaf app? To at least display EUI64 info and (I may be pushing it) but its current thread config.
Guessing the current 'compatible' thread boarder routers utilize bluetooth to do some wizardry in joining it to its thread network.


With the current essentials bulbs being confirmed as not supporting Matter, are there any plans to open up thread integration to any devices other than what's currently on the market?

I've been trying to get my Essentials bulbs and light strip to provision to an OpenThread Border Router but have had zero luck getting them to actually do anything as the app does not show any active thread network, and trying to pair them with a python based HomeKit controller over BLE has also been largely unsuccessful.

It would be nice if there was any information at all as to what the bulbs need for thread support (such as whether they support Thread 1.1/1.2/1.3/or some other nonpublic version?), or if any information could be exposed to use an OpenThread (or any other thread) commissioner.


If you replying to me, I'm already using an nRF52840 dongle for thread, I can see the thread network using a sniffer or the actual thread app, but the nanoleaf app never shows any thread network.

Gary Funk

I take it that you were one of the first members of this forum.

Your complaint is the same as mine and others. The Nanoleaf Thread Border Router is useless if the devices can't be controlled without having to use an Internet based device. The current implementation is anything but Open.

A Router of any kind should be able to join another network and other devices should be able to join the Router. I'm going to follow your lead and I'd like to know more about your hardware and software.

Best regards,


@"Gary Funk"
I only joined the forum recently but have been tinkering with tech for a long time, I'm mainly using home assistant and have been wanting to integrate nanoleaf bulbs without having to buy a homepod or nanoleaf controller but I don't think I have much choice.

I just have a few NRF52840 dongles I've been tinkering with, using one as a co-processor for an openthread border router running on my server, and 2 more as testers/sniffers. I can use NRF Connect app to view BLE GATT characteristics, but none of it is labeled, I also used wireshark with an NRF52840 dongle programmed to BLE sniffer to see if I can suss out how the nanoleaf app pairs and controls the bulbs, or how google home setup works, but I don't have enough skill or knowledge to make much headway.

If you have a supported border router you can look into this thread for control: https://community.home-assistant.io/t/homekit-accessory-protocol-hap-over-coap-udp-was-nanoleaf-essentials-bulb-via-thread-coap/335167/92

I tried to pair it through BLE to a couple of python homekit controllers but neither gave me much luck. ( https://github.com/jlusiardi/homekit_python and https://github.com/Apollon77/hap-controller-node )

I may try to do some more BLE tinkering when I have some time and feel like bashing my head against a wall. I have a feeling the homekit support is what locks out matter support since homekit is a different protocol from Matter, and while apple is going to eventually support Matter, I doubt Apple is going to do the work to make Homekit bidirectional with Matter, likely only allowing Matter devices to be added to and controlled from Homekit but not vice versa.


This post looks stale but I was wondering if anyone had made any headway? I have an nrf82540 Dongle and I cannot get it to connect to an existing Thread network because of security/credentials (PAN ID, Master Network Key, etc.) and was wondering if anyone had any insight?


As an update, I was able to pair the bulbs to home assistant via Homekit controller using a shapes kit as a border router and control works fairly well, though you may run into issues using an iPhone or if you already paired the essentials to homekit as they only have 1 admin slot. If so you'll need to factory reset and find another way to get them synced (in my case android app)
There may be other workarounds in the future once they figure out how to trigger thread pairing via BLE.

I then installed a thread border router addon in home assistant with an nrf52840 w/ rcp image flashed, and I was able to join that to the nanoleaf thread network and control of the essentials still worked even if the shapes was unplugged, albeit now only home assistant can connect to the bulbs via thread.

It seems that unless I have the bulbs going through a nanoleaf border, the app is not able to find them and defaults to BLE.

Once all this was done control via thread is pretty reliable, such a shame that they don't have more open support, like being able to specify your own thread network, as it works waaaay faster and better than BLE.


Another update, home assistant now has built in Ble and thread support for essentials, which is great as it can even commission them to the preferred thread network you set within home assistant.

But now I'm having a different issue with the matter bulbs of which I bought 3. I use the thread and matter server add-ons in home assistant, and was able to successfully pair one matter bulb to Google home as it picked up the correct thread network. After this I realized I was running an old version and my thread network was working on the default otbr settings, so I updated, home assistant then was able to create a new network with unique keys and id's, I was able to reset my home kit bulbs, pair them again to HA, and commission them to the correct thread network, and that works great, they even show up in the nanoleaf app when I go to look at the thread network.

Only problem is that now I can't get any of the matter bulbs to pair to thread, and I believe it's somehow holding onto the old thread credentials as after I attempt to join the bulb to thread I can see the old thread network greyed out in the nanoleaf app thread network view with nothing in it.

Now what I don't know is if the issue is the nanoleaf app, Google home/Android, or home assistant.
I'm thinking it's either nanoleaf or Google home as an mdns browser shows all the correct thread information under meshcop, I've tried clearing data of all 3 apps on my phone with no luck.

I just wish y'all would actually add a god damn custom option for thread network so we can enter it manually if needed.

You can see some more details and pictures here https://community.home-assistant.io/t/matter-trying-to-connect-nanoleaf-bulb-to-wrong-thread-network/567448


Thread credentials are stored via Google Play Services.
You will have to reset the bulbs and remove them from the apps and start over again.

Before any of that will work you will need a hub which is sadly vendor locked. Google Home will not create a proper Thread network without it.


ok, sorry to write here, because I only understand just half of it. I have a AppleTV 4K, and also Nanoleaf shapes. In the Nano App, its show the Shapes as main Border router and the AppleTV as external Border Router. That worked well.
But when I'm away from home, I can not controll the Nanoleaf products anymore. Is that not what the shapes are for? Also if I try to use a Matter bulb on the Aquara G3 Hub, I have no access to the bulps or anything Nanoleaf. I was so hoping that Matter/Thread brings more compatibility, between the switches, but it seems not the case.
The fun thing is that the video stream and other functions, I'm also not seeing from the outside, even of that cam has a own Matter compatible hub. I guess thats Apple that kind of demands us to buy at lease a Speaker mini, to run Homekit stable. I'm afraid to use a Raspy 4 to integrate into Homekit, because then it goes fastly to try and error again. I have seen comments and vids on Youtube, where people are not so happpy after all with Raspy as a hub.