[Beta Release] Advanced "Every Device Customized" Zwave Plus Dimmer/Switch Driver

Probably more of a "release" version. I'm using it with about 100 devices without any problems (switches, dimmers, multi-endpoint devices, Ring G2 motion sensors, etc.). Definitely works with the WD100 and WS200 (I have multiples of those).

Just be sure to reboot after this is assigned to any device or click the "initialize" control for the device. If the "initialize" routine hasn't run, you'll just get errors until it does run. Let me know if it works for the Zen17.

Note that for your HomeSeer devices (and all devices with Central Scene), there is a "new" custom attribute "multiTapButton" which lets you work with more than 2 taps.

The multiTapButton attribute will report a decimal number in a X.Y form like 3.1, 1.2. The X part is the button number, the Y part is the number of taps. So a value of 3.1 would mean button #3, 1 tap. You can use this in a rule (triggered by a custom Attribute) and then check the value to trigger off of 1, 2, 3, 4, or 5 taps (traditional "pushed" and "doubleTap" are also supported). I plan to explain this further on the wiki, but haven't posted about that there yet.

The only reason I'm not calling it a "release" yet is I am still doing some code cleanup and plan to add "wake" support for battery operated sensor devices. May also add lock support.

@jvm33, thanks, I will give it a try. A couple of questions:

  • Based on reading previous posts in this thread, it sounds like I will need to redo all rules that my ZEN17 participates in -- is this correct?
  • I've set some of the parameters of the ZEN17 to specific values. Will these be lost and need to be re-established, or will they be preserved?

Thanks!

Marc

Maybe.

My driver requires a specific naming format for child device network IDs and it will rewrite the child devices if the format it finds is incorrect. The format of child names must be in the format of "-ep" followed by a endpoint number. Like "-ep1" or "-ep001"

I believe your Zen17 device will already have child devices and the driver will delete old child devices and create new ones if the format is wrong. This will break the old rules. So, to make the transition process easier, set up several virtual devices to correspond to existing Zen17 child devices. Update your rules to point to those as a temporary "holding" spot. Then install my driver.

They'll be preserved. So this should be a "no risk" kind of thing - try the driver, if it doesn't work for you, just switch it back.

I’ll be travelling again soon, (finally!), so I’m probably best to wait for a general roll-out, but I’ll give it a go on one or two HS-WD/WS devices that my wife doesn’t use (my office).

Have you had a chance to test your driver against the just-released 2.2.9 platform? Do any of the S2 fixes/enhancements affect your new or old drivers?

Yes. I'm using 2.2.9 myself. I have my own S2 library and it works fine.

@jvm33, I tried the driver out on my Zen17 by installing the bundle and ran into an issue.

The Z17 can be wired to 2 sensors and can act as a relay to 2 devices.

When I install the stock driver, I have access to 4 child devices, per screenshot # 1, below.

When I use your driver, I get 3 child devices:

  • EP0 is a master that can trigger both relays. The stock driver does not provide access to this functionality.
  • EP1 enables me to control relay 1 when configured as a switch.
  • EP2 enables me to control relay 2 when configured as a switch.

Unfortunately, I cannot find any way to see the status of sensor 1 or sensor 2. I tried to create an additional child device for endpoint 2, but that did not help. You can see the device info in screenshot # 2, below.

When I short the the appropriate terminals for sensor 2 together, I get the error shown in screenshot # 3 below.

Any ideas for how to address this?

Thanks!

Marc

Screenshot # 1, stock driver

Screenshot # 2, your driver. (First 3 children were created automatically; I created the 4th child)

Screenshot # 3, logs with errors when I short the sensor contacts on EP2.

1 Like

Try version 1.7 of the driver and let me know if you have the same issues:

Link is to the "full" (non-bundle) version of the driver.

https://github.com/jvmahon/HubitatDriverTools/blob/main/FullDrivers/Any_Z_Wave_Device_Universal_Parent_Driver_v1.7.0.groovy

I will give it a try later today.

Do I need to remove the bundle, or simply replace one of the drivers that the bundle installed with the code you linked to?

Marc

You can remove the bundle, but you don't have to.

The link above is for the "Full" driver - i.e., it includes all the necessary libraries from the bundle file pulled together. Just install it as you would any other driver.

I will eventually update the individual bundle library, but not until the weekend.

@jvm33, I tried the 1.7 universal driver you linked to. I get the error shown below in the logs. I tried rebooting the hub -- didn't help.

Thanks!

Marc

Did you click "initialize" on the device's web page after installing the driver, or at least reboot Hubitat? If not, please do that.

I did both. First I tried initialize. When the errors happened, I rebooted the hub.

Update: I tried again. Hit initialize and it produced the error shown below. I then hit initialize again, just in case, and encountered the same error. That is why you see the error twice.

Marc

Try the 1.7.1 version which I just posted.

https://github.com/jvmahon/HubitatDriverTools/blob/main/FullDrivers/Any_Z_Wave_Device_Universal_Parent_Driver_v1.7.1.groovy

Thank you -- 1.7.1 solved quite a few problems -- fantastic progress! I now have 2 relays and 2 sensors, but I am having the following problems:

  • Parameter 8 does not get updated when I try to set it from the preferences section of your driver. I can set it from the basic z-wave driver.
  • I sometimes get the errors shown in the first screenshot below when I update preferences.
  • I periodically see the "Unhandled notification" shown in the second screenshot below.
  • Sometimes there is an 6-10 second delay before the contact sensor shows the state change when I short or unshort the sensor terminals.

Thank you once again for all your help!

Marc

This is for the sensor - should it appear as a contact sensor? I think I can make that work.

It is configurable. There are 2 of them and I have them configured to be a contact sensor.

They are child 1 on endpoints 1 & 2 -- see screenshot below.

I added them using the "Add new child device" button and configured them as contact sensors.

The full list of configuration options are described in parameters 2 & 3 in this doc.

See if 1.7.2 gets you closer . . .

https://github.com/jvmahon/HubitatDriverTools/blob/main/FullDrivers/Any_Z_Wave_Device_Universal_Parent_Driver_v1.7.2.groovy

First, I really appreciate the incredibly rapid turn-around time -- thank you!

I still cannot set parameter 8 properly. I try to set it to 9; it remains set at the value of 2 I put in there via the basic zwave driver.

Screenshot below may help.

I am not getting the unhandled event notifications.

Update: The 6-10 second delay with the sensors is fixed with 1.7.2.

Marc

Click this button a few times, then reboot.
I'm not sure if this will clear the problem but it would be helpful to give it a try.

image

Hit clear-settings 4 times, rebooted but still can't set parameter 8. Log below.

Thanks!

Marc