i had mesh issues whenever my devices got added with S0 security. Only after removing them did the mesh work flawlessly.
The issue was how to remove S0. It involved installation of simplicity studio and vigorous steps to get it right. Sometimes even if the steps were right, it didn't work, and other times it worked instantly. Very hit and miss.
Luckily I was able to resolve that for all my client devices after a lot of time spent. In that thread it was mentioned that this is not hubitat but a silabs issue. That it's out of hubitat's hands.
But just recently I got home assistant and during zwave inclusion it gives me option to add clients without security.
i see those options before the device is even detected. So I can force unsecure (no S0) from the start. I don't need to dance with simplicity studio. So that's a nice addition that home assistant has.
Nothing against hubitat, i love it. It's still the core of my home automation. I just wish hubitat would implement something like this too. Would save alot of time spent on simplicity (more like complicated) studio.
I think the limitation may be on the Z Wave Zip gateway that Hubitat was using back then whereas Home Assistant uses the Z Wave JS that Hubitat has now implemented on the C8 Pro.
C8 Pro users would be able to add those older Z Wave 500 devices without security using Z Wave JS. Iām still on a C8 so Iām stuck with the older stack and would still have to use a stick paired as a secondary controller to achieve it.
The limitation was indeed Z/IP Gateway, as mentioned above, as it simply didn't support control over this (if the device offered S0 only; S2 does allow choice). AFAIK, Home Assistant has historically used Open Z-Wave or now Z-Wave JS.
This is possible on Z-Wave JS. It's been a while since I've included an S0 device, and can only think of one or maybe two I have. Have you tried on a hub running Z-Wave JS to see what happens? I don't specifically remember if the UI was updated to allow this flow, but if you're on JS, it's worth a try. If you aren't, it's a limitation of the now-deprecated official SDK Hubitat was using.
Note also that you can't "remove" S0 (or any security); it's decided for the Z-Wave node at the time of inclusion.