zwave-js / node-red-contrib-zwave-js

The most powerful, high performing and highly polished Z-Wave node for Node-RED based on Z-Wave JS. If you want a fully featured Z-Wave framework in your Node-RED instance, you have found it.
MIT License
47 stars 6 forks source link

[Help]: v9.1 Upgrade/Migration #284

Closed ReziioAdmin closed 10 months ago

ReziioAdmin commented 11 months ago

How can we help?

Hi Marcus Very interested to see the recent release of v9.1. Great work ! A few questions though since the migration document is probably still in an early stage . I have upgraded one Pi in the lab and so far, all looks pretty good but not wanting to upgrade any production versions just yet.

1) Will the previous API command format continue to work until v10? 2) Are there any other possible breaking changes to look for before upgrading to 9.1? 3) Are the S2 auth credentials still stored in the NR flow file ? 4) Are there any performance/efficiency/memory management improvements with this upgrade or is it more a case of getting to a more standardized APi/commands set ? 5) Is there anything you think should be checked in existing code/flows before upgrading ?

I am very happy to test whatever if you have need for someone to do this.

Thank you for your efforts on this. It really is a great piece of work you have put together on this project. !

Version

v9.1

Node-RED Version

3.2

What hardware are you using?

Raspberry Pi

Any code to add?

No response

marcus-j-davies commented 11 months ago

Hi @ReziioAdmin,

Will the previous API command format continue to work until v10?

Correct! v9 deprecated the old API, therefore does not remove it, removal will be in v10. If you're a user of the CMD Factory then this Node already produces the new Output.

See; https://github.com/zwave-js/node-red-contrib-zwave-js/blob/main/APIChange-v9.md

Are there any other possible breaking changes to look for before upgrading to 9.1?

In v9, there are 2 breaking changes, but only one of which will likely affect installs.

With that said however, v10 is moving to a configuration Node setup, so if you overwrite your flows, with another set of flows, it wouldn't replace the configuration Node, it will instead add an additional Configuration Node.

You would simply point the nodes in your flow to the original Configuration Node (where the keys are stored).

Are there any performance/efficiency/memory management improvements with this upgrade or is it more a case of getting to a more standardized APi/commands set ?

v9 is more of a Halfway House, and maintenance release.

v10 is where the performance improvements will likely come from, v10 is "the big one", but at the cost of breaking changes.

v9 softens the blow to the v10 breaking changes - by encouraging installs to start updating commands that will be enforced in v10.

v10 will undoubtedly be the biggest breaking change - as the Nodes them self have been re-written - I'll will be producing a document to cover all the steps one needs to take to move over to v10 when it lands.

Is there anything you think should be checked in existing code/flows before upgrading ?

Nothing that I can think off

I am very happy to test whatever if you have need for someone to do this.

As v10 becomes more matured, I will be uploading BETA releases, so testing the code base / features / UI's will be very much appreciated.

I hope all the above helps

ReziioAdmin commented 10 months ago

Thank you