LZW45 Drivers - Z Wave-JS addition through Pull Request

You can try it right now in the beta program. The more the merrier. If you can switch ASAP, and you have devices that we cannot test against: Text Sensors, White Value lights (cannot support Cold White and Warm White) that would be a great help. We currently don’t have the coverage to test all the code atm.

Unfortunately none of the devices listed above, but I will be a very active as I convert my VERY production-type house installation to the new integration.

My biggest need is my Schlage Be469 that I could NOT get working for more than about 10 mins in OZW 1.6. Hoping encrypted locks are (or are quickly) supported?

I get enough flack for my smarthome shenanigans that I shouldn’t even be planning this (in secret muahahaha).

Edit: looks like locks are fully supported (yay) but a few other items might be deal breakers:

  1. Support for setting configuration parameters through service calls is currently not supported but may be added in a later release. (I use this for coloration of the LED bar and notifications a LOT).

  2. Support for Node/Scene events is currently not supported but may be added in a later release. (I use scene control immensely for double/triple taps around the house).

Looking forward to further features to get parity with my OZW install! Frenckly (see what I did there) I’m shocked at the development timeline on this. WOW fast!!!

Hi,

I’ve converted my OZW to Z-Wave JS. I had a node-red which uses scene. It was set to ozw.scene_activated. I need to change it to support Z-Wave JS but don’t know changing it to what.

Can you guys help me?

It uses zwave_js_event now.
image

By changing it to event, it doesn’t work. It gets something but my node doesn’t work as it did. After the zwave_js_event, I just put my switch?

[{“id”:“73fde49d.94267c”,“type”:“subflow”,“name”:“Inovelli Scenes”,“info”:"",“category”:"",“in”:[{“x”:120,“y”:220,“wires”:[{“id”:“3c99d4a9.b3bac4”}]}],“out”:[{“x”:620,“y”:40,“wires”:[{“id”:“60d0a2f1.4599fc”,“port”:0}]},{“x”:620,“y”:80,“wires”:[{“id”:“60d0a2f1.4599fc”,“port”:1}]},{“x”:620,“y”:120,“wires”:[{“id”:“60d0a2f1.4599fc”,“port”:2}]},{“x”:620,“y”:160,“wires”:[{“id”:“60d0a2f1.4599fc”,“port”:3}]},{“x”:620,“y”:200,“wires”:[{“id”:“60d0a2f1.4599fc”,“port”:4}]},{“x”:620,“y”:240,“wires”:[{“id”:“4ce397c.b363ce8”,“port”:0}]},{“x”:620,“y”:280,“wires”:[{“id”:“4ce397c.b363ce8”,“port”:1}]},{“x”:620,“y”:320,“wires”:[{“id”:“4ce397c.b363ce8”,“port”:2}]},{“x”:620,“y”:360,“wires”:[{“id”:“4ce397c.b363ce8”,“port”:3}]},{“x”:620,“y”:400,“wires”:[{“id”:“4ce397c.b363ce8”,“port”:4}]},{“x”:620,“y”:440,“wires”:[{“id”:“19e6265b.f924ea”,“port”:0}]}],“env”:[],“color”:"#DDAA99",“outputLabels”:[“Single tap down”,“Double tap down”,“Triple tap down”,“Quad tap down”,“5 taps down”,“Single tap up”,“Double tap up”,“Triple tap up”,“Quad Tap up”,“5 taps up”,“Config tap”]},{“id”:“3c99d4a9.b3bac4”,“type”:“switch”,“z”:“73fde49d.94267c”,“name”:“Scene ID”,“property”:“payload.event.scene_id”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“1”,“vt”:“str”},{“t”:“eq”,“v”:“2”,“vt”:“str”},{“t”:“eq”,“v”:“3”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:3,“x”:260,“y”:220,“wires”:[[“60d0a2f1.4599fc”],[“4ce397c.b363ce8”],[“19e6265b.f924ea”]]},{“id”:“60d0a2f1.4599fc”,“type”:“switch”,“z”:“73fde49d.94267c”,“name”:“Scene Value”,“property”:“payload.event.scene_value_id”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“1”,“vt”:“str”},{“t”:“eq”,“v”:“4”,“vt”:“str”},{“t”:“eq”,“v”:“5”,“vt”:“str”},{“t”:“eq”,“v”:“6”,“vt”:“str”},{“t”:“eq”,“v”:“7”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:5,“x”:430,“y”:180,“wires”:[[],[],[],[],[]],“outputLabels”:[“Single Tap Down”,“Double Tap Down”,“Triple Tap Down”,“Quad Tap Down”,“5 Tap Down”]},{“id”:“4ce397c.b363ce8”,“type”:“switch”,“z”:“73fde49d.94267c”,“name”:“Scene Value”,“property”:“payload.event.scene_value_id”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“1”,“vt”:“str”},{“t”:“eq”,“v”:“4”,“vt”:“str”},{“t”:“eq”,“v”:“5”,“vt”:“str”},{“t”:“eq”,“v”:“6”,“vt”:“str”},{“t”:“eq”,“v”:“7”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:5,“x”:430,“y”:260,“wires”:[[],[],[],[],[]],“outputLabels”:[“Single Tap Up”,“Double Tap Up”,“Triple Tap Up”,“Quad Tap Up”,“5 Tap Up”]},{“id”:“19e6265b.f924ea”,“type”:“switch”,“z”:“73fde49d.94267c”,“name”:“Scene Value”,“property”:“payload.event.scene_value_id”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“1”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:1,“x”:430,“y”:320,“wires”:[[]],“outputLabels”:[“Single Config Tap”]},{“id”:“4919717e.34da4”,“type”:“tab”,“label”:“Switch bureau Alex (Inovelli)”,“disabled”:false,“info”:""},{“id”:“9809f248.13bbe”,“type”:“server-events”,“z”:“4919717e.34da4”,“name”:“Scene”,“server”:“19028f05.bad0d1”,“event_type”:“zwave_js_event”,“exposeToHomeAssistant”:false,“haConfig”:[{“property”:“name”,“value”:""},{“property”:“icon”,“value”:""}],“waitForRunning”:true,“x”:100,“y”:260,“wires”:[[“8068dd32.ce958”]]},{“id”:“71c661d6.991af”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“Turn on light”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:true,“service_domain”:“light”,“service”:“turn_on”,“entityId”:“light.dimmer_chambre_al”,“data”:"{“brightness_pct”:100}",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:730,“y”:400,“wires”:[[“cf8e01a8.982c2”]]},{“id”:“2a569871.bdf3f8”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“Turn off light”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“light”,“service”:“turn_off”,“entityId”:“light.dimmer_chambre_al”,“data”:"",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:730,“y”:460,“wires”:[[“b5ea71ab.f344b”]]},{“id”:“84ecffaa.1d07c”,“type”:“subflow:73fde49d.94267c”,“z”:“4919717e.34da4”,“name”:"",“env”:[],“x”:500,“y”:260,“wires”:[[],[“ec1dd4ef.1946a8”,“b562c495.fa81d8”],[],[“2a569871.bdf3f8”],[],[],[“47a80cf5.9c7f04”,“1d338998.54e676”],[],[“71c661d6.991af”],[],[]]},{“id”:“cf8e01a8.982c2”,“type”:“inovelli-status-manager”,“z”:“4919717e.34da4”,“name”:“Dimmer Bureau Al”,“nodeid”:“2”,“color”:“87”,“level”:10,“duration”:“2”,“display”:“2”,“switchtype”:“16”,“x”:910,“y”:400,“wires”:[[“23fecbcd.7ce7c4”]]},{“id”:“b5ea71ab.f344b”,“type”:“inovelli-status-manager”,“z”:“4919717e.34da4”,“name”:“Dimmer Bureau Al”,“nodeid”:“2”,“color”:“22”,“level”:10,“duration”:“2”,“display”:“2”,“switchtype”:“16”,“x”:910,“y”:460,“wires”:[[“b38a1f03.579e9”]]},{“id”:“23fecbcd.7ce7c4”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“Set colors”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“ozw”,“service”:“set_config_parameter”,“entityId”:"",“data”:"",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:1080,“y”:400,“wires”:[[]]},{“id”:“b38a1f03.579e9”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“Set colors”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“ozw”,“service”:“set_config_parameter”,“entityId”:"",“data”:"",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:1080,“y”:460,“wires”:[[]]},{“id”:“80fe91d4.e2f13”,“type”:“inovelli-status-manager”,“z”:“4919717e.34da4”,“name”:“Dimmer Bureau Al”,“nodeid”:“2”,“color”:“87”,“level”:10,“duration”:“2”,“display”:“2”,“switchtype”:“16”,“x”:950,“y”:40,“wires”:[[“93f8af81.7207c”]]},{“id”:“d38517e5.2c7178”,“type”:“inovelli-status-manager”,“z”:“4919717e.34da4”,“name”:“Dimmer Bureau Al”,“nodeid”:“2”,“color”:“22”,“level”:10,“duration”:“2”,“display”:“2”,“switchtype”:“16”,“x”:950,“y”:140,“wires”:[[“c552e90a.998ff8”]]},{“id”:“93f8af81.7207c”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“Set colors”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“ozw”,“service”:“set_config_parameter”,“entityId”:"",“data”:"",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:1140,“y”:40,“wires”:[[]]},{“id”:“c552e90a.998ff8”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“Set colors”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“ozw”,“service”:“set_config_parameter”,“entityId”:"",“data”:"",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:1140,“y”:140,“wires”:[[]]},{“id”:“47a80cf5.9c7f04”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“LED Bureau”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“light”,“service”:“turn_on”,“entityId”:“light.led_bureau”,“data”:"{“white_value”:255,“rgb_color”:[0,255,0],“brightness”:255,“transition”:15}",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:730,“y”:40,“wires”:[[“80fe91d4.e2f13”]]},{“id”:“1d338998.54e676”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“LED Meuble”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“light”,“service”:“turn_on”,“entityId”:“light.led_meuble”,“data”:"{“white_value”:255,“rgb_color”:[0,255,0],“brightness”:255,“transition”:15}",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:730,“y”:100,“wires”:[[“80fe91d4.e2f13”]]},{“id”:“ec1dd4ef.1946a8”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“LED Bureau”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“light”,“service”:“turn_off”,“entityId”:“light.led_bureau”,“data”:"",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:727,“y”:169,“wires”:[[“d38517e5.2c7178”]]},{“id”:“b562c495.fa81d8”,“type”:“api-call-service”,“z”:“4919717e.34da4”,“name”:“LED Meuble”,“server”:“19028f05.bad0d1”,“version”:1,“debugenabled”:false,“service_domain”:“light”,“service”:“turn_off”,“entityId”:“light.led_meuble”,“data”:"",“dataType”:“json”,“mergecontext”:"",“output_location”:"",“output_location_type”:“none”,“mustacheAltTags”:false,“x”:730,“y”:220,“wires”:[[“d38517e5.2c7178”]]},{“id”:“8068dd32.ce958”,“type”:“switch”,“z”:“4919717e.34da4”,“name”:“Switch bureau Al”,“property”:“payload.event.node_id”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“2”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:1,“x”:290,“y”:260,“wires”:[[“84ecffaa.1d07c”]]},{“id”:“19028f05.bad0d1”,“type”:“server”,“name”:“Home Assistant”,“legacy”:false,“addon”:true,“rejectUnauthorizedCerts”:true,“ha_boolean”:“y|yes|true|on|home|open”,“connectionDelay”:true,“cacheJson”:true}

I found this post to be helpful.

I might have found the issue. My light is in Z-wave JS but identified as light.red_series_dimmer_current_value. is that normal?

If I set it up in the dashboard, it says unavailable

I know this was 6 days ago so a lot can change but have you heard/looked into running the ZwaveJS2MQTT add-on instead of the Zwave JS add-on? With MQTT you can set config parameter. I just tried it out on a test VM I setup.

Yep I sure did. I do it through Node Red and a LOT of automations, so I’m waiting a bit for a FINAL solution before I go changing everything to a interim solution. I am avoiding MQTT not because it doesn’t work, but because it’s another step that causes a slight delay. Speed is king here.

Thanks for pointing that out though!

1 Like

Yah I’ve only tested out JS on a VM. Im not touching my main rig yet. And really, aside from an occasional hang up a few weeks ago, OZW 1.6 has run good for me so I dont really need to switch to JS. But I kinda want to just because its new lol

1 Like

It looks like LZW45 is on the list for the Z Wave JS group to do. I dont know if that changes anything on the Inovelli side or not?


image

1 Like

Yup, I looked at the codebase and it looks like @pedro is working on the config files for the LSW45 right now.

I also opened a ticket to see if we can get the new parameters added to the config files. The main developer over there said they were focusing on getting everyone’s standard zwavealliance configs into the config files first and then will do firmware specific updates after that.

So far, the config parameters they have are pretty complete for Inovelli but missing some of the newer, beta firmware, changes that are not ‘officially’ in the zwave certified standard.

@EricM_Inovelli It may be helpful to provide a guide on which parameters are which in each firmware version in one place. This may help the devs get things like parameter 50, 51, and 52 for red series dimmers included just for the right firmware versions into the config files.

The project is moving fast though! I moved to zwavejs2mqtt over the weekend and it has been pretty good so far. I chose the mqtt version for the admin interface which works well.

1 Like

image

Ha! My mistake good sir!

1 Like

Just to confirm, they are going to have firmware specific versions of the config files and a method in place that assigns the correct config file based on the firmware version? What happens if the user updates the firmware after the device is included into the network? Does the system check the firmware version and then re-assign a config file if necessary?

Hey Eric -

As I understand it, yes, the config files have the ability to be firmware specific. What I am not sure about is if the zwave devices update the hub when they get upgraded to show the new firmware versions and subsequently show the new config parameters. I would assume they do, and if not now, maybe in a future release. @petro - seeing as you are working on the config files, do you have any idea?

Here is the documentation on how they call out firmware versions.

There is also a RFC to enhance the documentation so that multiple firmware versions can sit in one config file.

Also - FYI, zwave js has the ability for OTA updates so that will be a nice addition to home assistant.

Yes, as a matter of fact, there is a PR that adds all the params for the LZW31(-SN) and even only shows the correct params for the beta firmware if you are on that.

Ill what happens when you update, but I think the device might need to be reinterview. That should happen on next restart. If it does need a reinterview, I can submit it as an issue saying arguing an interview should always happen after a firmware update. Seems logical for any zwave device to me.

They added the ability to update Target 1 in a recent PR, so I’ll test it so as soon as that gets pushed out in a build.

Hopefully in the near future, adding an invoelli device to HA will be as simple as adding the device to the network, no more of that ozw 1.4 config file stuff.

I tried this yesterday and it didn’t like the .bin file for some reason. I don’t have time to dig further right now.

Yeah it is checking to see if it is a valid zwave firmware. And its not, as its for the other MCU. Fixed in dev but not in a release yet.

1 Like

I saw that post about 5 times and finally saw what you did wrong. Even though he had circled it. lol

On the topic of LZW45 drivers, how can I tell in GitHub when they have been added? Im pretty new to GitHub and its very confusing to me. I just tried to add my LZW45 to my virtual machine running Z Wave JS and it didnt include correctly.