Problem with setting up Zooz USB Z-Wave Plus S2 Stick ZST10

The events.log reports:

2022-03-28 08:49:18.536 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:72485ce4cb' changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to UNINITIALIZED
2022-03-28 08:49:18.544 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:72485ce4cb' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
2022-03-28 08:49:21.179 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:72485ce4cb' changed from UNINITIALIZED (DISABLED) to INITIALIZING
2022-03-28 08:49:21.185 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:72485ce4cb' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline

The openhab.log reports:

2022-03-28 03:46:51.456 [INFO ] [zwave.handler.ZWaveControllerHandler] - Attempting to add listener when controller is null
2022-03-28 08:49:15.446 [DEBUG] [g.zwave.internal.ZWaveConfigProvider] - No bridgeUID found in getConfigDescription thing:zwave:serial_zstick:72485ce4cb
2022-03-28 08:49:18.539 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Disposing receive thread
2022-03-28 08:49:18.540 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Receive thread dispose
2022-03-28 08:49:18.540 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Disposing serial connection
2022-03-28 08:49:18.540 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Serial connection disposed
2022-03-28 08:49:18.541 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Stopped ZWave serial handler
2022-03-28 08:49:18.542 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Deactivate zwave:serial_zstick:72485ce4cb
2022-03-28 08:49:21.161 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - Creating ZWave discovery service for zwave:serial_zstick:72485ce4cb with scan time of 60
2022-03-28 08:49:21.162 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Active zwave:serial_zstick:72485ce4cb
2022-03-28 08:49:21.163 [INFO ] [zwave.handler.ZWaveControllerHandler] - Attempting to add listener when controller is null
2022-03-28 08:49:21.183 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Initializing ZWave serial controller.
2022-03-28 08:49:21.184 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Initializing ZWave Controller zwave:serial_zstick:72485ce4cb.

No bridgeUID found in getConfigDescription thing:zwave:serial_zstick:72485ce4cb

suggests to me I should be putting a UID into the controller (i.e. thing) configuration somewhere, but I don’t see such a field, nor do I know how to find the bridgeUID (which may not even “manifest” itself when the bridge is erroring in the first place . . .

Just a thought: is the user running OH member of the “dialout” group? From an OS p.o.v. the controller is a “modem”, thus requiring the membership to allow the user proper access to the port.

I think this is the config issue again. Something in the new config code is failing.

Hi @stefan.oh

Interesting thought. The user “openhab” was definitely already in the dialout group.

I have added myself there too as I am invoking the setup routines in the web interface . . . just in case that is somehow germane (probably is not, however).

Unfortunately, my addition to the dialout group has made no difference.

thus requiring the membership to allow the user proper access to the port

Port(s), hmmmm . . . I asked earlier whether this could conceivably involve firewall permissions. This does not seem likely as we are talking about a program on one host accessing hardware on the same host.

Still, it would be nice to get a confirmation I should not be looking at firewalld as the “villain” in this scenario!

Hi @robmac

Thanks for weighing in!

Is there a text file I can edit manually to enable this particular Z-Wave controller “thing” ?

First welcome!

I don’t know if it is the config code since you are on 3.2 and the config problems started with 3.3M1. Might want to review the posting here anyway. It shows some config files and Debug logs for comparison, including mine (and I have the same zooz stick as you do.)

The debug log you posted looks normal up to this point. The bridge UID message is nothing to worry about.

2022-03-28 08:49:21.163 [INFO ] [zwave.handler.ZWaveControllerHandler] - Attempting to add listener when controller is null

What should happen after (in about 5 seconds) is (INFO level logging, but you get the idea)

2022-03-28 15:38:45.000 [INFO ] [zwave.handler.ZWaveControllerHandler] - Attempting to add listener when controller is null
2022-03-28 15:38:50.116 [INFO ] [ve.internal.protocol.ZWaveController] - Starting ZWave controller
2022-03-28 15:38:50.116 [INFO ] [ve.internal.protocol.ZWaveController] - ZWave timeout is set to 5000ms. Soft reset is false.

Bob

Hi @apella12

Thanks for the warm welcome! :slight_smile:

I am starting to think my controller somehow needs to be reset. Perhaps my Domotics setup (the last system I experimented with) left some cruft behind (such as a security key) which now precludes OpenHAB from properly invoking the controller.

I have reached out to the hardware vendor, but have a feeling we may be able to solve this quicker here . . .

For those following along . . .

Because virtually all my (few) problems with *nix over the years have stemmed from permissions issues . . . I also

$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Mar 28 09:53 /dev/ttyACM0

So, the controller is owned by root with group “dialout” – as hinted at by @stefan.oh

For giggles, I added the root user to group: dialout (as well as tty) and restarted the openhab service. [ root should, of course, not require sunch memberships as it is all powerful, right? ] As before, the openhab user is a member of dialout and tty groups (as well as audio and lock groups)

Still no joy!

Hey, does this “file” (i.e. device) possibly need execute privileges ?!

There is no firewall preventing anything as long as the communication happens locally.

User root is the owner of the port/device, so adding this user to dialout does not change anything as the owner root already has read and write access. The OH service usually runs with the user openhab, so that is the user that should be a member of the group dialout. Which you already confirmed is the case. Just mentioned it for clarity for readers at a later time.

I don’t think so. The OH wants to read and write to the device, not to execute anything. Also I’ve never seen execute privileges on a device file in the various Unix/Linux distributions I’ve stumbled across.

When you plug in the controller does that provoke any entries in the system logs?

Edit: What USB port do you use with the controller? I suggest to avoid USB3 and use a USB2 port. If you have a USB extension cable, try to use it with that cable to achieve a bit of distance between the controller and the PC. Or use a powered USB hub for that. Maybe you suffer from interference issues.

If it is the stick that needs resetting which I doubt. Create an account at silicon labs and download simplicity studio which will install PC Controller. Use PC Controller to hard reset your controller. You can also test the stick is OK in this app which makes it a worthwhile exercise to rule out bad hardware.

I had forgotten the config issue was first seen on 3.3 so the permissions and port configuration does appear to be the most likely. Google turned up this https://www.reddit.com/r/Fedora/comments/qmr119/known_issue_usb_devices_not_working_on_kernel/ Not sure if you have a patched version.

The other location that might not have correct permissions is the userdata zwave folder which is where the binding stores node configuration files. You should find a file network_xxxxxxxx__node_1.xml there that openHAB user can read and write to. I am sure the log would have had errors if this was an issue though.

The easiest place to start with openHAB is to use openHabian to install and configure. It might be worth setting a test environment on something like a PI to get familiar with openHAB.

I suppose you could try starting openHAB as root. While you wouldn’t want to leave it this way, it might rule out any permission issues with the serial port. Be careful, though, as it may result in some openHAB files being owned by root (e.g. log files), so you’ll need to fix any file permission issues after you’ve tried this.

I have to second this recommendation. Part of the Openhabian installation options is a global permissions fix.

Only random suggestion at this point, as I do not have your setup, and this may not be an issue, but since the focus is on permissions, there have been forum posts over the years about the LCK file needing to be with openhab owner.
var-lck

Bob

Hi @stefan.oh

Thank you for confirming this and all the others. Pretty much as I thought.

Keeping it away from the PC with an extension cable or using a USB2 port might help. I’ll try that later today.

Stay tuned, however, to my upcoming response to @robmac to see what interesting things I learned yesterday evening.

Hi @robmac

Thanks much for your ideas!

Soooo… While waiting on responses here, I had reached out to the hardware vendor (Zooz) and they immediately suggested the same thing as you (i.e. Simplicity Studio). They also sent me relevant Windows USB drivers and updated firmware for the stick. [Alas, now they are AWOL with no responses to further detailed queries. ]

I installed Simplicity Studio (into a Windows Virtualbox VM) yesterday – but guess what? Stick not recognized by the app. [ Meanwhile, Windows “dings” when it is inserted AND device manager shows it as available on COM8! ]

Frustrated, I quickly installed HomeAssistant into a VM. Magic result! The Zooz stick can communicate with the few Z-Wave devices in this house.

Problem is, I do NOT want HomeAssistant. OpenHAB looks far more enticing for a number of reasons, including ease of installing as a service on the existing operating system and NOT needing a dedicated (even though it would be lightweight) PC or VM . . .

If anyone has any ideas on how to proceed now that I have identified the hardware works correctly in HomeAssistant, I would appreciate it

Hi @apella12

As I mentioned to @robmac, I have zero interest in running a completely separate instance when I have an underutilized, powerful server sitting here. [ I would consider OpenHabian in a VM for testing purposes, of course, as I did with HomeAssistant yesterday. ]

I do think that the stick merely needs to be reset somehow. The problem at the moment is: the hardware is not cooperating (not recognized) with the utility the vendor has recommended.

Take a look at my “result” in Simplicity Studio when I tried to recognize the stick in order to install the “PC Controller” plugin . . .

The hardware is fine which is good.

As lsusb reports your zooz as Aeotec I assume it is just a badged version of the aeotec. This thread might help.

the solutions are documented here [SOLVED] OH3: zwave binding Z-Wave Serial Controller Aeotec Z-Stick Gen5 remains offline - #39 by HaKuNa

The serial handling is part of core so setting it to debug might help.
log:set DEBUG org.openhab.core.io.transport.serial

Zooz appears to rebrand a few devices from other manufacturers but it might still not be identical so the thread might not help.

No worries. Missed your response to Rob. When I started a few years ago I was drawn to the openhabian promise of open-source home automation without being a linux expert. Turns out it is very helpful to be at least a linux novice.

Your screen shot doesn’t look right, but I’m not an expert on the program. It has been awhile, but I do not recall having to add the tools. This is what I get when I open Simplicity Studio.

Bob

edit: Here is a link that might help

Hi @apella12

Well, there’s my problem! I have been using Linux in one form or another for over ten years. I can therefore probably no longer be considered a “Linux novice” . . . even though I sometimes still forget about checking permissions! :grimacing: [ Fortunately not in this thread. ]

Perhaps if I were a novice, I would not overthink this and just buy a Hubitat hub! :upside_down_face:

My screen shot comes AFTER asking Simplicity Studio to install plugins. At the bottom of your “tools” screenshot you will notice “Add/Remove Tools” I have the same window, but it is empty . . . at which point I try to add tools, leading to the screenshot I posted.

Hi @robmac

Thanks for pointing out the thread. I’ll digest in a moment . . .

A moment ago I took apart the Zooz stick. Here’s a closeup of the physical device, perhaps it will give someone an idea as to whether it is indeed a Zooz device or an Aeotec one . . .