Zwave Binding causing this?

Trying to add a new device, I unplug the zstick, pair the device and readd it, things arent coming back online.

OH2.3 and the Zwave development binding.

Fibaro FGMS-001 Z-Wave Plus Motion Sensor


17:57:12.995 [ERROR] [home.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'zwave:serial_zstick:512': The service has been unregistered
java.lang.IllegalStateException: The service has been unregistered
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:206) [?:?]
        at org.openhab.binding.zwave.handler.ZWaveControllerHandler.dispose(ZWaveControllerHandler.java:241) [223:org.openhab.binding.zwave:2.4.0.201807071112]
        at org.openhab.binding.zwave.handler.ZWaveSerialHandler.dispose(ZWaveSerialHandler.java:133) [223:org.openhab.binding.zwave:2.4.0.201807071112]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
        at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.oh230]
        at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.oh230]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]

and

18:33:30.033 [ERROR] [sage.AssignSucReturnRouteMessageClass] - NODE 8: Assign SUC return routes failed.

Any thoughts?

Looks like your zwave stick is not online anymore.
Check the correct serial port, sometimes when readding the stick the port changes.
You may create symlinks to avoid that …

A reboot fixed it. Very odd :confused: It occured when I paired a device. Ill keep an eye on it… Do you have a link to the symlink process?

Thank you @sihui

Just type “symlink” in the search box :rofl:

1 Like

Yes, if it switched to /dev/ttyACM1 when you plugged it back in, a reboot will cause it to come up as /dev/ttyACM0.

1 Like

You could always just do the inclusion through OH (Habmin or PaperUI). I don’t think a udev rule will fix this for you, but I could be wrong. Before you unplug the controller, shutdown OH. Stopping the binding may work too.

1 Like

Ive created the SymLink and the Zwave devices are working OK after this.

1 Like

Think again, Habmin keeps reverting to the old symlink name :confused: so thewhole network goes offline in a reboot

As I said:

dmesg -T | grep tty

kris@OpenHAB:~$ dmesg -T | grep tty
[Thu Jul 19 13:44:15 2018] console [tty0] enabled
[Thu Jul 19 13:44:20 2018] cdc_acm 3-1.2:1.0: ttyACM0: USB ACM device
kris@OpenHAB:~$

I’ve no idea why the name reverts in Habmin.


kris@OpenHAB:~$ ls /dev/tty*
/dev/tty    /dev/tty17  /dev/tty26  /dev/tty35  /dev/tty44  /dev/tty53  /dev/tty62      /dev/ttyS11  /dev/ttyS20  /dev/ttyS3          /dev/ttyUSB-ZWAVE
/dev/tty0   /dev/tty18  /dev/tty27  /dev/tty36  /dev/tty45  /dev/tty54  /dev/tty63      /dev/ttyS12  /dev/ttyS21  /dev/ttyS30
/dev/tty1   /dev/tty19  /dev/tty28  /dev/tty37  /dev/tty46  /dev/tty55  /dev/tty7       /dev/ttyS13  /dev/ttyS22  /dev/ttyS31
/dev/tty10  /dev/tty2   /dev/tty29  /dev/tty38  /dev/tty47  /dev/tty56  /dev/tty8       /dev/ttyS14  /dev/ttyS23  /dev/ttyS4
/dev/tty11  /dev/tty20  /dev/tty3   /dev/tty39  /dev/tty48  /dev/tty57  /dev/tty9       /dev/ttyS15  /dev/ttyS24  /dev/ttyS5
/dev/tty12  /dev/tty21  /dev/tty30  /dev/tty4   /dev/tty49  /dev/tty58  /dev/ttyACM0    /dev/ttyS16  /dev/ttyS25  /dev/ttyS6
/dev/tty13  /dev/tty22  /dev/tty31  /dev/tty40  /dev/tty5   /dev/tty59  /dev/ttyprintk  /dev/ttyS17  /dev/ttyS26  /dev/ttyS7
/dev/tty14  /dev/tty23  /dev/tty32  /dev/tty41  /dev/tty50  /dev/tty6   /dev/ttyS0      /dev/ttyS18  /dev/ttyS27  /dev/ttyS8
/dev/tty15  /dev/tty24  /dev/tty33  /dev/tty42  /dev/tty51  /dev/tty60  /dev/ttyS1      /dev/ttyS19  /dev/ttyS28  /dev/ttyS9
/dev/tty16  /dev/tty25  /dev/tty34  /dev/tty43  /dev/tty52  /dev/tty61  /dev/ttyS10     /dev/ttyS2   /dev/ttyS29  /dev/ttyUSB-ZStick
kris@OpenHAB:~$

I use /dev/ttyUSB-ZStick in Habmin

There is nothing done in HABmin, your problem is your operating system. HABmin just shows what your operating system is providing.
As you have more than one symlink I guess you have somehow messed up your system:

/dev/ttyUSB-ZStick
/dev/ttyUSB-ZWAVE

If you are only using one usb stick there is no need to use symlinks at all.

1 Like

Dont know how thats possible

kris@OpenHAB:/etc/openhab2/sitemaps$ cat /etc/udev/rules.d/99-usb-serial.rules
SUBSYSTEM==“tty”, ATTRS{idVendor}==“0658”, ATTRS{idProduct}==“0200”, SYMLINK+=“ttyUSB-ZStick”, GROUP=“dialout”, MODE=“0666”

Have you rebooted since changing the udev rule?

1 Like

Quite a few times