Help with lock connection issues

I have two smart locks in my house, both Schlage, one is z-wave and one is zigbee. I have 3 smartthings hubs throughout the house with each lock having a hub within 20 feet. This has worked just fine forever. I have an automation on my Home Assistant RPi that automatically locks each after a set period of time being unlocked. I have alerts sent to my phone via pushover after either lock remains unlocked 5 minutes beyond the expected lock time and then it retries to lock them every minute until it tries 20 tries, then it just reboots the home assistant RPi. Until last week, it very rarely got to the reboot phase.

Fast forward, the Zigbee lock is working fine. The Z-wave lock is not. Almost 100% of the time it fails to relock after the 5-minute timer and almost 100% of the time it gets to the reboot phase. The kicker is this, when home assistant reboots, it relocks everything perfectly as I have it set to automatically check if the locks are unlocked and lock them on reboot, then it goes back to being unable to relock just the z-wave lock. If I try and unlock it using the smartthings app, I do get an error that says “a network or server error occurred. Try again later.” If I try and unlock it through the home assistant app, it just flips to “locked” and I get the spinning dial for a little bit, and it just reverts to unlocked.

I have made no changes to configuration/automation and the only updates I have made are the system updates and I don’t believe that I made any updates immediately before this started. I have tried disconnecting some of the smartthings hubs thinking it was pinging the wrong hub, and that isn’t it either. I have replaced batteries. I have rebooted networks. I have made sure firmware is up to date on the hubs. I have tried about everything that I know. I thought maybe the lock is dying, but that wouldn’t explain why it relocks fine when home assistant reboots and all of the smartthings hubs are reporting they are healthy.

I’m at my wits end on this one. Any help would be greatly appreciated.

I see two potential issues here:

1) Multiple SmartThings hubs
Using 3 hubs in the same house fragments what could be a strong Z-Wave mesh into 3 weaker ones. That means fewer repeaters per network, worse routing, and more dropped commands.

Z-Wave relies heavily on neighbor nodes and stable routing, so this can significantly impact reliability. This is especially true for locks, as they are often asleep and use secure communication, which requires more back-and-forth (tighter timing) and is less tolerant of dropped packets. On a weak network, locks are usually the first devices to show issues. When a lock command is dropped, the action simply fails (as opposed to something like a light, where retries are more forgiving). This is by design for security reasons.

2) Cloud dependency
SmartThings is cloud-based, and Home Assistant communicates with it through the cloud. This adds latency and potential points of failure, such as connection issues, API hiccups, or expired tokens, which can cause commands to fail or behave inconsistently.

Honestly, I would consider moving away from SmartThings hubs and using a dedicated local Z-Wave controller instead. For example, a USB stick connected directly to your Home Assistant server running Z-Wave JS UI.

Same principle applies for Zigbee, would use a dedicated and local zigbee dongle.

For reference, I’ve been using a Z-Wave Schlage lock (BE469ZP) for about 10 years without any issues.