[solved] Z-wave.me usb stick issue

Hi,
I have an issue with my usb z-wave stick z.wave.me ZMEEUZB1 on ubuntu with OH 1.8.1:
when I got the usb stick, following the wiki zwave binding page and some discussions on this forum, I was able to make it working and I paired successfully with a fibaro smoke detector. One day I had to reboot OH and from the log I saw the starting process was stuck on the line:

[INFO ] [b.z.i.protocol.ZWaveController] - Connecting to serial port /dev/ttyACM0

After some minutes I decided to restart OH and since than I wasn’t able to have the zwave controller working again, the log is always like this:

2016-05-10 11:38:51.675 [INFO ] [.service.AbstractActiveService] - ZWave Refresh Service has been started
2016-05-10 11:38:52.120 [INFO ] [b.z.i.protocol.ZWaveController] - Starting Z-Wave controller
2016-05-10 11:38:52.121 [INFO ] [b.z.i.protocol.ZWaveController] - Z-Wave timeout is set to 5000ms.
2016-05-10 11:38:52.128 [INFO ] [b.z.i.protocol.ZWaveController] - Connecting to serial port /dev/ttyACM0
2016-05-10 11:38:52.306 [ERROR] [b.z.i.protocol.ZWaveController] - Port /dev/ttyACM0 does not exist
2016-05-10 11:38:52.825 [WARN ] [i.internal.GenericItemProvider] - Attempted to register a second BindingConfigReader of type 'zwave'. The primaraly reader will remain active!
2016-05-10 11:38:56.768 [INFO ] [.service.AbstractActiveService] - ZWave Refresh Service has been shut down

My config file is:

zwave:port = /dev/ttyACM0
zwave:masterController=true
zwave:softReset=false
zwave:healtime = 2
zwave:setSUC = true

I tried different steps:

  • check if openhab is member of dialout group

grep ‘^dialout’ /etc/group
dialout:x:20:openhab

  • gave the following permissions:

sudo chmod a+rw /dev/ttyACM0

  • since I thought could be a lock problem I gave the command:

sudo rm -f /var/lock/LCK*

  • and the rw permissions to openhab user on folder /var/lock

  • I disconnect and reconnected the dongle and I also changed usb port.

  • I added the line:

-Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0

in /etc/init.d/openhab

the /dev/ folder contains always ttyACM0 and not ttyACM1

I have no idea what I can try next, I’m seriously thinking my dongle is broken but how I can demonstrate that to the dealer to get a new one?

Thank you.

1 Like

It looks like you have two zwave bindings in your config folder, delete the oldest one …

Hi @sihui,
thank you for your answer. Yes, you are right! I found a 1.5.0-SNAPSHOT jar. I removed that one, restarted OH and the log is:

[INFO ] [.z.internal.ZWaveActiveBinding] - Update config, port = /dev/ttyACM0
[INFO ] [.z.internal.ZWaveActiveBinding] - Update config, healtime = 2
[INFO ] [b.z.i.protocol.ZWaveController] - Starting Z-Wave controller
[INFO ] [b.z.i.protocol.ZWaveController] - Z-Wave timeout is set to 5000ms. Soft reset is false.
[INFO ] [b.z.i.protocol.ZWaveController] - Connecting to serial port /dev/ttyACM0
[ERROR] [b.z.i.protocol.ZWaveController] - Serial Error: Port /dev/ttyACM0 does not exist
[INFO ] [.service.AbstractActiveService] - ZWave Refresh Service has been shut down

I connected the usb dongle to a windows pc and using a windows based software I was able to verify that it is still working.

Yesterday in one of my several attempts I tried to reboot the system (the additional binding suggested by @sihui was stille there) and the log was different:

[INFO ] [.z.internal.ZWaveActiveBinding] - Update config, port = /dev/ttyACM0
[INFO ] [.z.internal.ZWaveActiveBinding] - Update config, healtime = 2
[INFO ] [.service.AbstractActiveService] - ZWave Refresh Service has been started
[WARN ] [i.internal.GenericItemProvider] - Attempted to register a second BindingConfigReader of type ‘zwave’. The primaraly reader will remain active!
[INFO ] [b.z.i.protocol.ZWaveController] - Starting Z-Wave controller
[INFO ] [b.z.i.protocol.ZWaveController] - Z-Wave timeout is set to 5000ms.
[INFO ] [b.z.i.protocol.ZWaveController] - Connecting to serial port /dev/ttyACM0
[INFO ] [b.z.i.protocol.ZWaveController] - Serial port is initialized
[ERROR] [WaveController$ZWaveSendThread] - NODE 255: Timeout while sending message. Requeueing
[ERROR] [WaveController$ZWaveSendThread] - Got I/O exception Input/output error in writeArray during sending. exiting thread.
[WARN ] [veController$WatchDogTimerTask] - Threads not alive, respawning

[INFO ] [b.z.i.protocol.ZWaveController] - Disconnected from serial port
[INFO ] [b.z.i.protocol.ZWaveController] - Connecting to serial port /dev/ttyACM0

and then it held on last line, like the first time I encountered the issue, and then an OH restart went back to the usual error:

[ERROR] [b.z.i.protocol.ZWaveController] - Serial Error: Port /dev/ttyACM0 does not exist

So something is different after a reboot.

As suggested in another discussion I tried also this.

some news here:

after I removed the 1.5.0 snapshot I decided to reboot the system and start OH, it seems is working now! I don’t see the error Port /dev/ttyACM0 does not exist and I can see the controller in habmin. I’ll try to pair the smoke detector later.
Thank you @sihui!