Aeotec Z-Stick Gen5 not secure

Hi.

First post here after having installed Home Assistant last week and it’s just great. However I have run into a problem with my Aeotec Z-Stick Gen5 and Z-Wave JS/Z-Wave JS to MQTT that I simply can’t solve. So I hope someone here can help me out.

My setup:
HP Prodesk 400 G2, i7, 16 GB RAM, 256 GB SDD
Windows 10 Pro and VirtualBox with Home Assistant setup and running
USB 2.0 OHCI + ECHI controller setup with the Z-Stick 5 added to the USB list (disappears from Windows when VirtualBox is started).
Aeotec Z-Stick Gen5 connected to an USB 2.0 port with a short USB extension lead. It’s fresh out of the box and has been reset. No Windows drivers have been added.

I have setup Z-Wave JS MQTT first, with a network key and I can see the Z-Stick in there. After that I added the Z-Wave JS addon, and told it not to be used as the supervisor, and added the ws: link to Z-Wave JS to MQTT in there.

What I have a problem with is that it is not secure, so I cannot add my doorlock via Secure inclusion.

The error I’m getting in the Z-Wave JS log is:

19:00:07.787 DRIVER   version 6.6.3
19:00:07.788 DRIVER   
19:00:07.830 DRIVER   serial port errored: Error Resource temporarily unavailable Cannot lock port
Unable to start driver [Error: Error Resource temporarily unavailable Cannot lock port]
[19:00:08] INFO: Successfully send discovery information to Home Assistant.

Is this because Z-Wave JS to MQTT is controlling it, and I shouldn’t be worried?

And the log from Z-Wave JS to MQTT is:

17:50:19.060 CNTRLR   finding SUC...
17:50:19.064 SERIAL » 0x01030056aa                                                         (5 bytes)
17:50:19.064 DRIVER » [REQ] [GetSUCNodeId]
17:50:19.069 SERIAL « [ACK]                                                                   (0x06)
17:50:19.071 SERIAL « 0x0104015600ac                                                       (6 bytes)
17:50:19.072 SERIAL » [ACK]                                                                   (0x06)
17:50:19.074 DRIVER « [RES] [GetSUCNodeId]
                        payload: 0x00
17:50:19.076 CNTRLR   no SUC present
17:50:19.093 CNTRLR   querying node information...
17:50:19.096 SERIAL » 0x01030002fe                                                         (5 bytes)
17:50:19.096 DRIVER » [REQ] [GetSerialApiInitData]
17:50:19.101 SERIAL « [ACK]                                                                   (0x06)
17:50:19.201 SERIAL « 0x0125010205001d010000000000000000000000000000000000000000000000000 (39 bytes)
                      00000000500c5
17:50:19.202 SERIAL » [ACK]                                                                   (0x06)
17:50:19.203 DRIVER « [RES] [GetSerialApiInitData]
                        payload: 0x05001d01000000000000000000000000000000000000000000000000000000000
                      500
17:50:19.205 CNTRLR   received node information:
                        controller role:            primary
                        controller is a SUC:        false
                        controller is a slave:      false
                        controller supports timers: false
                        nodes in the network:       1
17:50:19.213 DRIVER   Cache file for homeId 0xe514ac8e found, attempting to restore the network from
                       cache...
17:50:19.219 CNTRLR   [Node 001] trying to load device config
17:50:19.225 CNTRLR   [Node 001] device config loaded
17:50:19.225 DRIVER   Restoring the network from cache was successful!
17:50:19.226 CNTRLR   [Node 001] [Manufacturer Specific] manufacturerId: metadata updated
17:50:19.226 CNTRLR   [Node 001] [Manufacturer Specific] productType: metadata updated
17:50:19.227 CNTRLR   [Node 001] [Manufacturer Specific] productId: metadata updated
17:50:19.227 CNTRLR   [Node 001] [~] [Manufacturer Specific] manufacturerId: 134 => 134
17:50:19.228 CNTRLR   [Node 001] [~] [Manufacturer Specific] productType: 1 => 1
17:50:19.228 CNTRLR   [Node 001] [~] [Manufacturer Specific] productId: 90 => 90
17:50:19.228 CNTRLR   setting serial API timeouts: ack = 1000 ms, byte = 150 ms
17:50:19.231 SERIAL » 0x01050006640f97                                                     (7 bytes)
17:50:19.231 DRIVER » [REQ] [SetSerialApiTimeouts]
                        payload: 0x640f
17:50:19.236 SERIAL « [ACK]                                                                   (0x06)
17:50:19.238 SERIAL « 0x01050106640f96                                                     (7 bytes)
17:50:19.238 SERIAL » [ACK]                                                                   (0x06)
17:50:19.239 DRIVER « [RES] [SetSerialApiTimeouts]
                        payload: 0x640f
17:50:19.241 CNTRLR   serial API timeouts overwritten. The old values were: ack = 1000 ms, byte = 15
                      0 ms
17:50:19.241 CNTRLR   Interview completed
17:50:19.242 DRIVER   driver ready
2021-03-24 17:50:19.242 INFO ZWAVE: Zwave driver is ready
2021-03-24 17:50:19.242 INFO ZWAVE: Controller status: Driver ready
2021-03-24 17:50:19.244 INFO ZWAVE: Scanning network with homeid: 0xe514ac8e
17:50:19.244 CNTRLR   [Node 001] Beginning interview - last completed stage: RestartFromCache
17:50:19.245 CNTRLR   [Node 001] not pinging the controller
2021-03-24 17:50:19.245 INFO ZWAVE-SERVER: ZwaveJS server listening on port 3000
17:50:19.247 CNTRLR   [Node 001] Interview stage completed: CommandClasses
17:50:19.248 CNTRLR   [Node 001] trying to load device config
17:50:19.255 CNTRLR   [Node 001] device config loaded
17:50:19.256 CNTRLR   [Node 001] Interview stage completed: OverwriteConfig
17:50:19.256 CNTRLR » [Node 001] requesting node neighbors...
17:50:19.259 SERIAL » 0x010700800100000079                                                 (9 bytes)
17:50:19.259 DRIVER » [Node 001] [REQ] [GetRoutingInfo]
                        remove non-repeaters: false
                        remove bad links:     false
17:50:19.263 SERIAL « [ACK]                                                                   (0x06)
17:50:19.268 SERIAL « 0x01200180000000000000000000000000000000000000000000000000000000000 (34 bytes)
                      05e
17:50:19.269 SERIAL » [ACK]                                                                   (0x06)
17:50:19.270 DRIVER « [RES] [GetRoutingInfo]
                        node ids:
2021-03-24 17:50:19.272 INFO ZWAVE: Node 1 is alive
17:50:19.272 CNTRLR   [Node 001] The node is alive.
2021-03-24 17:50:19.273 WARN ZWAVE: Node 1 doesn't support groups associations
2021-03-24 17:50:19.274 INFO ZWAVE: Node 1 ready: AEON Labs - ZW090 (Z‐Stick Gen5 USB Controller)
17:50:19.274 CNTRLR   [Node 001] The node is ready to be used
17:50:19.274 CNTRLR   All nodes are ready to be used
2021-03-24 17:50:19.274 INFO ZWAVE: Controller status: Scan completed
2021-03-24 17:50:19.274 INFO ZWAVE: Network scan complete. Found: 1 nodes
17:50:19.274 CNTRLR « [Node 001]   node neighbors received: 
17:50:19.275 CNTRLR   [Node 001] Interview stage completed: Neighbors
17:50:19.275 CNTRLR   [Node 001] Interview completed
2021-03-24 17:50:19.275 INFO ZWAVE: Node 1: interview completed, all values are updated
2021-03-24 17:51:56.682 INFO APP: GET / 304 0.915 ms - -
2021-03-24 17:51:56.713 INFO APP: GET /static/css/app.3e2ca6ecff8b60f8b9e5.css 304 0.710 ms - -
2021-03-24 17:51:56.718 INFO APP: GET /static/js/app.7cd976cb167718e60e4d.js 304 0.446 ms - -
2021-03-24 17:51:57.019 INFO APP: GET /api/auth-enabled 304 2.405 ms - -
2021-03-24 17:51:57.169 INFO APP: GET /static/logo.png 304 0.455 ms - -
2021-03-24 17:51:57.204 INFO APP: GET /static/fonts/MaterialIcons-Regular.fa3334f.woff2 304 0.642 ms - -
[session-file-store] Deleting expired sessions
2021-03-24 19:02:32.716 INFO APP: GET / 304 0.610 ms - -
2021-03-24 19:02:32.736 INFO APP: GET /static/css/app.3e2ca6ecff8b60f8b9e5.css 304 0.587 ms - -
2021-03-24 19:02:32.741 INFO APP: GET /static/js/app.7cd976cb167718e60e4d.js 304 0.603 ms - -
2021-03-24 19:02:33.023 INFO APP: GET /api/auth-enabled 304 2.091 ms - -
2021-03-24 19:02:33.186 INFO APP: GET /static/logo.png 304 0.410 ms - -
2021-03-24 19:02:33.211 INFO APP: GET /static/fonts/MaterialIcons-Regular.fa3334f.woff2 304 0.467 ms - -
2021-03-24 19:02:34.532 INFO APP: GET /api/settings 200 37.464 ms - 814
2021-03-24 19:02:34.634 INFO APP: GET /api/auth-enabled 304 1.930 ms - -

And in Z-Wave to MQTT I see the Z-Stick Gen5 fine, but secured says ‘No’ and I do have a randomly generated network key setup under Settings -> Z-wave, together with the serial port /dev/ttyACM0

In Z-Wave JS the device is slightly different: /dev/serial/by-id/usb-0658_0200-if00 and the network key is the same as in Z-Wave to MQTT.

So, does anyone have an idea as to why I cannot secure the Z-Stick Gen5?

Thanks! :slight_smile:

/ Michael Englyst

You cannot run both of the addons at the same time, so pick one and remove or disable the other. They are competing for access to the USB stick. You probably want the zwavejs2mqtt addon as it gives you the most functionality.

Ok. I thought with the ws: link that they communicated and MQTT was in control? I’ll try it, thanks!

Well it didn’t change a thing. The Z-Stick is still listed as not secure. The debug info tells the same. Have removed the Z-Wave JS integration, disabled Z-Wave JS and restarted the host afterwards.

The controller will never be listed as secure. It’s a property of other nodes which have been included securely.

Never saw that in the info I found. Tried to add my Danalock V3 securely but nothing was found. I’ll keep trying. Thanks for the clarifications! :slight_smile: