Use skyconnect zbt-1 as OpenThread Border Router on a remote host?

Ok, update time.

I had some time today to work on this, and I think it’s working. I need to get a matter/thread device to test now. (I am planning to try the Schlage smart deadbolt that has matter/thread support, which is the whole reason I went through this).

My process was:

  1. I had to install HAOS on a laptop in order to flash the thread firmware onto the ZBT-1. I PROBABLY could find the firmware on github somewhere and flash it manually (and probably will want to do this for future updates), but I didn’t want to spend a lot of time on that step for the initial testing. So the rest of this is AFTER flashing the thread firmware to the ZBT-1 and then plugging it into the pi.

    1. I also looked at the log files from the official HA OTBR add-on, in order to determine the connection settings to use for the standalone OTBR install on my pi.
  2. I followed these instructions to set up OTBR on the pi. Things I had to adjust/change are below

    1. The ZBT-1 is not detected on /dev/ttyACM0, so I had to edit /etc/default/otbr-agent after install to change the dev path. Instead of spinel+hdlc+uart:///dev/ttyACM0, I changed it to spinel+hdlc+uart:///dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_0c03f204748dec119f3e6ce883c5466d-if00-port0?uart-baudrate=460800&uart-flow-control. (You can find the specific path by simply looking at ls -al /dev/serial/by-id. Because I’m using the by-id path, this will be consistent even if I end up plugging other USB devices into this pi.
    2. The second piece is adding the ?uart-baudrate and uart-flow-control flags as shown above. Without these, otbr-agent didn’t want to connect to the ZBT-1. I got these from looking at the HAOS install’s OTBR logs.
  3. Once I had the above, I was able to complete the initial network setup using the ot-ctl commands under “3. Form a Thread network” in the linked docs.

  4. Once the sudo ot-ctl state command showed that it was a leader, I went to my HA install and added the OTBR integration (not the add-on), and specified the IP address of my pi, with port 8081. http://1.2.3.4:8081 if your PI’s IP was 1.2.3.4.

  5. Then I added the Thread integration, and it auto-detected the OTBR network

  6. Then I added the Matter integration, which also auto-detected everything.

Once I get a thread device and test it, I’ll update this thread again if everything works or doesn’t work.

I didn’t want to install HAOS on the pi, because I already have HAOS on a much more reliable VM host, and don’t want to move everything to a different HA install on less reliable (and less powerful, since I’m playing with the local voice assistants too) hardware.

3 Likes