OH3 - zWave stopped working

Hi all,

I’m currently setting up openHAB 3.0.1 on a Windows 10 (german) with Zulu. I was able to setup zWave and it worked for approximately one day. After this it stopped working. I stopped OH and cleaned temp and cache folder, then restarted OH several times (waited a long time to let the binding settle down). Sometimes the binding comes online for a few seconds, but fails afterwards - but most of the time the binding stays in error state. I also tried to re-install the binding, the usb serial driver and deleted and re-created the z wave controler thing. But the problem persists.

In karaf I see the following message repeatetly:
Error 0x79 at src/windows/termios.c(1323): Das Zeitlimit f³r die Semaphore wurdWrite action failed! Input/output error

The openHAB log is attached:
openhab.log (99.7 KB)

I see the following errors all over again in the log:

021-02-15 09:03:13.724 [WARN ] [ing.zwave.handler.ZWaveSerialHandler] - Got I/O exception Input/output error in writeArray during sending. exiting thread.
2021-02-15 09:03:19.694 [INFO ] [ve.internal.protocol.ZWaveController] - Starting ZWave controller
2021-02-15 09:03:19.698 [INFO ] [ve.internal.protocol.ZWaveController] - ZWave timeout is set to 5000ms. Soft reset is false.
2021-02-15 09:03:19.907 [WARN ] [WaveSerialHandler$ZWaveReceiveThread] - Exception during send
java.io.IOException: Input/output error in writeByte
	at gnu.io.RXTXPort.writeByte(Native Method) ~[?:?]
	at gnu.io.RXTXPort$SerialOutputStream.write(RXTXPort.java:1203) ~[?:?]
	at org.openhab.binding.zwave.handler.ZWaveSerialHandler$ZWaveReceiveThread.sendResponse(ZWaveSerialHandler.java:287) [bundleFile:?]
	at org.openhab.binding.zwave.handler.ZWaveSerialHandler$ZWaveReceiveThread.run(ZWaveSerialHandler.java:312) [bundleFile:?]

Any idea what went wrong here - or what else I could try to make the system working again?

thanks,
Patrik

This error is normally related to a low level (ie OS) problem. It’s thrown down in the OS layers and indicates that the serial driver experienced some sort of problem.

1 Like

Hi Chris,

thank you for the answer.

Those are bad news - I already re-installed the driver and in the event logs of the machine there’s no indication of a problem … If it is the OS then I have a serious problem here :frowning: . I’ll try a different USB port and if this does not work I’ll check if I can reproduce the problem with another zwave tool (do you have an idea what would be good for such a check).

kind regards,
Patrik

Crazy question. you said you are running zulu but not what version. OH3 requires Java 11.

Two suggestions:

  1. Try not only different ports but check if it makes a difference if the port is USB2 or USB3(.x)
  2. You may have diffuculties due to interfering wireless devices. If you have an USB extension cable, try to place the ZWave dongle with some distance to your computer, check different locations

Thanks for the reply. I tried different usb ports (2 & 3), replaced the z wave stick and even the server itself. The problem persists. So I’m not sure if it is a problem with my setup or after all with the binding itself.

@chris Hi Chris, I tried different USB ports (USB 2 & USB 3) and replaced the zwave controller with a new one (Aoen Stick 5). As this was a completely new HW I moved my OH installation to the old server and tried there. Unfortunately the problem persists on the “old” server HW (tried both the old and new zwave stick) as well. With OH 2 the “old” server & usb drivers zwave worked without problem. Zensys tool is able to see the stick and communicate with the nodes.

I deleted tmp and cache folders of OH, but this did help either. I wonder if I have a setup problem here, or if it is a problem of the binding after all.

Please let me know what additional information you would need to see if it is a binding problem.

thanks for your help and kind regards,
Patrik

Hi Bruce, yes - I’m using zulu 11 (tried both 32bit and 64 bit to see if it is related to the runtime),

But the drivers used in OH3 are different, so maybe there’s an issue?

The Zensys tool is not written in Java. While it should be using the same OS driver (I guess) it isn’t using Java.

I just realised though that you are using Windows and I think there was a problem with new versions of Java that caused problems with the serial port - there was a thread about this somewhere.

It indeed seems to be a windows problem. I also tried the Oracle JRE with the same result. I now installed linux on the server and the zwave does not go offline anymore. But I have the problem that sometimes it takes several minutes to process a command (sometimes it is almost immediate). The network is quite old and there is some garbage on the controller (orphaned nodes).

It is strange, the nodes without a device still show green/online in the binding. I tried to remove them from the controller - but receive the following log message:

2021-02-21 12:34:45.087 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 0: Configuration update received
2021-02-21 12:34:45.088 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 0: Configuration update not processed as controller not found

I general I do not see problems in the zwave communication as far as I can tell (openhab.log.tar.gz.log (680.4 KB).

Of course I would like to avoid to re-setup the whole network as I have quite some nodes and many of them are mounted inside the wall.

Thank you for the help and the work you invest into the binding :slight_smile:

With kind regards,
Patrik

Really great job persisting with this and figuring out the problem.

Even one orphaned node can cause this problem. On the forum, we have diagnosed lots of the same issue. There is software to remove the nodes

Edit: here is a post with software that will help

1 Like

Hi Andrew, thank you - I’ve removed all dead nodes from the network and now it works stable.

2 Likes

I got the exact same issue yesterday after I clicked 5 times on a reluctant Fibaro wallswitch (never lose your nerves… :woozy_face:) . Zwave binding started reporting Got I/O exception Input/output error in writeArray during sending. exiting thread and OH raised the Error 0x79 at src/windows/termios.c(1323) in the console and any communication with the Aeon Gen5 stick was freezing it (red LED)

After PC restart, the ZWave PC controller app could connect and communicate correctly with the Aeon Gen5 stick but not OH which continued reporting the error.

I disconnected the stick, uninstalled drivers, it and reinstalled it, rebooted several times having the same error and finally noticed that I the COM port had changed (indeed I have 2 different Zwave sticks with same UZB driver so I did not noticed from the beginning that the Aeon had swapped its COM port with the other stick).

So in my case, OH raised the Error 0x79 at src/windows/termios.c(1323) error until I reconfigured the port of the Zwave controller thing correctly.

So my solution would be : unplug the stick > uninstall driver > disable zwave binding, reboot at least one time without stick > reinstall the stick > reboot > enable zwave binding and reconfigure the COM port if necesary

It that may help anybody