Yes that’s definitely true, so it won’t be an exact “apples to apples” compare to your install. Just thought there could be some ideas there that might help.
I don’t run synology myself, and I run Home Assistant container without the supervisor, for the reasons I mentioned here - The benefits of docker / core / rasp - #4 by mwav3. I think the issues with Synology though are on USB pass through with either a docker container or VM. Hopefully someone more familiar with synology can chime in if there are any other potentially “easier” fixes.
If you run Home Assistant on a VM, your USB has to pass through multiple “layers”. If you run a supervised Home Assistant install, that still uses docker, the supervisor is just managing all the docker containers (Core and addons) in the background for you so you don’t have to know anything about how docker works, but its still there. Its like older versions of windows that ran on DOS - DOS was still there the user just didn’t have to type in all the commands on the command line anymore.
But that creates an additional failure point. Your zstick now has to pass through all these layers:
HostOS(Synology) → Home Assistant VM → Home Assistant OS running in VM → ZwaveJS running in docker on the Home Assistant OS running in the VM
Throw in the quirks of synology, and it can make it that much more difficult. Its not the way I would do it, as a failure at any point will result in the failure to open the serial port error you have above and bring down the zwave network, but many seem to run it this way just fine with no issues. I just run zwavejs2mqtt in docker, and the host OS is Ubuntu and I haven’t had any issues with my zstick mapping.
I wouldn’t if you could avoid it. If you are familiar with docker and can install Home Assistant container, and the docker version of the addons you are using, I personally think that is the way to go as it gives you more control over everything and is more efficient. Docker alone will use less resources then running the docker environment a supervised Home Assistant install needs inside of a VM. Supervised in a VM is definitely easier though - so more people tend to go this route, and resources shouldn’t be too much of a concern as a synology NAS should be powerful enough to run it either way.
If you just run Home Assistant container, then you have to install zwavejs2mqtt in another docker container to get zwave, as you lose the addon store running Home Assistant container. Its tougher to setup, but at least now you are just passing the zstick through docker and eliminating one of the potential failure points.
Another option you can consider is you can keep your Home Assistant supervised install, and instead of using the zwavejs addon, try installing zwavejs2mqtt right on docker in the Synology (not in the VM). Here’s the install instructions for putting up zwavejs2mqtt in docker
https://zwave-js.github.io/zwavejs2mqtt/#/getting-started/docker