Matter over Thread unavailable after Apple TV update

I noticed my 3 matter/thread devices became unavailable after I updated my Apple TV 4k. I’ve done multiple reboots/unplugs of HA, ATV, and Nanoleaf light strips. Though I guess I haven’t rebooted the router. The devices work fine in Apple Home (except the Nanoleaf connection is being wonky in Thread v bluetooth connection) Are there any other steps to take before removing/re-pairing to HA?

Not too long ago, the Nanoleaf light strips had a not great firmware update that caused a similar Thread network issue. I had to fully remove the devices from HA and HomeKit and did a factory restore. It was rock solid until yesterday’s ATV update.

If Thread devices are working in Apple Home but not in HA, it would suggest a network issue (e.g. routing or multicast) such that HA can no longer send/see packets to/from the Thread subnet. I’ve found that sometimes rebooting or updating Apple devices will prompt them to choose a new IP address range for your Thread subnet; perhaps something is preventing HA from updating the route.

You can find the IP addresses of your Thread devices using a mDNS discovery app such as Flame for iOS. Then, open a command prompt on your HA server and check the route table (ip -6 route) shows a route to the Thread subnet and ping6 the addresses to check for connectivity (you know you have the right address if the pings stop working when you unplug the device).

Note the first route below is to the same prefix as the Thread address above, and that trace route shows it has to go through a router (Apple TV) in order to reach that subnet.

peter@felix:~$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fd25:bb71:b8c0::/64 proto ra metric 1024 expires 1704sec pref medium
	nexthop via fe80::8a4:4a83:791f:af27 dev vlan.1 weight 1 

peter@felix:~$ ping6 -n 6678CB4E5720629B.local.
PING 6678CB4E5720629B.local (fd25:bb71:b8c0:0:947b:2247:3a43:b29d): 56 data bytes
64 bytes from fd25:bb71:b8c0:0:947b:2247:3a43:b29d: icmp_seq=0 ttl=254 time=31.763 ms
64 bytes from fd25:bb71:b8c0:0:947b:2247:3a43:b29d: icmp_seq=1 ttl=254 time=32.537 ms
64 bytes from fd25:bb71:b8c0:0:947b:2247:3a43:b29d: icmp_seq=2 ttl=254 time=32.477 ms
64 bytes from fd25:bb71:b8c0:0:947b:2247:3a43:b29d: icmp_seq=3 ttl=254 time=31.859 ms
^C

peter@felix:~$ traceroute6 6678CB4E5720629B.local.
traceroute to 6678CB4E5720629B.local (fd25:bb71:b8c0:0:947b:2247:3a43:b29d) from fdc4:4aab:e77f:e44c:b645:6ff:fe5b:9d68, port 33434, from port 47259, 30 hops max, 60 bytes packets
 1  Apple-TV.local (fdc4:4aab:e77f:e44c:81b:8955:4a71:e396)  7.261 ms  6.028 ms  5.794 ms 
 2  fd25:bb71:b8c0:0:947b:2247:3a43:b29d (fd25:bb71:b8c0:0:947b:2247:3a43:b29d)  97.785 ms  33.423 ms  29.239 ms 

Thanks @peterxian! What a great response. Fortunately, I didn’t need to dig that deep. Unfortunately, I had already started the factory reset process on the lights. And that made the issue worse, as I could no longer add the lights to Apple Home.

Similar issue happened a month or more ago. I thought it was a new Nanoleaf firmware issue, but it may have corresponded to a tvOS update. Factory reset lights, was able to add back in to HA through Matter no problem. This time, the lights wouldn’t add back into the Thread network. I found this Apple Support page which had one nugget of troubleshooting:

If your home hub is an Apple TV that’s connected to the internet with an Ethernet cable, connect your Apple TV to Wi-Fi instead. Connect it to the same Wi-Fi network that your iPhone or iPad is on.

As soon as I unplugged the Ethernet I was able to add the lights to Apple Home, and then to HA (via Matter). Hopefully it’s that simple in the future and won’t require the factory reset.