ONVIS S4 smart plugs don't fully join my Thread network

I have an odd situation with some new ONVIS S4 smart plugs. My Home Assistant Matter Server is claims that these devices are not present on my Thread network, even though it can control them in the expected way.

Furthermore, these devices don’t seem to be performing their role as repeaters. They seem to be acting as end devices.

Here’s how I installed them:
I used the Home Assistant app to add the devices to my existing Thread network. That was quick and easy.

But once they were added, they all ended up in an odd situation. My Matter server sees the devices. It can control them remotely to switch them on and off. Home Assistant can see information about firmware version.

The basic device information that it displays is correct.

But Home Assistant reports bogus information about the Thread network connection for these devices. It claims that these devices are not connected to my Thread network. The thread topology graph displays these devices as isolated islands not linked to my Thread Border Router.

Here’s how Home Assistant’s Matter server lists these devices:

DEVICE INFO
Name: S4 (CPOV092602003048)
Vendor: Onvis
Product: S4
Serial: CPOV092602003048
Network: Thread
Status: Online

THREAD NETWORK
Role: Unknown   <---- Should be Thread Repeater
Extended Address: 421E2B7AFE405FE8
Direct neighbors: 0  <----- Probably should be nonzero

And here’s how Home Assistant’s Devices page lists this same device:

Node ID: 36
Network type: Thread
Device type: Unknown   <---- Should be Thread Repeater
Network name: �W>�ճ�=
MAC address: 32:b5:61:56:ff:cc:bc:1f
IP address(es): fd09:a8a3:f29:1:a58:4c49:60b8:a1a7

My Thread border router is a SkyConnect. Home Assistant is running the Open Home Foundation Matter Server.

The S4 devices all have the newest firmware v1.4.

I see other postings from folks who don’t seem to have this problem, so I wonder if anybody has any clues about why my situation is different. Thanks!

Onvis did not include the optional threadnetworkdiagnostics cluster in the latest 1.4 firmware to report back its routing table or nearest neighbors.

In the new Matterjs Server dashboard thread graph/map they will also appear to be completely separate, unless another matter device with the thread network diagnostic cluster reports them back from their routing table.

@vesalius - This is interesting and helpful; it explains why the S4 devices appear as unconnected islands in the Matter Thread graph. The greater problem remains, though – my S4 devices won’t act as repeaters for any of the devices near them. I have some IKEA TIMMERFLOTE battery-powered sensors that are too far away to communicate directly with my Thread border router. These devices are closer to my S4 devices, but don’t ever use them to relay their signal. I suspect that the problem lies with the S4 devices, not the sensors themselves.

Thread can be a bit of a Black box and reporting tools are just coming online to give insight into our thread network architecture. Plugging the S4 in will not immediately result in a sleepy end device (the timmerflote) jumping ship from a currently connected thread router. S4 can and will work as thread routers, but thread routers and/or end devices can be sticky to preexisting connections/routes.

For best chance to optimize the thread network and Matter fabric architecture you likely need to be using the latest Matterjs Server beta (0.5.7) and the latest OTBR beta (Thread 1.4) with ZBT-1 (skyconnect) on latest firmware.

@vesalius - Thanks for your helpful comments. Yes, Matter is something of a black box. I’m fairly comfortable with low-level networking tools, but I imagine that the the current state of things can be pretty daunting to users who are less technical.

It’s been more than 14 days since my S4 devices have been online, and my TIMMERFLOTE hasn’t connected through any of them yet. I don’t think it’s ever going to happen. I also tried removing/reinstalling the TIMMERFLOTE batteries, but that didn’t help.

I definitely want to have all my HA and Matter firmware up-to-date. I think that it is; I don’t find any available updates.

For the record, here’s what I currently have:
Home Assistant Matter WebSocket Server:

-----------------------------------------------------------
Add-on: Matter Server
Matter WebSocket Server for Home Assistant Matter support.
-----------------------------------------------------------
Add-on version: 8.3.0
You are running the latest version of this add-on.
System: Home Assistant OS 17.1 (amd64 / qemux86-64)
Home Assistant Core: 2026.3.1
Home Assistant Supervisor: 2026.02.3
----------------------------------------------------------

OpenThread Border Router: Current version: 2.16.5

I believe that my ZBT-1 has the latest firmware. I know that it was up-to-date when I flashed it a month ago. I can’t figure out how to get the current firmware version number, but I haven’t seen any updates since then.

(While I was collecting this version information, I realized how difficult that actually is. The version information is sometimes hidden in out-of-the way places or in log files, and in a few cases I wasn’t able to find it at all.)

At this point, I still suspect that there’s something slightly buggy about S4 devices acting as routers. Maybe older devices route if they are configured before being upgraded to version 1.4. But my devices were delivered with version 1.4, and I haven’t been able to get them to do any Thread routing so far. I’m going to try some more experiments with factory reset, re-flashing, etc.

I really do appreciate your help. Suggestions welcome!

UPDATE 2026-03-24 - After much experimenting with device resets and reconfiguration, I was able to get an IKEA TIMMERFLOTTE to route through an S4.

It took quite a bit of fiddling. I had to reset the S4, join it to my Thread network, then move it to network Siberia at the far end of the house where it was barely able to communicate with my Thread border router. Then while out in Siberia, I provisioned a new TIMMERFLOTTE while it was within inches of the S4. This TIMMERFLOTTE joined the Thread network using the S4 as a router.

Annoyingly, my other Thread devices in that area won’t use that S4 as their router. They’d stubbornly rather lose signal with the distant border router and fall offline rather than connect through the nearby S4.

My Thread devices seem extremely “sticky”; they just don’t want to consider using any router other than the one that they first connected to.