The binding also uses the “does not exist” message for cases when it simply doesn’t have permission to access the device. On my system (raspbian), ls -l /dev/ttyACM0 gives this output:
crw-rw---- 1 root dialout 166, 0 Oct 16 10:18 /dev/ttyACM0
which means that only members of the dialout group can access the device. You can add the openhab user to the dialout group with the command: adduser openhab dialout . After that, you’ll need to restart the OpenHAB service so it’ll see its new group membership.
Had the same issue. You need to add also group ‘tty’ to your openhab user. I added both, dialout and tty to all my Raspberry-Pi users (pi, root, openhab) and then the problem suddenly vanished. Quite annoying that the error message does not really point to the right direction.
Unfortunately there’s no real way around this - it’s the nature of security. When a user doesn’t have access to a folder, or a serial port, or other resources on a system, the operating system tells you it doesn’t exist - not that it exists and you don’t have permission.
That’s not the case. You can most definitely see the serial port’s file and check whether or not you have permissions to access it. If you don’t have permissions for /dev then you can’t see what’s in it.
For some reason I’v also been having this error after rebooting my system on openhabian PI. I wanted to make a SD image for backup and then then all the sensors stayed bloked on their previous value (no visible error in HABpanel until a few days went by and I noticed values stayed constant for all zwave items). Then I restarted the openhab service and the zwave controller could not initialize.
What I did notice in the logs and after switching to HABmin, is that there are duplicate entries for the ports. After switching to the second item in the list, the controller initialized correctly again. (see screenshot). Are there dead entries left over at shutdown that prevent restarting correctly?