How do I switch to Zwave JS?

Gave the new Z-Wave JS Integration a spin around the block. Came from OZW and this new integration is extremely responsive and fast! Easily half the response time of OZW, and that one wasn’t slow either.

I am trying to figure out if there’s an event that I can build an automation around to trigger the start of homekit when the zwave network is ready. For OZW I used an mqtt event, but not sure how to do this with Z-Wave JS. Any guidance?

Again, great work on the Z-Wave JS integration!

Since quite a few releases (6 months or more) that isn’t needed anymore. Previously one needed that to prevent HomeKit from starting before all entities loaded. Nowadays, Home Assistant restores all entities on start instantly. Hence, that problem is non-existing.

3 Likes

This is great! I had no idea!

Awesome work! Very excited for the new ZWave JS integration. I’m a little confused how to get the Zwave JS server up and running though. I’m running HA in a Docker container so I’m going the container route. In the documentation ( Z-Wave JS - Home Assistant (home-assistant.io)) it says the if i’m not going the add-on route, I can install the Z-Wave JS 2 MQTT project as a Docker image which contains the Zwave JS server. So am I understanding it right I need to install that whole project just for the server part? I don’t have use for the rest I guess so I’m a little confused.

Anyone else having problem with zwave js where door sensors aren’t reporting? I’ve checked and they’re all just listed as “Node ##” and asleep. So the entities don’t generate.

Is there any best practises for migrate old zwave to the new zwave js without reconfiguring everything?

I would love to know as well, the zwave changes surprised me today… and it seems none of my zwave devices are working. Even if I make the switch to zwave js, it doesn’t look like my garage door sensor would work.

Its quite simple!
Just stop the old zwave, dont delete anything just yet. install the zwave js addon, after you will be prompted to go into configuration and then integrations, and install the z-wave JS ( for me it was automatic, just need to activate). and then, go fro a coup of coofee or beer, and wait for like 5 minutes and voila!

i actualy then installed the community one because it give alot more fuctions and deleted the official one :slight_smile: i love the graph there! ( on addon ons)

Wish there was a migration for the device/entity names. Going to take some time to identity and name my 83 devices. Still better than repairing them all :smiley:

Have a look at this post in the migration thread.

2 Likes

Did anyone get a remote with buttons working? In the add-on log I see:
23:46:23.689 CNTRLR « [Node 005] received CentralScene notification { "nodeId": 5, "ccId": "Central Scene", "ccCommand": "0x03", "payload": "0xa20001" }

From: https://www.home-assistant.io/integrations/zwave_js/#event-zwave_js_event I gather that I should receive a value notification. However when listening for zwave_js_event I do not receive anything on a buttonpress.

Anyone a clue?

You will need to reconfigure anything and wait for the devices to send their discovery information to the zwave server again. Also the ‘profiles’ are different. In my case for a smoke detector it went from one sensor with different values that represented different states, to multiple binary sensors. So it is quite a bit of fiddling, however I do like the profile in zwavejs better, as it is much clearer (to me).

1 Like

Hi all,

I’ve a problem when i look up my network it is ‘null’. How can i fix this.

"network_key": null,
"usb_path": "/dev/ttyACM0"

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

fwiw, these are all Sensitive doorstrips, and opening/closing the door wont help…

1 Like

I am also a little bit confused…

My HA runs in Docker (Synology NAS) so I decided to download the zwavejs2mqtt container from here.
Then I connect to my Diskstation (NAS) via SSH an ‘fire’ this command:

sudo docker run -p XXXX:8091 -p YYYY:3000 --name zwavejs-zwavejs2mqtt --restart always --device=/dev/ttyACM0 -v /volume3/docker/zwavejs2mqtt:/usr/src/app/store zwavejs/zwavejs2mqtt:latest

XXXX and YYYY were adjusted to free ports.

Now I was able to connect to the zwavejs2mqtt UI via the IP of my diskstation and port XXXX.
There were lots of errors in the log about being not able to connect to MQTT. So I reactivated my Mosquitto container and entered the correct IP in the zwavejs2mqtt UI (Settings->Mqtt->Host url).

My devices which I had configured via the old integration were incomplete, so I decided to remove them all (because I have only 3 zwave devices and I was not patient enough to wait for a refresh after waking them up). Then I readded them.

Next step was adding the new integration to HA which took about 15 seconds :slight_smile:

All devices were found and everything good so far (I am happy about the switch to Zwave JS).

What I don’t understand:
Do I really need MQTT or should I disable this setting in the zwavejs2mqtt UI?

1 Like

Will wait wizard for migration. Too lazy and cannot live without pooling…

2 Likes

Sorry if I missed it somewhere, but is it possible to run the ZWave JS server on a seperate machine? I want to get my ZWave stick out of my Home Assistant server. Would love to run the ZWave JS server on a Raspberry Pi with Docker. Any advice would be appreciated. Thanks!

Okay…I think I can answer myself. You don’t need MQTT for this container to ‘talk’ with HA.
Just disable the Gateway in the UI (see screenshot above).

Made the switch from open zwave to the Z-Wave JS integration. I chose for the Z-Wave JS and not the Z-Wave mqtt because I run home assistant supervised, and in my opinion this is the easiest way of implementing the integration for me.

Here’s what I did:

  1. First go to the devolper tools --> template and enter this template:
{%- for node, zstates in states | selectattr('attributes.node_id', 'in', range(1000)) | groupby('attributes.node_id') %}

  {%- for s in zstates %}
Node {{ node }};{{ s.name }};{{ s.entity_id }}{% endfor %}

{%- endfor %}

Now you have the information of all your current nodes and entities names.

  1. Install the Z-Wave JS integration.
  2. Configure the Z-Wave JS integration.
    If you have a network key in open zwave this key is: 0xXX, 0xXX, 0xXX ,… Remove al the 0x of this key, and make it one key: XXXXX…
  3. Go to the Open Zwave add-on, uncheck “Start on boot” .
  4. Stop the Open Zwave add-on.
  5. Check in the add-on log if the Open Zwave is completely stopped.
  6. Start the Z-Wave JS add-on
  7. Check the Z-Wave JS log, and see if it is connecting the nodes. Wait for all nodes to be discoverd. This can take up a few minutes, depending on the size of the Z-Wave network.
  8. Once completed, restart Home Assistant.
  9. Go to integrations --> Setup Z-Wave JS integration
  10. Restart home assistant
  11. After restarting check integration en entities.
  12. Rename entities to the old names if you want al your automations to work again.
  13. If you are brave, remove the open zwave integration. (I did :wink: )
7 Likes