# \[ANNOUNCEMENT\] : node-red-contrib-zwave-js V7

**URL:** <https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305>\
**Category:** Share Your Nodes\
**Created:** [6 May 2022 17:22 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305 "2022-05-06T17:22:21Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [6 May 2022 17:22 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/1 "2022-05-06T17:22:21Z")

</div>

**node-red-contrib-zwave-js V7**

After various discussions, ~3 months of work, 51 commits, 34 updated source files, various Alpha and Beta testing stages (thank you to those involved):

I am excited to announce the availability of **node-red-contrib-zwave-js V7**

**NOTE!**  
zwave-js V9 will convert some data files over to a new format,  
I **STRONGLY** advise to back up the directory **~./.node-red/zwave-js-cache** just to be on the safe side - the conversation will take a few minutes so don't panic.

Also remember to thoroughly take note of the Breaking Changes (below)

* * *

**Breaking Changes**

- The **GET\_VALUE\_RESPONSE** object is no longer partitioned with **response** and **valueId** properties.  
Instead, the returned object now represents a shape simular to **VALUE\_UPDATED** events.  
The value will now be attached to the **currentValue** property, along with the Value ID on the same level.
- The **VALUE\_DB** objects are no longer partitioned with **currentValue** and **valueId** properties.  
Instead, the returned objects now include the Value ID on the same level as **currentValue**
- Much like above, **GET\_VALUE\_METADATA\_RESPONSE** has also been simplified, where the result is attached to **metadata** , with the Value ID on the same level.

**New Features**

- **VALUE\_UPDATED** , **VALUE\_NOTIFICATION** , **GET\_VALUE\_RESPONSE** and **VALUE\_DB** now contain a **normalizedObject** property.  
This property aims to make it easy to utilise the value change, in that it summarises the event with easy to understand property names.
- An entierly new side panel UI. This redesign aims to better align with the Node RED style guide.
- An entierly new Network Mesh Map, that is now based on routing header information instead of Node Neighbours.
- Network statistics now include route information that is obtained during communication, and is used  
as the basis of the new map.
- Multiple ZWave sticks/Networks are now supported (finally)
  - All message will contain a property of **networkId** to indentify the source network.  
**WARNING** : Before adding another network - please ensure you open up the currently configured Controller and save it again (Remembering to deploy) - this will allign the current network to ID 1

- Improved Recovery when the USB/ZWave transceiver has been removed/re-introduced.
  - This is possible with a custom Watchdog implmentation, this introduces a new event type of **WATCHDOG**  
Which will describe what is happening.

**Fixes**

- Nodes that are not marked as ready can now be removed correctly.
- Fix potential issue when **httpAdminRoot** has a custom value.
- Various performance, stability and optimisations to the UI.
- UI Interaction is no longer picked up by Device Nodes.

**Changes**

- Bump serialport to V10
- Bump ZWJS to V9
- New mapping algorithm - The new algorithm results in a much needed accuracy improvement, and is far superior to previous methods.
- Nodes have now been named more clearly
- Live Camera QR Code Scanning has been removed

**New UI**  
[![](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/a/dab7af03b995e9280a1fd4f8716f182185f189b9.png) ](https://raw.githubusercontent.com/zwave-js/node-red-contrib-zwave-js/main/GHImages/GUIscreen.png)

> **[node-red-contrib-zwave-js](https://flows.nodered.org/node/node-red-contrib-zwave-js)**
>
> An extremely powerful, easy to use, and feature rich Z-Wave node for Node Red, based on Z-Wave JS.

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 12:55 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/2 "2022-06-08T12:55:02Z")

</div>

Hi Marcus,

I have a big problem.  
I upgraded to V7 and now my zwave.js node is gone.  
Reinstalling did not help.  
What should I do to come online fast?

regards Hannes

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 13:41 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/3 "2022-06-08T13:41:21Z")

</div>

Hi @juntiedt,

What does the Node RED start up log say? - that will be our first clue, as it should show some clue.

v7 jumped to V10 of serialport, and this has been known to be problematic under Alpine - there are easy enough work arounds, just curious if this may be a factor.

i.e are you using docker?

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 13:54 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/4 "2022-06-08T13:54:35Z")

</div>

Hi Marcus,  
I am not using docker.  
where can I find the start up log. Did never use it 😬  
does V10 mean Node-red serial port V10  
I am also missing your confuguration in Node-red

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 13:56 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/5 "2022-06-08T13:56:57Z")

</div>

can you start node red your self (i.e in a terminal session) so you can see its output?  
this will write any errors during start up

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 13:58 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/6 "2022-06-08T13:58:42Z")

</div>

Once Node-RED has started, point a browser at [http://10.0.0.50:1880](http://10.0.0.50:1880)  
On Pi Node-RED works better with the Firefox or Chrome browser

Use node-red-stop to stop Node-RED  
Use node-red-start to start Node-RED again  
Use node-red-log to view the recent log output  
Use sudo systemctl enable nodered.service to autostart Node-RED at every boot  
Use sudo systemctl disable nodered.service to disable autostart on boot

To find more nodes and example flows - go to [http://flows.nodered.org](http://flows.nodered.org)

# Starting as a systemd service. 8 Jun 15:27:52 - [info] Willkommen bei Node-RED!

## 8 Jun 15:27:52 - [info] Node-RED Version: v2.2.2 8 Jun 15:27:52 - [info] Node.js Version: v14.18.1 8 Jun 15:27:52 - [info] Linux 5.10.63-v7l+ arm LE 8 Jun 15:27:52 - [info] Paletten-Nodes werden geladen 8 Jun 15:27:55 - [info] Dashboard version 3.1.7 started at /ui 8 Jun 15:27:55 - [warn] ------------------------------------------------------ 8 Jun 15:27:55 - [warn] [node-red-contrib-zwave-js/zwave-js] TypeError: Class extends value undefined is not a constructor or null 8 Jun 15:27:55 - [warn] ------------------------------------------------------ 8 Jun 15:27:55 - [info] Einstellungsdatei: /home/pi/.node-red/settings.js 8 Jun 15:27:55 - [info] Kontextspeicher: default [module=memory] 8 Jun 15:27:55 - [info] Benutzerverzeichnis: /home/pi/.node-red 8 Jun 15:27:55 - [warn] Projekte deaktiviert: editorTheme.projects.enabled=false 8 Jun 15:27:55 - [info] Flow-Datei: /home/pi/.node-red/flows.json 8 Jun 15:27:55 - [info] Server wird jetzt auf [http://127.0.0.1:1880/](http://127.0.0.1:1880/) ausgeführt 8 Jun 15:27:55 - [warn]

## Die Datei mit den Flow-Berechtigungen wird mit einem vom System generierten Schlüssel verschlüsselt. Wenn der vom System generierte Schlüssel aus irgendeinem Grund verloren geht, kann die Datei mit den Berechtigungen nicht wiederhergestellt werden. Sie muss dann gelöscht und die Berechtigungen müssen erneut eingestellt werden. Es sollte ein eigener Schlüssel mit Hilfe der Option 'credentialSecret' in der Einstellungsdatei vorgegeben werden. Node-RED wird dann die Datei mit den Flow-Berechtigungen bei der nächsten Übernahme (deploy) einer Änderung erneut verschlüsseln.

8 Jun 15:27:55 - [info] Warten auf Registrierung fehlender Typen:  
8 Jun 15:27:55 - [info] - zwave-js

Last 2 lines seem to be the problem

I can start node-red but node zwave-js is not there and the configuration menu is missing

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 14:04 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/7 "2022-06-08T14:04:07Z")

</div>

Yep, as the Node isn't loaded - just goto do school run and will be back ~30 minutes...

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 14:04 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/8 "2022-06-08T14:04:38Z")

</div>

ok thanks

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 14:32 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/9 "2022-06-08T14:32:52Z")

</div>

Can I ask what version you was on before you updated?

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 14:40 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/10 "2022-06-08T14:40:28Z")

</div>

version 6.2 or 6.3 I think  
I always updated when a new version was available

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 14:51 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/11 "2022-06-08T14:51:13Z")

</div>

OK, Im just replicating your environment, and following the upgrade route.  
nothing immediate is shouting at me.

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 14:54 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/12 "2022-06-08T14:54:34Z")

</div>

super, thank you very much ...

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 15:25 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/13 "2022-06-08T15:25:53Z")

</div>

So, I have not been able to replicate this, all updates go through using node 14.18.1  
I tried from `6.2.0` to `7.1.1` using a clean environment/NR install. can you backdate?

within the `.node-red` directory install the previous version  
i.e : `npm install node-red-contrib-zwave-js@6.2.0`

maybe try updating via the terminal (again within the NR directory)  
`npm install node-red-contrib-zwave-js@latest`

Prior to 7 it was 6.5.5

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 15:38 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/14 "2022-06-08T15:38:36Z")

</div>

6.2.0 is working again. 👍  
Do you mean update latest would be V7?  
Does V7 impact my flows?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 15:41 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/15 "2022-06-08T15:41:37Z")

</div>

I guess you use the NR pallet to update?

maybe try updating via terminal.  
the tag `@latest` means use what ever version is current (currently 7.1.1)

if that still fails (restart NR after of course), just backdate again (6.5.5 was the last v6 version).

and the golden rule!  
backup your `zwave-js-cache` folder 😅

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 15:52 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/16 "2022-06-08T15:52:38Z")

</div>

6.5.5 is running again.  
one last question:  
Do I have to change someting in my flows with Version 7 or will there only be changes on later versions than 7?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 16:00 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/17 "2022-06-08T16:00:37Z")

</div>

As of V7,

There are changes in the returned payload.  
The only breaking change that may affect you is in the response payload for **GET\_VALUE\_RESPONSE**

**response** is now **currentValue**

But the error you received is something waaay deeper, Evan before the module is loaded - which I am not able to replicate 🙁.

Anytime there is a breaking change the major version number will increment, so nothing will change (that you need to worry about) for all of the v7 revisions.

try and update using **npm install node-red-contrib-zwave-js@latest** in terminal (.node-red directory)  
im not sure why that will make a difference, but if you have a backup of the cache folder, there isn't anything to lose

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 16:17 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/18 "2022-06-08T16:17:47Z")

</div>

@juntiedt

You could try ripping out the module all toghether (as if it was never installed)  
and try a direct install on the latest version.

as long as you have a backup of the **zwave-js-cache** folder, you won't lose the network info (just in case)  
also backup your keys - if you go this route, your flows won't change.

PM me if you want to try.

---

<div class="post-metadata">

**Author:** ![juntiedt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/juntiedt/32/58357_2.png) [@juntiedt](https://discourse.nodered.org/u/juntiedt)\
**Post date:** [8 June 2022 16:21 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/19 "2022-06-08T16:21:08Z")

</div>

I will try npm to version 7 tomorrow.  
if it works like with 6.5.5 all will be ok - hopefully 😉

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [8 June 2022 16:22 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305/20 "2022-06-08T16:22:23Z")

</div>

PM me if you want to try the purge method.  
what ever you do...

1 - Backup **zwave-js-cache** folder  
2 - Backup your flows  
3 - use **node-red-contrib-zwave-js@latest** for the terminal route

[Next page](https://discourse.nodered.org/t/announcement-node-red-contrib-zwave-js-v7/62305.md?page=2)
