A $5 fix for just-out-of-reach Thread devices

I’m a big fan of Home Assistant (as a privacy-preserving and open plaform for managing smart devices and understanding your energy use) and Matter (a cross-platform standard for smart devices), but sometimes their complexity poses too many challenges on just getting devices to work right out of the box. I recently ran across one such issue for getting a Matter door sensor to connect to Home Assistant as I’d intended.

Our backyard clubhouse is the furthest point from our Home Assistant device in the house (which runs our Thread network for Matter). The Aqara door sensor I’d installed out there kept dropping off, and the Thread map in Home Assistant’s Matter Server showed why: the door sensor’s link was a sad shade of orange, a single weak radio hop through several walls and across the yard. The usual advice of “just add more mesh” didn’t help as much as I’d hope, either. Only Thread devices plugged directly into outlets relay traffic (battery sensors never do), and all my Matter smart outlet plugs don’t have a Thread radio at all to help (despite being Matter devices, they use Matter-over-WiFi). I didn’t want to buy one of the several smart outlet plugs from a different manufacturer, as that would complicate any already-too-complicated smart home.

The fix turned out to be a cheap USB-C powered device the size of my thumbnail in the clubhouse, one that reaches the house over Wi-Fi instead of over the air. Espressif’s ESP32-C6 chip has both a Wi-Fi and a Thread radio for a little over $5. The catch: out of the box, that firmware expects a second radio chip, stays off Thread after a power cut, and (the big one) creates its own separate Thread network when it can’t hear yours over the air (which is exactly the situation I wanted to avoid). The missing piece is Thread Radio Encapsulation Link (TREL), which lets Thread run over your home network and which Home Assistant already supports.

After most of a day of trial and error, the C6 now runs off a USB charger in the backyard clubhouse and joins the house’s existing Thread network over Wi-Fi. The door sensor moved over to it minutes after I popped its battery out and back in. I packaged all the fixes and a one-script installer on GitHub to save others the days I went through researching and testing. Your Wi-Fi name and what to call the device are the only settings you edit.

The same $5 board should help anywhere Thread devices sit just past the edge of your mesh: a) a detached garage, barn or workshop, b) a basement or far bedroom behind concrete or plaster, c) rooms full of battery-powered sensors with nothing mains-powered nearby to relay for them, and d) anyone about to buy a HomePod mini or Nest Hub just to extend Thread (those often run their own Thread network, separate from Home Assistant’s). It also means your whole mesh no longer depends on a single border router. If you try it, I’d love to hear how it goes. Issues and pull requests are welcome on the Github repo.



·

Leave a Comment