Serial Error: Port /dev/zwavecontroller does not exist (Synology DS1817+, docker)

Hi all,

OH2.5.4 in a docker container, host Synology. I’m not able to have a proper communication with my zwave controller on a USB port connected to my Synology.

Here my docker-compose

services:
  openhab: #name of the service
    container_name: openhab
    image: "openhab/openhab:milestone-debian"
    restart: always
    network_mode: host
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/TZ:/etc/timezone:ro"
      - "/volume1/docker/openhab/openhab_addons:/openhab/addons"
      - "/volume1/docker/openhab/openhab_conf:/openhab/conf"
      - "/volume1/docker/openhab/openhab_userdata:/openhab/userdata"
      - "/volume1/docker/openhab/systemd_override.conf:/etc/systemd/system/openhab2.service.d/override.conf:ro"
#      - ".java:/openhab/.java"
    environment:
      USER_ID: "1036"
      OPENHAB_HTTP_PORT: "8080"
      OPENHAB_HTTPS_PORT: "8443"
      EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Rome -Dgnu.io.rxtx.SerialPorts=/dev/zwavecontroller"
      LC_ALL: "en_US.UTF-8"
      LANG: "en_US.UTF-8"
      LANGUAGE: "en_US.UTF-8"
      CRYPTO_POLICY: "unlimited"
    devices: 
      - "/dev/zwavecontroller:/dev/zwavecontroller" # for Zwave stick

...

openhab user is part of the group dialout

dialout:x:65541:openhab

here my rule to have always the same USB device name, in /lib/udev/rules.d/50-usb-zwave.rules

SUBSYSTEM=="tty",ATTRS{idVendor}=="0658",ATTRS{idProduct}=="0200",SYMLINK+="zwavecontroller",GROUP="dialout",MODE="0666"

My zwave controller is an Aeotec G5.

and here the permissions for USB port and symlink:

ariela@valinor:/dev$ ls -la ttyACM0 
crw-rw-rw- 1 root dialout 166, 0 Jun  2 20:03 ttyACM0
ariela@valinor:/dev$ ls -la zwavecontroller 
lrwxrwxrwx 1 root root 7 Jun  2 19:54 zwavecontroller -> ttyACM0
ariela@valinor:/dev$ 

I’m not sure what is missing but, the error on my PaperUI is “Serial Error: Port /dev/zwavecontroller does not exist” … it seems a permission error, but I’m not able to find the mistake.

Of course I’ve configured in PaperUI the zwave controller with /dev/zwavecontroller

Any clue?

thanks
Andrea

here my log:

21:00:17.830 [DEBUG] [g.zwave.internal.ZWaveConfigProvider] - No bridgeUID found in getConfigDescription thing:zwave:serial_zstick:aa57a048
21:00:22.005 [DEBUG] [g.zwave.internal.ZWaveConfigProvider] - No bridgeUID found in getConfigDescription thing:zwave:serial_zstick:aa57a048
21:00:22.010 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update received
21:00:22.012 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_softreset to false
21:00:22.013 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Trying to send controller command, but controller is not initialised
21:00:22.014 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update security_networkkey to 92 DE AD C7 5A 5A 71 92 CF BB A1 6F D7 A9 28 02
21:00:22.015 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update security_inclusionmode to 0
21:00:22.016 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_sisnode to null
21:00:22.017 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_sync to false
21:00:22.018 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Trying to send controller command, but controller is not initialised
21:00:22.020 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update port to /dev/ttyACM0
21:00:22.022 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_master to true
21:00:22.023 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Trying to send controller command, but controller is not initialised
21:00:22.024 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update inclusion_mode to 2
21:00:22.025 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_wakeupperiod to 3600
21:00:22.026 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Trying to send controller command, but controller is not initialised
21:00:22.027 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update heal_time to 2
21:00:22.029 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Scheduling network mesh heal for 5 hours time.
21:00:22.030 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_exclude to false
21:00:22.031 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Trying to send controller command, but controller is not initialised
21:00:22.032 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_inclusiontimeout to 30
21:00:22.033 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Trying to send controller command, but controller is not initialised
21:00:22.034 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Controller Configuration update controller_hardreset to false
21:00:22.036 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Trying to send controller command, but controller is not initialised
21:00:22.042 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Disposing receive thread
21:00:22.045 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Receive thread dispose
21:00:22.046 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Disposing serial connection
21:00:22.047 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Serial connection disposed
21:00:22.049 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Stopped ZWave serial handler
21:00:22.050 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Initializing ZWave serial controller.
21:00:22.052 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Initializing ZWave Controller zwave:serial_zstick:aa57a048.
21:00:40.302 [DEBUG] [g.zwave.internal.ZWaveConfigProvider] - ZWave product zwave:device has no references!
21:00:40.311 [DEBUG] [g.zwave.internal.ZWaveConfigProvider] - ZWave product zwave:serial_zstick has no references!

fortunately, the key seems visible to DSM, so maybe it’s an issue between DSM and Docker:

ariela@valinor:/lib/modules$ lsusb -s 002:003 -v

Bus 002 Device 003: ID 0658:0200 Sigma Designs, Inc. 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0658 Sigma Designs, Inc.
  idProduct          0x0200 
  bcdDevice            0.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
Couldn't get configuration descriptor 0, some information will be missing
Couldn't get configuration descriptor 0, some information will be missing
ariela@valinor:/lib/modules$ lsusb
Bus 001 Device 002: ID 8087:07db Intel Corp. 
Bus 002 Device 003: ID 0658:0200 Sigma Designs, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 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 001 Device 003: ID f400:f400  
ariela@valinor:/lib/modules$ 

:frowning: what a shame … I need to go back to openhabian as without zwave connection my experiment with docker container needs to stop here :frowning:

OH in docker: 1.5/2% CPU
OH in VM: 18/25% CPU

:frowning:
Andrea