Each child device is created as a dimmer, you can only set the color on the main device.
Full list of improvements:
Added Preference to create "Child Devices": either for 'white' or 'color' (rgb) device.
Using the Configure command will re-create child devices based on 'Child Devices' preference (if changed).
When using an 'Set Effect' or 'Set Scene', the previous RGBW color and dimmer level will be restored once effects are disabled.
Added option to "Child Devices" preference as 'color channels' (1 child device for each color). This is useful in more advanced scenarios where you can use each channel/color as an independent switch or dimmer.
Added flash capability.
Removed 'Quick Refresh' preference and enabled by default.
Driver will immediately request an update from device even if setlevel or on/off isn't complete due to the 'ramp rate' / dimming duration. Very fast response time.
When Input Type (IN1...IN4) is set to 'Analog', this driver will create child devices allowing you to read voltage from inputs (using 'Configure' command)
Just wanted to say thank you for this! I was struggling to get the Zen31 driver working right for my use case for several days. I stumbled across your driver and got it working exactly how I needed almost immediately.
Hello @jbondc . First of all, thank you for this driver. But I have one problem. I don't see the parameters setting anywhere. Don't you know where the problem might be?
Can you detail what I need to do if I have devices installed with the old driver? E.G., should I first delete all the child devices? Will I need to do a z-wave disassociation first?
So, on my RGB LEDS, I chose to use an RGB child device--but, I'm thinking, why?
On the RGBW LEDS, I added children for both RGB and W. I guess that's necessary for independent control of the the white versus RGB LEDs.
I'll play some to figure it out. What I really want is match the soft white color of surrounding lighting (most of the time), but with the ability to show off by turning the colors to something else. But, then easily go back to the "color matched" soft white.
Screenshots would help. All that's needed is to hit the configure button and it will created appropriate child based on what you selected in "Create child devices". I often use "None" if all I want is RGBW control of one LED. You can choose "None" as a way to remove all child devices.
In this case, I would choose "None" and use a single/main device.
To give an example/practical use for 4 child devices:
In my home I have a single RGBW device in the basement that where the red channel controls a fireplace white LED, the blue channel controls a white LED in our entrance closet and white channel controls a bookshelf LED... So I have a single device that controls three different LED strips in different locations. The fourth is actually used to open/close a 12v valve...
With 2 child devices, I use the same approach generally to control 2 child devices in different locations.
When I have multiple child devices I never use setColor on the main RGBW device and build all rules to use the child devices.
Sometimes I will on/off the main RGBW device to turn everything off quickly.
If I choose none, I will have controls to set R, G, B, and W? I was thinking the separate child devices were required for RGB versus White with dimmer...
Hi jbondc,
Just what I needed as well although also having the issue with viewing parameters.
Second issue is the device doesn't show up in apps --> for example adding as a basic button controller.
Tim
Hi, Hopefully you can help here as I am having a similar issue and also getting an error if I try to configure after changing the driver to your new driver. here are steps I took
Existing device is Zooz zen 31 using default driver.
Removed all "in Use by" connections.
Pasted your driver from github into new driver code
In existing device selected new driver as type.
After hitting save and waiting a minute selected configure to ensure changes were in device.
Sync Status says 1 Change pending.
Checked log and shows this message dev:262025-07-31 10:37:10.955 AM
error java.lang.NullPointerException: Cannot set property 'red' on null object on line 1469 (method configure)
Also "State Variables" don't seem to reflect current state but rather default state. Not sure if that is typical or not?
I also have the issue where parameters are not showing. They were showing with original driver but now nothing shows.?
I am positive this is going to be exactly what I need for my system but need to get past these challenges.
You can try to uncomment the "reconfigure" command which will re-initialize the state.
Currently on vacation but will try to address the issues in the upcoming weeks. There's a couple of tests and improvements left to do before I publish the driver.
Great. Thanks. Will try that. No rush on other stuff. Enjoy vacation but BTW, you may also want to enable the following capabilities to be able to use the inputs effectively with button controllers etc...
|||capability PushableButton|
|||capability HoldableButton|
|||capability ReleasableButton|
|||capability DoubleTapableButton|