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

HEX security key #5

Closed dionmes closed 3 years ago

dionmes commented 3 years ago

Hi,

So I wanted to try out this node. But the security string is in a string format I cannot use. I tried out a lot of home automation solutions with the same zwave network I am still using. Most of the HA solutions use a hex format for the security key like (0x01,0x02,0x03 etc.) , this is almost impossible to convert to string format used in this node. So I am now stuck in trying this node out.

marcus-j-davies commented 3 years ago

Whoops - I'll get it updated to support array, Thanks!

in the mean time, if you wanted to try it out.

you could change this

 if (config.encryptionKey != null && config.encryptionKey.length == 16) {
            DriverOptions.networkKey = Buffer.from(config.encryptionKey);
        }

To this.

DriverOptions.networkKey = Buffer.from([0x01,0x02,0x03]);
dionmes commented 3 years ago

Lol, I know software vendors who's support response is a lot more slow :) Thx. I will look into this tomorrow.

marcus-j-davies commented 3 years ago

@dionmes,

Version 1.2.0 has now been published.

Amongst other things, this should now allow you to provide either a string hfieeng844jsutns, if your key is all made up of printable characters. or you can provide a byte array [0x01,0x02,0x03].

Both forms will be put in the encryption key text box. The new version should appear within an hour in the palette menu.

Please let me know how this goes.

dionmes commented 3 years ago

Awesome! Thank you very much. I will need to adapt my flows so that wil take a little time, but great work.

marcus-j-davies commented 3 years ago

I will need to adapt my flows

It's not had much testing 'in the wild', so err on the side of caution, before going to deep. It should run well, I obviously use it in my setup, without problem.

dionmes commented 3 years ago

I need to puzzle a little since the flows are now based on openzwave and node-openzwave-shared . I really like your implementation, it has a lot less dependencies and openzwave can be a pain. A little downside is that openzwave has some more info on the command classes and vendors, but that is nothing big. I do see I need to rework some flows, but that has nothing to do with this node.

marcus-j-davies commented 3 years ago

I'm in close contact with one of the devs who built openzwave-shared, he is also heavily involved with zwave-js, that this node is based on.

zwave-js, is quickly becoming a very good zwave library for javascript.

but again - do test this node (it should be fine) before you commit it to making the switch.

dionmes commented 3 years ago

I did a little contribution on node-openzwave-shared, so no worries. For me its actually easier since I don't know what happens in OZW and now all the low level work is done in zwave-js, so its pretty transparant.

marcus-j-davies commented 3 years ago

Is this safe to close?

dionmes commented 3 years ago

Hi Marcus, yes it is. Did not get around to test it in depth, will let you know.