OK, thanks to your hint and in fact what Brian said initially I think I’ve solved this.
The hardware list simply gives /dev/ttyACM0, it doesn’t show my /dev/zwaveusbstick alias. I think this shows that hassio installed via this method doesn’t get these aliases passed through. It’s possible to map it when you’re using HA Docker, but there’s no way to map it with the hassio install. It’s not satisfactory though because the ACM0 label can change.
I also noticed a single entry in the serial/by-id heirarchy which, if it hadn’t been for Brian’s reply, I wouldn’t have known what it was. This was indeed a link to ACM0, so I could use that I thought.
However, my Z-Wave integration had already been set up with /dev/zwaveusbstick and I couldn’t work out how to change it. I tried putting a corrected zwave entry in configuration.yaml and restarted HA but it still didn’t work. I thought I’d then try to remove the Z-Wave integration in order to start again, but I couldn’t find a way to do that.
In searching though the forums for hitns on how to remove the integration, I cam across a thread about people having problems deleting obsolete and orphaned nodes and renaming them, and the only way to do it was hack the “registry” in homeassistant/.storage. So I had a look there and there was indeed an entry for /dev/zwaveusbstick, so I edited that to the serial/by-id path, restarted HA, and it’s now worked. I’ve got the ZWave stick recognised.
I have to say that the documentation, while I recognise a lot of hard work has gone into it, is still unclear, confusing and contradictory with regard to the different ways of installing HAS and what it is possible to do in each method. There is even advice on how to create static device names, which is indeed what I followed in order to create /dev/zwaveusbstick, but obviously this doesn’t actually work in generic hassio install. I’ve been down several other rabbit holes in the last 4 weeks too, as a newbie trying to get HA installed, and following guides in the documentation that simply don’t work, then trashing the installation and starting again with a new method and on another computer to see if other things works. Basically, my conclusion is that HA is designed first and foremost if you’re using a NUC or a Pi as an appliance, and other methods of installation on other OS’s are littered with pitfalls and limitations. I’ve also discovered that the built-in Pico TTS integration doesn’t work with the docker methods.
I’ve now got one PC set up with a docker implementation of HAS and another with the generic hassio install, and wondering which one I should settle on for my proper system, which one has fewer limitations and disadvantages, and wondering which of the other integrations that I might want to use in the future won’t work in one or the other.