Zwave usb path keeps changing

When I upgraded to HASS version .45 the zwave usb_path has changed 3 times. It was first located at usb_path: /dev/ttyACM0 then a few days after he upgrade it changed to usb_path: /dev/ttyACM1 then finally this morning it changed back to usb_path: /dev/ttyACM0.

When I update the usb_path all the zwave dvices start working again.

Has anyone else experienced this?

Devices change when they physically change, though that shouldn’t just happen. Are you using an USB extension cord? Is your USB firmly plugged in?

It’s plugged directly into my server. I’ll double check to make sure it’s not loose although I’m not sure that’s causing the issue since as soon as a I change the path it works again.

I’ve double checked that the usb was firmly plugged in and the change hasn’t happened in about a week however this morning all the usb plugs and switches started turning on and off in about 15 min intervals.

I tried rebooting HASS, rebooting the server, I then removed the usb_path: /dev/ttyACM0 from my config file and finally removed the actual USB from the server and it appears to still be acting up. I am thoroughly confused.

You can try this: http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/

It worked for me.

3 Likes

Great thanks! Will the same naming conventions and process work when plugging the zwave usb controller into a Synology server?

Udev rules will work but I always forget such customizations if moving OSes or replacing hardware.

Certain OSes will make symbolic links to the serial devices in certain places that are persistent no matter what USB port is used. In other words, you can reference the usb device through a link instead of explicitly defining the device.

For example, my aeon zwave stick has a device id of 0658:0200. This was determined by running lsusb and seeing this:

Bus 001 Device 004: ID 0658:0200 Sigma Designs, Inc.

Knowing that home-assistant references the serial tty device, you can start looking under folders in the /dev/ folder (in my os, I see this)

ls -l /dev/serial/by-id/
total 0
lrwxrwxrwx 1 root root 13 Jun 10 08:52 usb-0658_0200-if00 -> ../../ttyACM0

In the configuration yaml, I set the path to the link…

zwave:
  usb_path: /dev/serial/by-id/usb-0658_0200-if00
6 Likes

ANy similar solution for QNAP and Synology?

Just wanted to thank you and let you know that this was fix for me as well.
My setup up HA running in docker on Ubuntu, on ESX using NUC