Debugging Zigbee on Nortek HUSBZB-1 w/Docker on linux/Ubuntu

I’m trying to get the Zigbee Integration working using a Nortek HUSBZB-1 on a new Home Assistant install. Using:

  • Home Assistant 2021.5.5
  • Docker version 20.10.8
  • docker-compose version 1.29.2
  • Ubuntu 20.04.3 LTS

My docker compose looks like:

version: '2' 
services:
  home-assistant:
    container_name: home-assistant
    image: homeassistant/home-assistant:latest
    network_mode: "host"
    restart: unless-stopped
    privileged: true
    volumes:
      - /srv/home-automation/hass-config:/config
      - /etc/localtime:/etc/localtime:ro
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
      - /dev/ttyUSB1:/dev/ttyUSB1
      - /dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_31200456-if00-port0:/dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_31200456-if00-port0
      - /dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_31200456-if01-port0:/dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_31200456-if01-port0

linux can see my HUSBZB-1 adapter:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 003: ID 8087:07dc Intel Corp. 
Bus 002 Device 002: ID 10c4:8a2a Silicon Labs HubZ Smart Home Controller
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

When I try and add the integration, it goes like this.

  • The adapter shows up in the dropdown.
  • I select the zigbee port and submit.
  • It spins for a while, then comes back and asks for my radio type.
  • I pick the one that lists HUSBZB-1, and submit, then it comes back with a “Settings” dialog already filled it.
  • It looks ok to me, but when I submit it just comes back with a “failed to connect” error:
    Screenshot from 2021-09-05 12-42-07

I’ve also tried plugging in the apparently preferable “by id” form (/dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_31200456-if01-port0) as the device path (I mapped those in my docker-compose.yml too), but I get the same error.

I’ve tried starting the container by using sudo, in case it is a privs problem, but that doesn’t seem to have helped. What am I missing here?

I don’t see anything suspicious in my syslog, other than a couple of already exists in privileged mode messages that seem ok:

Sep  5 11:36:04 chipmunk dockerd[762]: time="2021-09-05T11:36:04.803994908-04:00" level=warning msg="path in container /dev/ttyUSB0 already exists in privileged mode" container=ff9c21f65f7d768dda4a2f999359c0577fa999673a15e5356063f0950ac1f566
Sep  5 11:36:04 chipmunk dockerd[762]: time="2021-09-05T11:36:04.804072798-04:00" level=warning msg="path in container /dev/ttyUSB1 already exists in privileged mode" container=ff9c21f65f7d768dda4a2f999359c0577fa999673a15e5356063f0950ac1f566
Sep  5 11:36:04 chipmunk dockerd[762]: time="2021-09-05T11:36:04.804106409-04:00" level=warning msg="path in container /dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_31200456-if00-port0 already exists in privileged mode" container=ff9c21f65f7d768dda4a2f999359c0577fa999673a15e5356063f0950ac1f566
Sep  5 11:36:04 chipmunk dockerd[762]: time="2021-09-05T11:36:04.804143320-04:00" level=warning msg="path in container /dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_31200456-if01-port0 already exists in privileged mode" container=ff9c21f65f7d768dda4a2f999359c0577fa999673a15e5356063f0950ac1f566

If anyone’s got some ideas, I would love to hear them.
I have screenshots, but I’m only allowed to include 1 in this post.

Have you tried using the other device address (if00)?

I cant remember which address is the zigbee radio and which is the zwave radio.

Well it gives me a drop down with the 2 ports well described:

I think I tried the other port too.

that’s all I’ve got.

It looks like it should work to but I don’t used Supervised HA install for any USB sticks so I can’t help any further.

I don’t believe this is ok. You should use privileged mode or map the devices, I dont think you should do both.

If you need priviledged mode, you should map the usb as a volume instead of a device.

And not to high jack the thread, but why does the documentation say to run the homeassistant container in privileged mode now? I don’t and never have before

Update - started a new thread for this question - Why does the documentation say we need priviledged mode for a docker install now?

actually based on that other thread I just realized you are not actually running a Supervised install but a Container install. Sorry about that.

I don’t run my Container in privileged mode so I would recommend removing privileged mode and trying it again.

Good catch @mwav3.

1 Like