How do I switch to Zwave JS?

Thank you! This worked perfectly, and the new zwave is amazingly fast!!

Network key null isn’t a problem if you don’t have secure devices, if you get those in the future you can generate a network key.

I’m a little bit confused abot network key format in the addon.
Documentation says:

Set your 16-byte network key in the form  `0x01, 0x02...`

But later in the example:

network_key: 2232666D100F795E5BB17F0A1BB7A146

Which one is right?

last one, without the 0x.

How do I convert format 0x01, 0x02... to the oher format?

just remove 0x and commas

1 Like

It’s a Pi 3B+ with an SSD.

Hi, have been trying to install Z-wave JS on RPi4 / 2Gb, core-2021.2.0, supervisor-2021.01.7. But I get this fail on Z-wave JS log :slight_smile:

[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] config.sh: executing... 
[cont-init.d] config.sh: exited 0.
[cont-init.d] structure.sh: executing... 
[cont-init.d] structure.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[12:19:40] INFO: Successfully send discovery information to Home Assistant.
12:19:44.628 DRIVER   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—    β–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—             β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
                      β•šβ•β•β–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•β•β•             β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•β•β•
                        β–ˆβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ•‘ β–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—      β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
                       β–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•”β•β•β•   β•šβ•β•β•β•β• β–ˆβ–ˆ   β–ˆβ–ˆβ•‘ β•šβ•β•β•β•β–ˆβ–ˆβ•‘
                      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•šβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘  β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—        β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
                      β•šβ•β•β•β•β•β•β•  β•šβ•β•β•β•šβ•β•β•  β•šβ•β•  β•šβ•β•   β•šβ•β•β•β•   β•šβ•β•β•β•β•β•β•         β•šβ•β•β•β•β•  β•šβ•β•β•β•β•β•β•
12:19:44.671 DRIVER   version 6.1.1
12:19:44.672 DRIVER   
12:19:53.564 CNTRLR   beginning interview...
12:19:53.566 CNTRLR   querying version info...
12:19:54.873 CNTRLR   Failed to execute controller command after 1/3 attempts. Scheduling next try i
                      n 100 ms.
12:19:55.985 CNTRLR   Failed to execute controller command after 2/3 attempts. Scheduling next try i
                      n 1100 ms.
12:19:58.106 DRIVER   Failed to initialize the driver: Timeout while waiting for an ACK from the con
                      troller
Error in driver ZWaveError: Failed to initialize the driver: Timeout while waiting for an ACK from the controller
    at Immediate.<anonymous> (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/driver/Driver.ts:721:6) {
  code: 5,
  context: undefined,
  transactionSource: undefined

and how are we supposed to do that without any ui to these devices:

You don’t wake devices from the UI, you have to physically push a button on the device (steps to wake vary by device/manufacturer)

1 Like

thanks, yes, I am in the process of doing so, not all of them awake when opening the door. Aamof, even before, the binary sensors would work just fine, even with the zwave devices in sleep mode.

Since you are here :wink: : dont we see the zwave. modules any more? All β€˜modules’ we had in the state machine are gone? With that a plethora on info has gone from the system, I cant even see which neighbors are relevant, not all of the other info we had before on the modules?

with my door sensors, the entities are somewhat oddly arranged:

I have an door_is_open binary, which obviously is of device_class open, since it shows β€˜Closed’ , and an identical binary door_is_closed without a device_class, since it shows β€˜on’.

added to these I have a sensor.door_state with a complex state β€˜Window/door is closed’. It would be so much easier if this would simply state closed or open. Would you know why this has been designed to show these complex (and unique HA) states?

lastly all of these sensors got a binary_sensor.door_ANY, which before would simply be a binary to show if it was available, hence β€˜on’. IS there a particular reason we now see these β€˜Any’ sensors?

controller still in use by other zwave integration/addin? Sure about usb port name?
Stop all of those, maybe a reboot of host is needed to release contoller. (mentioed somewhere before here)

Is there a simple way to switch from the Zwave integration to the ZwaveJS integration?

Can I just copy the network key and it will find them all?

I only have ~10 devices but still not looking forward to redoing everything.

It looks like there is a docker image for the zwavejs server you should be able to run it on any system in your network I’d think.

I haven’t got it running yet however.

HI, I am trying to upgrade to ZwaveJS from the deprecated 1.4 integration. I followed the steps outlined by @petro. However, the zwaveJS addon keeps exiting with the following error:

> This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
> RangeError [ERR_INVALID_BUFFER_SIZE]: Buffer size must be a multiple of 16-bits
>     at Buffer.swap16 (buffer.js:1127:11)
>     at new NodeNamingAndLocationCCNameReport (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/commandclass/NodeNamingCC.ts:280:28)
>     at new CommandClass (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/commandclass/CommandClass.ts:108:13)
>     at new NodeNamingAndLocationCC (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/commandclass/NodeNamingCC.ts:165:1)
>     at Function.from (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/commandclass/CommandClass.ts:331:15)
>     at new ApplicationCommandRequest (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/controller/ApplicationCommandRequest.ts:88:32)
>     at Function.from (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/message/Message.ts:222:15)
>     at Driver.serialport_onData (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/driver/Driver.ts:1369:18)
>     at SerialAPIParser.emit (events.js:315:20)
>     at SerialAPIParser.EventEmitter.emit (domain.js:467:12)
> [cont-finish.d] executing container finish scripts...
> [cont-finish.d] done.
> [s6-finish] waiting for services.
> [s6-finish] sending all processes the TERM signal.
> [s6-finish] sending all processes the KILL signal and exiting.

Can anyone help?

Integration from 1.4 requires extra steps.

  1. Remove Zwave 1.4 from HA.
  • This requires you to delete it from the integrations in the UI

    or

  • Delete it from configuration.yaml

    This of course depends on how you integrated it.

  1. Reboot your entire system.

These steps are needed because the zwave 1.4 is tightly integrated with home assistant. Without restarting the hardware, home assistant keeps holding on to the zstick.

2 Likes

I was getting the same error on an RPi3. @Sock

Since there are only 256 nodes possible on a ZWave network, I changed range(1000) to range (256) and it works fine now.

Just switched over from Openzwave beta. Everything is working great but I have two errors in my logs related to Zwave JS.

image

Many thanks, @petro. I had already uninstalled the old 1.4 plugin, but I have just removed the zwaveJS addon, rebooted, reinstalled and am getting exactly the same error.

Anything else I can try?

many thanks

Thanks @jazzyisj, that did the trick!

If HA is running in a docker would restarting the docker be enough to get it to release?

My mind says it should but want to double check.