Skip to content

Using a Z-Wave or ZigBee stick on Synology DSM for use with HomeAssistant and Docker

If you want to run or are already running HomeAssistant on your Synology NAS DSM 6.2, it’s possible that you’d want to use a Z-Wave or ZigBee stick to communicate with their respective devices. When I initially got my HA running in a docker on the NAS, I was disappointed when HA created errors when I configured the stick as I previously had it working on my previous docker host.  With a bit of digging, it turns out the Synology NAS was not recognizing the USB stick as a serial communication device.  This is because out-of-box, there are no cp210x drivers installed that are necessary for my combo Z-Wave/Zigbee stick.  Similarly, if you plan on using the Aeotec, you will need the cdcacm driver and Conbee will require ftdi_sio.  If you haven’t purchased your stick of choice yet, I’d recommend the GoControl stick as it does in one what the others do together, for less money than either of the other sticks.  (Disclaimer: I’ve only physically tested this on my combo stick, so if you run into issues or find other solutions, ping me so I can update this post)

While I’ve got a ton of Windows experiences (20+ year), a lot of Mac experience (10ish years), I’m basically a newb when it comes to Linux.  So for me, the next challenge was figuring out what/how the drivers would be packaged and how to obtain and install them.  After more time googling than I’d like to admit, I came across www.jadahl.com that is managed by Jumbotroll.  He has figured out how to create custom packages with drivers for most if not all versions of Synology hardware.  Feel free to drop him a donation through his paypal as his efforts shouldn’t go unnoticed.

Hardware:

  • GoControl Z-Wave + Zigbee HUSBZB-1 [ Amazon ]
  • Aeotec Z-Stick Gen5 [ Amazon ]
  • Conbee ZigBee gateway [ Amazon ]

Steps to get it working:

  1. Goto Jumbotroll’s website and download the drivers for your DSM version, currently 6.2 (make sure your DSM matches the minimum DSM version he has listed on the download page).
    You will need the model of your Synology hardware.  To get this, you can look at the box that you probably threw away, the receipt that buried in some email, or by SSH’ing into the NAS and running uname -a  which will output something like Linux Hyperion 4.4.59+ #23824 SMP PREEMPT Tue Dec 25 18:27:57 CST 2018 x86_64 GNU/Linux synology_broadwellnk_3018xs.
    Save the file to whatever device you will be running the commands from, in my case, it’s my Macbook.
  2.  Log into your DSM through the webpage (typically <LAN IP>:5000).  Open the Package Center, then click on Manual Install, and select the file you just downloaded on your local machine.  Click Next and install the package.
  3. Plugin the USB stick into the NAS and reboot it.
  4. If all goes as planned, you will have a working and recognized USB stick.

Integration into the HomeAssistant docker

  1. Find out which ports your USB stick is mounted to
    1. SSH into the NAS
    2. Execute dmesg | grep tty which will show you where the drivers were mounted

      Now you know it’s ttyUSB0  and ttyUSB1.
  2. Next, you need to add the mapping for these to your container.
    1. If you are starting your containers via docker-compose (and you should), edit your docker-compose.yaml file and add the following
    2. If you are starting your containers via docker run, stop it and go learn about docker-compose.  If you are a masochist and hate change, then just add the following to your run command:
    3. Some users have reported errors that may require you to add --privileged  flag.

Configuring HomeAssistant

  1. Edit your configuration.yaml file and add the following:

     
  2. Restart HomeAssistant and enjoy all the grief that Z-Wave + Zigbee can provide

Some troubleshooting steps

  1. SSH into the NAS and confirm it is recognized as a device by running lsusb -ciu :
  2. If you still do not see it, try searching in your  dmesg log for any other clues.
Published inDockerHome AssistantHomeLABSynology

16 Comments

  1. Guillaume Colins Guillaume Colins

    Hello
    Thanks for this auto, it’s very useful.
    I am sorry to contact you, but actually I would need your feedback since after having followed all steps I still have an issue to have my HUSBZB-1 recognized.
    I have installed drivers, modified the docker-compose file as the configuration.yaml but I always have an error:
    Error setting up entry /dev/ttyUSB1 for zha
    I tried many times, by reinstalling from scratch, uninstall and reinstall drivers, restarting the process to launch the docker-compose but I always get this pb.
    If you could help me that would be great! I can send you logs if you agree or any file you would need.
    Thank you

    Guillaume

  2. DK DK

    What’s the output of ls dev/tty*?

  3. Guillaume Colins Guillaume Colins

    Many thanks for responding!
    ls /dev/tty* returns many files but I assume these 2 ones are important
    /dev/ttyUSB0 /dev/ttyUSB1

    and I have this in my configuration.yaml
    devices:
    – “/dev/ttyUSB0:/zwaveusbstick:rwm”
    – “/dev/ttyUSB1:/zigbeestick:rwm”

  4. DK DK

    So it looks like it’s mounted the two items on your system. The next thing you can check is permissions and driver’s.
    ls /dev/ttyU* -lah and make sure that the owner or group of these is the same that’s trying to execute your control of them.
    lsusb should confirm that these are recognized correctly. Did you reboot after installing the drivers?

    Do your dmesg logs point to anything?
    Is the zwave working but just zigbee having trouble?

  5. Guillaume Colins Guillaume Colins

    Thanks
    I executed the following:
    admin@DiskStationGui2:~$ ls /dev/ttyU* -lah
    crw-rw-rw- 1 root root 188, 0 May 26 10:47 /dev/ttyUSB0
    crw——- 1 root root 188, 1 May 26 10:47 /dev/ttyUSB1

    So the owner seems to be root where I am executing all my processes with admin.
    Could it be the issue?
    If so how can I proceed?
    Thanks again for your help

  6. Guillaume Colins Guillaume Colins

    And to complete my previous answer
    “Did you reboot after installing the drivers?”
    > Yes

    Do your dmesg logs point to anything?
    > Being newbie in Linux I would say no. Is there a way to check this and set it up ?

  7. DK DK

    Just type dmesg and you will get the logs. You can add “ | grep tty” and it will pipe out only lines that contain tty

  8. COLINS COLINS

    Many thanks.
    Actually based on your comments I reviewed your initial description and added the option –privileged.
    This has fixed the problem since after that the usb key was accessible by my user.
    I have my 1st sensor successfully recognized by the key.
    Thank you so much for your help.
    Best
    Guillaume

  9. Simon Simon

    Thanks for the writeup mate, but I still dont get anything recognised in the /dev/tty*

    I have reinstalled drivers, unplugged and replugged the stick, restarted the NAS, still nothing.

    when i try the lsusb i get:

    Bus 001 Device 002: ID 10c4:8a2a Cygnal Integrated Products, Inc.
    Bus 001 Device 003: ID f400:f400
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

    When i do dmesg i get this for the cp210x:

    [ 174.663251] cp210x: Unknown symbol usb_serial_generic_open (err 0)
    [ 174.670215] cp210x: Unknown symbol usb_serial_generic_close (err 0)
    [ 174.677326] cp210x: Unknown symbol usb_serial_deregister_drivers (err 0)
    [ 174.684902] cp210x: Unknown symbol usb_serial_register_drivers (err 0)

    This is using the Nortek combo stick

  10. DK DK

    Great to hear. Did you add the privileged option to your HA docker?

  11. DK DK

    Your dmesg makes me think this is a driver’s issue. Are you sure you are pulling the correct model and DSM version of the driver page?

    The might be another driver package inside the synocommuninites repository. Have a look.

  12. COLINS COLINS

    Yes I added the option in my docker compose file and re-run it.
    It created the HA container with appropriate rights and then the HUSBZB has been recognized.
    Thanks again for your tutorial

  13. Simon Simon

    So jumbotroll released an updated driver package for the Apollo lake processors which has fixed my issue

  14. DK DK

    Great to hear. Buy him a beer!

  15. Simon Simon

    Hah, I bought him 2!

  16. DK DK

    Good man!

Leave a Reply

Your email address will not be published.