New Z-Wave controller is offline (Zooz 800 - ZST39)

Hello,

I am a new user to OpenHAB, just starting my setup, and I cannot get my new ZOOZ 800 Z-wave (ZST39) stick to work.

My setup:

  • Raspberry pi 5 with latest OS (12.5)
  • OpenHAB version 4.1.2
  • Installed in a docker using these instructions: https://www.openhab.org/docs/installation/docker.html
  • Also did the last step to allow access to the device: docker exec -d openhab /bin/chmod o+rw /dev/ttyACM0
  • Added the “Z-Wave Binding” add-on
  • Manually added the device using serial port “/dev/ttyACM0” which exists only when the stick is plugged in, so it must be the correct port.

I right away get “ERROR: BRIDGE” displayed, and when I go in details the bridge is offline.
Checking the events.log file gives me this:

2024-04-15 18:55:57.862 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:serial_zstick:7132634f12’ changed from UNINITIALIZED to INITIALIZING
2024-04-15 18:55:57.877 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:serial_zstick:7132634f12’ changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline

Not very useful unfortunately. Is there a way to get more info about what is going on?

Thanks for anyone’s help.

If you specify ttyACM0 in the docker-compose only ttyACM0 will appear on the UI. Generally the 700/800 sticks appear a ttyUSB0. What to do;

  1. type dmesg to get the startup messages in the terminal. Look for something like
    cp210x converter now attached to ttyUSB0 .
  2. If it is truly ttyACM0, put the binding in Debug and restart. There will be more information

Thank you for your reply.

I am new to openhab and dockers, basic Linux knowledge, so I am discovering stuff along the way.

When I execute dmesg on the raspi OS I see this:

[13041.316815] usb 1-2: new full-speed USB device number 5 using xhci-hcd
[13041.470716] usb 1-2: New USB device found, idVendor=1a86, idProduct=55d4, bcdDevice= 4.43
[13041.470722] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[13041.470725] usb 1-2: Product: 800 Z-Wave Stick
[13041.470728] usb 1-2: Manufacturer: Zooz
[13041.470730] usb 1-2: SerialNumber: 533D004242
[13041.477425] cdc_acm 1-2:1.0: ttyACM0: USB ACM device

So it is definitely on ttyACM0 on the raspi. But, I guess the device should also show up in the container, so I opened a bash shell in the openhab container and I cannot find that device, there is only the basic /dev/tty device.

Is this the issue? Should I see the ttyACM0 device?

UPDATE:
I got it working, did a few things, will come back to explain once I know what solved it.

1 Like

I found the issue. As mentioned, I followed these instructions:
https://www.openhab.org/docs/installation/docker.html

These instructions create a least privileged docker which is a good thing, but by default the container will not have access to any USB device, you have to explicitly add it to the run command.

So for me the proper command was:

docker run
–name openhab
–network=host
-v /etc/localtime:/etc/localtime:ro
-v /etc/timezone:/etc/timezone:ro
-v /opt/openhab/conf:/openhab/conf
-v /opt/openhab/userdata:/openhab/userdata
-v /opt/openhab/addons:/openhab/addons
-d
-e USER_ID=999
-e GROUP_ID=990
-e CRYPTO_POLICY=unlimited
*–device=/dev/ttyACM0 *
–restart=unless-stopped
openhab/openhab:4.1.2

Do not forget to also execute:

docker exec
-d
openhab
/bin/chmod o+rw /dev/ttyACM0

Another less secure option is to use --privileged and you can skip the --device option and chmod.