Using Home Assistant Connect ZBT-1 with HA running in Docker on Asustor NAS

Hello,

I’ve been using Home Assistant through Docker on my Asustor AS4004T (ADM 4.3.3.RC92). I’m now trying to add a Home Assistant Connect ZBT-1 to my setup, but I’m struggling to get the Home Assistant container to detect the device.

I’ve looked through what I can find on the web around similar problems, but having seen anything that matches my problem, or resolves it.

I think that the device is recognised, but that the Asustor may be missing the drivers to use it, if someone could confirm this that would be great (especially if you can point me to which drivers I could use to help make this work!)

My HA docker-compose file:

services:
  homeassistant:
    # customizable name
    container_name: home-assistant

    # must be image for your platform
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - /volume1/Docker/HomeAssistant/config:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    # privileged: true
    # devices:
    #  - /dev/usbdev3.8:/dev/ttyUSB0
    restart: always
    network_mode: host

I’ve tried both mapping the /dev/usbdev device manually to Docker, and also starting in privileged mode, but neither seems to change anything.

When I run lsusb, I can see the device:

/volume1/Docker/HomeAssistant $ lsusb
Bus 003 Device 002: ID 0bda:5411 Realtek Semiconductor Corp.:unknown device 5411
Bus 004 Device 002: ID 0bda:0411 Realtek Semiconductor Corp.:unknown device 0411
...
Bus 003 Device 013: ID 10c4:ea60 Silicon Labs:CP210x UART Bridge

However, in dmesg, the logs from immediately affter plugging in the ZBT-1 look like something goes wrong, and that’s why Home Assistant can’t see it:


/volume1/Docker/HomeAssistant $ dmesg
[271122.301308] xhci-hcd f2510000.usb3: Wait for xhci command complete left 1250 ms
[271122.393075] usb 3-1.2: new full-speed USB device number 14 using xhci-hcd
[271122.502525] usb 3-1.2: New USB device found, idVendor=10c4, idProduct=ea60
[271122.509526] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[271122.516984] usb 3-1.2: Product: Home Assistant Connect ZBT-1
[271122.522762] usb 3-1.2: Manufacturer: Nabu Casa
[271122.527329] usb 3-1.2: SerialNumber: e20d4c5fcb39ef1196e85ef454516304
[271122.547805] usbip-host 3-1.2:1.0: 3-1.2 is not in match_busid table... skip!

Thanks in advance for any help you can provide!

I had this problem trying to get mine working on a raspberrypi 5, Debian, Podman

I needed to expose the following volumes to the container:

/dev/ttyAMA10:/dev/ttyAMA10
/dev/ttyUSB0:/dev/ttyUSB0

The tty names might be different on your machine - ls /dev/tty* to see what you have available

Oh, I also needed to setup a udev rule per step 1 here: Docker - a way to give access to a host USB or serial device? - Stack Overflow

I was in a similar situation as OP, except I didn’t get any error message in dmesg. I run the same ADM version with HA in Docker.

The solution to getting this to work was quiet simple:

Just install the “ADM Kernel Extensions” from the Asustor App Central and restart the NAS (replug probably also works but not sure if it exposes the device to docker)

The latest Kernel extension specifically reference having added drivers for this Zigbee chip.

I did not have to manually pass the usb device via portainer / docker config or change any other configs. The ZBT-1 showed up natively in HA after. (I did verify the ttyUSB device being present in the container, so the suggestion posted above might still be useful depending on how you installes HA in Docker. (I use the App Central package)

Hope this helps.