How to fix predictable USB device names?

I’m controlling zigbee devices using a Conbee stick which appears as /dev/ttyUSB0. Except that occasionally after a reboot or upgrade, it appears as /dev/ttyUSB1, which means that deConz can’t find it.

Now, I can use udev to have a symlink created under /dev which points to the right place automatically (like /dev/conbee). Or I can find the appropriate alias under /dev/serial/by-id.

But when I put those into the deconz config, they don’t work, and I’m guessing there’s a standard set of just a few serial devices that are mapped into the add-on’s container — that’s what it looks like — and these aliases aren’t among them.

Is that correct, and is there an official way to cause other devices to be made available to the add-on container too?


(I’m running Hassio on a NUC)

There is not yet an official way to do this. Here are two issues for this problem, maybe something there will help you.

Ah, thanks… I’d missed those. I’ll take a look…

As alternative to /dev/ttyUSBx consider using /dev/serial/by-id/ paths which are stable and are based on device serial numbers.

For example:


ConBee II

Thanks, @manup, yes, I tried that too (and mentioned it above, though only briefly!). But those links aren’t available inside the container either. However, /dev/serial or /dev/serial/by-id are directories, so it should be possible to mount them as volumes, if we can find a good way to configure that.

Now, in this particular case, it’s important that these need to be mounted in the deConz container, not in the homeassistant one. I’ve added a comment to this issue in case @marthocoo has any good ideas :slight_smile: :