[SOLVED] OH3: zwave binding Z-Wave Serial Controller Aeotec Z-Stick Gen5 remains offline

@chris

in the 1st post Test 2

added Z-Wave Serial Controller (default settings)
ā†’ Port Configuration (dropdwon Serial Port NOT available)
ā†’ added /dev/ttyUSB-ZStick manually (tested the same with )
Bridge appears offline in GUI

Debug log:

2020-11-13 10:58:11.148 [DEBUG] [g.zwave.internal.ZWaveConfigProvider] - No thing found in getConfigDescription thing:zwave:serial_zstick:53d1f7a07d
2020-11-13 10:58:11.180 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - Creating ZWave discovery service for zwave:serial_zstick:53d1f7a07d with scan time of 60
2020-11-13 10:58:11.181 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Active zwave:serial_zstick:53d1f7a07d
2020-11-13 10:58:11.182 [INFO ] [zwave.handler.ZWaveControllerHandler] - Attempting to add listener when controller is null
2020-11-13 10:58:11.214 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Initializing ZWave serial controller.
2020-11-13 10:58:11.216 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Initializing ZWave Controller zwave:serial_zstick:53d1f7a07d.
2020-11-13 10:58:11.217 [DEBUG] [zwave.handler.ZWaveControllerHandler] - No network key set by user - using random value.

and in this post additional debug log:

is this not enough information?

I saw this, but unfortunately 6 lines of logging does not make a debug log :wink: . Itā€™s impossible to know what is going on - there is very little information, and I see no errors.

The 6 line log is absolutely not enough - no. The extra one line doesnā€™t really help a lot and I had seen this already, but reinforces my original comment that the problem is a serial port issue since the binding reports that there is an error finding the serial port.

there is no more debug log from the zwave binding at all.
issue: zwave bridge does not comes online
it works on the same server with OH2 and openjdk8

sorry. but i thought i provided as much information as possible. and if there are no more logs then i can not povide more.

Ok, thatā€™s fine - thanks. This leads me back to my original response then.

ok, in pictures

The bridge does not come online in OH3, but on the same server with OH2 is works.

And I asked:
ā€œDo you have some hints what i can do (e.g. add some debug to other classes) to find the root cause of my issueā€

Why does it work in OH2 and no longer in OH3 on the same HW and OS ?
What can I do (debugging) to get more information ?

Sure - I know what OFFLINE means - both as text and as an image :wink:

Understood - itā€™s OFFLINE - I got that already :wink:

Iā€™m sorry - but I donā€™t know. All I can say is what Iā€™ve already said a couple of times. Based on the information I can see, the issue seems to be that the binding cannot open the serial port. Serial port access isnā€™t really part of the binding - itā€™s handled by a serial abstraction layer. Secondly, as Iā€™ve said, I donā€™t use RFC2217, and I know people have problems with this.

Iā€™m sorry - I really donā€™t know how else to help you. You seem to keep repeating the same question - probably you think Iā€™m being difficult, or hiding information, but thatā€™s not the case. From the binding perspective, it just tries to open the serial port - if this fails, thereā€™s not a lot more that it can do, and I donā€™t have any other information that can really help.

Ok, then it must be a Bug in OH3 serial port handling.
I can live with that as I have a workaround.

So I then mark this topic a solved.

It seems a hardware issue with the pi (in my case with a pi4). I had the same issue and found another workaround; just connect a simple USB-hub to your pi and plugin the Z-wave stick into the hub.

It is not a pi and itā€˜s not a HW issue. The stick is recognized by OS and working in OH2.

Have you ever tried to you use /dev/ttyACM0 directly?
I donā€™t understand why you configure a symbolic link to that character device.

Even if the thread has been marked as solved I want to write my experience with a similar problem. The z-wave binding cannot connect to the serial port and (of course) therefore the information from binding does not help to track down the problem (while 2.5.9 works well with the same environment).
Iā€™m finally not sure if the ā€œproblemā€ is Java11 or a change in OH3 (have tried M2 and M3) I (s)traced the problem down to a permission denied while writing /var/lock/LCKā€¦ttyUSB-ZStick-5G.
On my synology NAS (using OH native and not in a docker) /var/lock is only root-writeable which lead to permission denied and finally in a more or less silent error.
For now, while Iā€™m not finally migrated to OH3, I have changed the permission, ignoring to think about any security aspects :wink:
Not sure if this here is the same problem, but it matches the description and therefore maybe helps somebody else.

1 Like

I am facing the same problem with the stick. I run OH 3 on an opensuse leap 15.2 PC for test. The stick becomes initialised and than goes offline. The stick works well with OH2
Regards Wolf

Blockquote

I waited for the general release today and have the same problem described on this thread.

Use the workaround I described or open a new thread. Eventually you have more luck than me and someone is able or willing to help.

@HaKuNa is there anything I need to change in terms of the serial port in openHAB or do I literally just install and configure ser2net and the Z-Wave controller will just start working while pointing to /dev/ttyACM0?

no, see port config here

Thanks @HaKuNa. I may give this a shot. In the meantime I have a lead on the issue. If I run openHAB manually as root, the Z-Stick works. So this is definitely some sort of permissions issue even though the openhab user account should have access via the uucp group:

crw-rw---- 1 root uucp 166, 0 Dec 22 11:48 /dev/ttyACM0

uucp:x:14:openhab

Iā€™ll let you know if I figure this out.

Getting closer. I ran the openHAB start.sh manually as the openhab user which brought me to the openHAB console and it spit out this error repeatedly:

openhab> check_group_uucp(): error testing lock file creation Error details:Permission deniedcheck_lock_status: No permission to create lock file.
FAILED TO OPEN: No such file or directory

1 Like

Ok @HaKuNa and @chris I think I figured out whatā€™s wrong. It appears that openHAB 3.0 requires access to /var/lock. On ArchLinux, this is symlinked to /run/lock, which has permissions set to 755 root root so the openhab user cannot access. /run/lock is considered a temp directory and is configured via /usr/lib/tmpfiles.d/legacy.conf, which Systemd uses to create /run/lock in volatile memory at system boot with those permissions. To override these permissions, I was able to copy legacy.conf to /etc/tmpfiles.d and adjust the permissions to 775 root uucp. After rebooting my system, /run/lock now allows the uucp group and the openhab user to access the Z-Stick and my Wave controller shows online. When I look in /run/lock, I now see a LCKā€¦ttyACM0 file for /dev/ttyACM0, the serial port for my Z-Stick.

That said, I still consider this a workaround as I had to override a system default and this was working fine under openHAB 2.5. Iā€™m wondering if there was a regression that now requires openHAB 3.0 to write to /var/lock when it didnā€™t before.

5 Likes

This is all handled in the nrjavaserial bundle. OH3 uses a newer version and I seem to recall some changes to fix some issues with locking on some variants of linux.