No SerialPort Provider error with Ubuntu 18.04 and Zwave 2.5.x snapshot

I’m trying to get openhab 2.4 running on Ubuntu 18.04 (x86) with the latest snapshot zwave driver.

After installing openhab, I use the script by @5iver to manually install the serial driver as well as the latest zwave snapshot. I rebooted, then added the zwave serial controller thing. I have a HUSBZB-1 stick. The controller came up fine and I was able to add some zwave devices.

When I restart the box, I get an error in the openhab log:

2019-04-21 17:51:50.482 [INFO ] [ing.zwave.handler.ZWaveSerialHandler] - Connecting to serial port ‘/dev/ttyUSB0’
2019-04-21 17:51:50.486 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: /dev/ttyUSB0

If I go into the zwave thing, and set the serial port again, it comes back to life.

Any ideas? Thanks!

For the 2.5 binding, you’ll need to use to the Karaf console to install the serial transport.

FYI, I just rolled back to the 2.4 binding. Every time I reboot with the 2.5 binding, OH can’t find my Z-Wave dongle until I restart the service.

The serial transport is already installed using the manual installer script. Verified by looking in karaf.

Sorry, I honestly don’t know what I was thinking when I posted that. You’re actually having the same issue I was working on earlier today, and I don’t know why that wasn’t obvious. It’s dinnertime, so I’ll claim hunger. :wink:

Anyway, the issue is the 2.5 binding. I downloaded it a little over a week ago, and there’s been some discussion since that suggested it was resolved. However, I downloaded the latest snapshot today and it still happened on reboots. Removed it, installed 2.4 via PaperUI, and it’s fine on reboots now. So, I’ll stick with 2.4.

Hope this time I’m actually helpful!

Ok, thanks for the clarification. Unfortunately, I need some stuff that is not in the 2.4 release device database. Any pointers to where the discussion was happening about the 2.5 issue?

Here are the two I saw when I searched for “zwave 2.5”. Sounds like some people are having success with different builds, but I didn’t look into that since the 2.4 covers me. Good luck!


thanks @rpwong for the hint!!! I do indeed have the same issue. It worked fine yesterday, only immediately after the installation of the 201904202118 snapshot of 2.5.0. However, later last night it started showing the controller as offline. Since I also updated the VM host, I falsely attributed the error to the Linux/VirtualBox update.

Log shows:

2019-04-22 07:48:29.013 [INFO ] [ing.zwave.handler.ZWaveSerialHandler] - Connecting to serial port '/dev/ttyACM0'

==> /var/log/openhab2/events.log <==

2019-04-22 07:48:29.019 [hingStatusInfoChangedEvent] - 'zwave:serial_zstick:75c98168' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline

==> /var/log/openhab2/openhab.log <==

2019-04-22 07:48:29.015 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: /dev/ttyACM0

==> /var/log/openhab2/events.log <==

2019-04-22 07:48:29.063 [hingStatusInfoChangedEvent] - 'zwave:serial_zstick:75c98168' changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to OFFLINE (COMMUNICATION_ERROR): Serial Error: Port {0} does not exist

I am using the Sigma USB dongle. Unfortunately a restart of openhab does not solve the issue for me. What exactly do you do, when you say “restart the service”?

EDIT: USB soft reset does not work in my case, either. Stopping and restarting the bundle in Karaf brings the Controller back up. Indeed, gone after reboot or restarting openhab2 service.

The new binding uses the ESH internal serial provider rather than using the serial driver directly. Probably something isn’t installed, so it can’t find the provider that it’s looking for. Unfortunately I’m not sure what’s not installed as my understanding is that installing the serial transport should install everything, but I’m not sure what your configurations are.

I don’t know how to identify the internal serial provider, but what I did notice after a clean 2.5 snapshot #1572 installation:
as soon as the zwave binding is installed I see two serial drivers installed:

247 │ Active │  80 │ 3.14.0                │ nrjavaserial
248 │ Active │  80 │ 3.15.0.OH2            │ nrjavaserial
250 │ Active │  80 │ 2.5.0.201904202118    │ ZWave Binding

But because of

this should not matter anymore, I guess.

It does matter. The ESH serial provider is simply acting as a proxy - if you use a normal serial port, then it proxies for nrjavaserial. The proxy bundle is in org.eclipse.smarthome.io.transport.serial.

:sunglasses:

So the 3.15.0.OH2 is the proxy and the 3.14.0 is the actual serial driver???

When I rebooted with the 2.5 binding, it would look for the serial port on tty/devACM0 and not find it. When I went into the dongle configuration in PaperUI, I would see two options for the serial port: tty/devACM0 and tty/devAMA0 (I think). Selecting the ACM0 option and soft resetting the dongle would restart the ZWave bundle, and then the serial port would be found. After that, the AMA0 port would disappear until the next reboot.

Is one of those ports the proxy?

I’m not familiar with how the list of ports that you see in PaperUI gets created. It is not part of the binding - it’s populated in another bundle which is part of the UI.
The proxy is really only at API level - I’m basically saying that the binding communicates through a middle layer - the ESH serial port layer. This layer decides if the device is a normal serial port, in which case it uses nrjavaserial, or if it is an IP port, in which case it does something else (I don’t know where this magic is done).

No, I don’t think do. I’m not sure why there are two versions loaded. The OH2 version fixed some issues with the standard version, but the system will likely just use the OH2 version.

1 Like

Well with the current (2.5.0~S1575-1 ) openhab and zwave, I’m not getting the serial provider error.

I have the exact same issue as the OP. Restarts of OH2 service wont bring up the Zwave binding, I manually have to restart the binding for it to come online. I use ser2net/socat solution. /dev/tty* lists the device just fine, system can see it but the only way to get it to work after a restart is to either A) restart the entire machine, or restart the binding.

@chris, just a heads up. I’ve seen the same with S1572 and now S1575, where the binding does not start when OH starts. I will catch logs next time I restart. I am using a manual install of the latest snapshot version of the zwave binding (2.5.0.201904202118), and have openhab-transport-serial installed. When listing features, I do not see the openhab-core.io-transport-serial installed, even after it starts. I assume this is the new name for the ESH serial transport? I don’t recall seeing this before ESH was reintegrated, so assume it is the new name. I’ve now manually installed this, in case it helps.

It looks like I may need to be making some changes to the manual install skip soon :slightly_smiling_face:.

Side note… I’m seeing mains powered devices stuck at Ping for a very long time in recent bindings.

What exactly are you looking at - can you send me the list ? I’d need to trace through the feature tree to see what bundles should be installed. I did have a quick look at this a couple of weeks back and it looked like the serial transport feature included all the required bundles, but maybe something is missing.

I don’t think there have been any changes for quite a long time. The last change that wasn’t either to the database, or build system was over 3 weeks ago, and that was only to avoid requesting the manufacturer data if it was already known ( so this is later in the init sequence). The only other change in semi recent times is the serial port class change, but that would cause more fundamental issues that ping.

This was after I manually installed it though…

openhab> feature:list |grep serial
openhab-binding-lgtvserial                        │ 2.5.0.SNAPSHOT   │          │ Uninstalled │ openhab-addons-2.5.0-SNAPSHOT        │ LG TV Serial Binding
openhab-binding-serialbutton                      │ 2.5.0.SNAPSHOT   │          │ Uninstalled │ openhab-addons-2.5.0-SNAPSHOT        │ Serial Button Binding
openhab-binding-serial1                           │ 1.14.0.SNAPSHOT  │          │ Uninstalled │ openhab-addons-2.5.0-SNAPSHOT        │ Serial Binding
openhab-core-config-serial                        │ 2.5.0.SNAPSHOT   │          │ Started     │ distro-2.5.0-SNAPSHOT                │
openhab-core-config-discovery-usbserial           │ 2.5.0.SNAPSHOT   │          │ Started     │ distro-2.5.0-SNAPSHOT                │
openhab-core-io-transport-serial                  │ 2.5.0.SNAPSHOT   │ x        │ Started     │ distro-2.5.0-SNAPSHOT                │
openhab-core-io-transport-serial-javacomm         │ 2.5.0.SNAPSHOT   │          │ Uninstalled │ distro-2.5.0-SNAPSHOT                │
openhab-core-io-transport-serial-rxtx             │ 2.5.0.SNAPSHOT   │          │ Started     │ distro-2.5.0-SNAPSHOT                │
openhab-core-io-transport-serial-rfc2217          │ 2.5.0.SNAPSHOT   │          │ Started     │ distro-2.5.0-SNAPSHOT                │
openhab-transport-serial                          │ 2.5.0.SNAPSHOT   │ x        │ Started     │ distro-2.5.0-SNAPSHOT                │ Serial Transport
openhab.tp-serial-javacomm                        │ 2.5.0.SNAPSHOT   │          │ Uninstalled │ distro-2.5.0-SNAPSHOT                │
openhab.tp-serial-rxtx                            │ 2.5.0.SNAPSHOT   │          │ Started     │ distro-2.5.0-SNAPSHOT                │
openhab> list -s |grep serial
233 │ Active │  80 │ 3.14.0                │ com.neuronrobotics.nrjavaserial
234 │ Active │  80 │ 3.15.0.OH2            │ com.neuronrobotics.nrjavaserial
267 │ Active │  80 │ 2.5.0.201904190323    │ org.openhab.core.config.discovery.usbserial
268 │ Active │  80 │ 2.5.0.201904190323    │ org.openhab.core.config.discovery.usbserial.linuxsysfs
269 │ Active │  80 │ 2.5.0.201904190324    │ org.openhab.core.config.serial
271 │ Active │  80 │ 2.5.0.201904190317    │ org.openhab.core.io.transport.serial
272 │ Active │  80 │ 2.5.0.201904190321    │ org.openhab.core.io.transport.serial.rxtx
273 │ Active │  80 │ 2.5.0.201904190322    │ org.openhab.core.io.transport.serial.rxtx.rfc2217

Yeah… I said recent, but it’s been longer than that :blush:. I can’t pinpont when it started and I haven’t been watching zwave very closely for a while. It’s not a big bother, since everything gets going eventually. Totally unrelated to the serial issue.

Ok, to be honest I don’t know what all these features do (one of the joys of OH - there’s just too many parts these days!).

When I checked a while back, the zwave feature calls up another feature, which appears to call up a load more serial features. However, I don’t really know what all the bundles that are ultimately loaded do these days as the new ESH classes provide a layer of fog to the whole process :frowning:

So, there are two questions - what is loaded and when, and what is needed, and I’m not 100% sure of either. I will try and spend some time to work through the list…

1 Like

You might want to jump in here while Markus is looking into this…