Cant change ZWave USB Port?

Hey there,

I have a problem with my zwave setup. Every since moving to a Ubuntu install with docker and hassio, it is very unreliable. Sometimes i works after HA restart, sometimes it doesn til i restart again. While trying to get behind this problem, I realized, that somehow HA is ignoring my zwave-configuration for USB port.

Usually, my zwave usb stick is seen as ttyACM1. I tried mapping it by vendor/deviceid to ttyACM-zwave and put that into my configuration.yaml. After a reboot, I can see it with ls /dev. But in the Zwave-Log i could see, that HA was still looking for ttyACM1. So i unplugged and replugged the stick, it now became ttyACM2. Restarted HA and got the following error:

2019-03-05 21:58:19 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Z-Wave (import from configuration.yaml) for zwave
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/openzwave/option.py", line 78, in __init__
    raise ZWaveException(u"Can't find device %s : %s" % (device, traceback.format_exception(*sys.exc_info())))
openzwave.object.ZWaveException: "Zwave Generic Exception : Can't find device /dev/ttyACM1 : ['NoneType: None\\n']"

So HA is still looking for ACM1, huh? I then changed my config to

zwave:
  usb_path: /dev/ttyACM2

Restarted HA, same error message! I checked the ZWave files in the HA folder, none contains the word ACM. I dont know where it gets/saves this info as I cannot seem to overwrite it.

Anyone else experiencing this? Any ideas? Thanks!

Try rebooting the system? Perhaps there is some running process that is hung trying to access the incorrect path.

Did you initially configure zwave from configuration.yaml or from the Lovelace UI? You must change it where you initially configured it.

Unfortunately, it is even ignoring my changes after a reboot.

I configured it way before lovelace was born and used this stick/installation on a Pi before moving to this new server. I had to switch from ACM0 to ACM1 on the new server, so it must have accepted the change at some point…

This is so frustrating, right now after reboot I again have my stick and 1 node ready, the others are dead, gotty cycle through a few restarts til all of them are there (and they stay alive with no problems once they are there…)

look for the usb path that is contained in your /.storage/core.config_entries file and edit the path in there.

3 Likes

Where exactly would I find that? All the hassio-Stuff is under usr/share/hassio, I could not find a .storage folder in there unfortunately?

It’s a hidden directory in the config directory. Look in the same directory as your configuration.yaml. cd .storage

Thank you, found it! Interesting, some hidden folders are visible via SMB, some obviously are not.

1 Like

Well, changing it there worked so thats good. But hassio seems unable to work with customnames (ttyZWAVE for example) :frowning:

Unfortunately, all my nodes show up as dead now and have been all day and through multiple restarts… Before moving the server (from raspi to ubuntu , also changed location) it worked rock solid. Now they showed up as dead sometimes, usually a HA restart fixed it. But not anymore.

One node (roller shutter controller in wall) is not even 3m away from the stick so it can hardly be a range issue. Network heals, softresets etc. did not help. Since they are all in-wall switches I would very much like to avoid doing a full reset.

Any ideas what else I can do to get OZW to recognize them again? It feels like it just presumes they are dead and thats it…

Update: After another restart, 1 node reappeared and is alive for now, just like this. And its one of the two furthest ones away, so the range really should not be a problem in this…

If you’re using udev for custom symlinks, the next release of hassio might support it. Include serial device node links in container device mapping to allow… by cadwal · Pull Request #944 · home-assistant/supervisor · GitHub