New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zooz ZEN31 RGBW not creating correct entities #31253
Comments
The exported device XML from https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/1163 <?xml version="1.0" encoding="utf-8"?>
<Product xmlns="http://code.google.com/p/open-zwave/">
<!-- Configuration Parameters -->
<CommandClass id="112">
<Value genre="config" instance="1" index=1" value=0" label="Status after power failure" units="" size=1" min=0" max=2" type="list">
<Help>Status after power failure</Help>
<Item value="0" label="Forced to OFF">
<Item value="1" label="Restore status">
<Item value="2" label="Forced to ON">
</Value>
<Value genre="config" instance="1" index=20" value=2" label="Switch / Input type for IN1" units="" size=1" min=0" max=4" type="list">
<Help>Switch / Input type for IN1</Help>
<Item value="0" label="Analog sensor with no pull-up">
<Item value="1" label="Analog sensor with pull-up">
<Item value="2" label="Momentary switch">
<Item value="3" label="Toggle switch (change on toggle)">
<Item value="4" label="Toggle switch (Up = ON, Down = OFF)">
</Value>
<Value genre="config" instance="1" index=21" value=2" label="Switch / Input type for IN2" units="" size=1" min=0" max=4" type="list">
<Help>Switch / Input type for IN2</Help>
<Item value="0" label="Analog sensor with no pull-up">
<Item value="1" label="Analog sensor with pull-up">
<Item value="2" label="Momentary switch">
<Item value="3" label="Toggle switch (change on toggle)">
<Item value="4" label="Toggle switch (Up = ON, Down = OFF)">
</Value>
<Value genre="config" instance="1" index=22" value=2" label="Switch / Input type for IN3" units="" size=1" min=0" max=4" type="list">
<Help>Switch / Input type for IN3</Help>
<Item value="0" label="Analog sensor with no pull-up">
<Item value="1" label="Analog sensor with pull-up">
<Item value="2" label="Momentary switch">
<Item value="3" label=" Toggle switch (change on toggle)">
<Item value="4" label="Toggle switch (Up = ON, Down = OFF)">
</Value>
<Value genre="config" instance="1" index=23" value=2" label="Switch / Input type for IN4" units="" size=1" min=0" max=4" type="list">
<Help>Switch / Input type for IN4</Help>
<Item value="0" label="Analog sensor with no pull-up">
<Item value="1" label="Analog sensor with pull-up">
<Item value="2" label="Momentary switch">
<Item value="3" label=" Toggle switch (change on toggle)">
<Item value="4" label="Toggle switch (Up = ON, Down = OFF)">
</Value>
<Value genre="config" instance="1" index=40" value=1" label="Click/toggle once to trigger a scene (IN1)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN1 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=40" value=1" label="Click/toggle twice to trigger a scene (IN1)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN1 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=40" value=1" label="Click/toggle three times to trigger a scene (IN1)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN1 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=40" value=1" label="Hold and release to trigger a scene (IN1)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN1 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=41" value=1" label="Click/toggle once to trigger a scene (IN2)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN2 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=41" value=1" label="Click/toggle twice to trigger a scene (IN2)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN2 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=41" value=1" label="Click/toggle three times to trigger a scene (IN2)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN2 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=41" value=1" label="Hold and release to trigger a scene (IN2)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN2 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=42" value=1" label="Click/toggle once to trigger a scene (IN3)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN3 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=42" value=1" label="Click/toggle twice to trigger a scene (IN3)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN3 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=42" value=1" label="Click/toggle three times to trigger a scene (IN3)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN3 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=42" value=1" label="Hold and release to trigger a scene (IN3)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN3 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=43" value=1" label="Click/toggle once to trigger a scene (IN4)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN4 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=43" value=1" label="Click/toggle twice to trigger a scene (IN4)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN4 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=43" value=1" label="Click/toggle three times to trigger a scene (IN4)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN4 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=43" value=1" label="Hold and release to trigger a scene (IN4)" units="" size=1" min=0" max=1" type="list">
<Help>Assign scene activation trigger for IN4 terminal</Help>
<Item value="0" label="Disable">
<Item value="1" label="Enable">
</Value>
<Value genre="config" instance="1" index=62" value=3600" label="Power report frequency" units="seconds" size=2" min=30" max=32400" type="list">
<Help>Power report frequency</Help>
<Item value="0" label="Disable">
</Value>
<Value genre="config" instance="1" index=63" value=5" label="Voltage Reporting / Trigger Threshold" units="Volts" size=2" min=0" max=100" type="short">
<Help>Choose how you want your RGBW Dimmer to report voltage changes.</Help>
</Value>
<Value genre="config" instance="1" index=64" value=0" label="Analog Sensor Report Frequency" units="seconds" size=2" min=30" max=32400" type="list">
<Help>Choose how often you want your RGBW Dimmer to report voltage changes.</Help>
<Item value="0" label="Disable">
</Value>
<Value genre="config" instance="1" index=65" value=10" label="Energy report threshold" units="10 Wh" size=2" min=0" max=500" type="short">
<Help>Energy report threshold</Help>
</Value>
<Value genre="config" instance="1" index=66" value=3600" label="Energy report frequency" units="seconds" size=2" min=30" max=32400" type="list">
<Help>Energy report frequency</Help>
<Item value="0" label="Disable">
</Value>
<Value genre="config" instance="1" index=150" value=0" label="RGBW / HSB Wall Switch Mode" units="" size=1" min=0" max=1" type="list">
<Help>Choose how switches connected to the input terminals control your LED strip</Help>
<Item value="0" label="RGBW mode">
<Item value="1" label="HSB mode">
</Value>
<Value genre="config" instance="1" index=151" value=3" label="Ramp Rate" units="" size=2" min=0" max=254" type="short">
<Help>Adjust the fade-in/fade-out effect for ON/OFF operation</Help>
</Value>
<Value genre="config" instance="1" index=152" value=3" label="Ramp Rate (remote)" units="" size=2" min=0" max=254" type="short">
<Help>Adjust the ramp rate of your RGBW dimmer when operated remotely through openHAB</Help>
</Value>
<Value genre="config" instance="1" index=154" value=255" label="Single Click ON Trigger (IN1)" units="" size=4" min=0" max=99" type="list">
<Help>Single Click ON Trigger (IN1)</Help>
<Item value="255" label="ON">
</Value>
<Value genre="config" instance="1" index=154" value=255" label="Single Click ON Trigger (IN2)" units="" size=4" min=0" max=99" type="int">
<Help>Single Click ON Trigger (IN2)</Help>
</Value>
<Value genre="config" instance="1" index=154" value=255" label="Single Click ON Trigger (IN3)" units="" size=4" min=0" max=99" type="int">
<Help>Single Click ON Trigger (IN3)</Help>
</Value>
<Value genre="config" instance="1" index=154" value=255" label="Single Click ON Trigger (IN4)" units="" size=4" min=0" max=99" type="int">
<Help>Single Click ON Trigger (IN4)</Help>
</Value>
<Value genre="config" instance="1" index=157" value=0" label="Preset Programs" units="" size=1" min=0" max=10" type="list">
<Help>Enable one of the preset animated color programs to set the mood with a click</Help>
<Item value="0" label="Preset programs disabled">
<Item value="6" label="Fireplace">
<Item value="7" label="Storm">
<Item value="8" label="Rainbow">
<Item value="9" label="Polar Lights">
<Item value="10" label="Police (strobing red, white and blue)">
</Value>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="10">
<Group index="1" label="Lifeline" max_associations="1" auto="true" />
<Group index="2" label="Group 2" max_associations="5" />
<Group index="3" label="Group 3" max_associations="5" />
<Group index="4" label="Group 4" max_associations="5" />
<Group index="5" label="Group 5" max_associations="5" />
<Group index="6" label="Group 6" max_associations="5" />
<Group index="7" label="Group 7" max_associations="5" />
<Group index="8" label="Group 8" max_associations="5" />
<Group index="9" label="Group 9" max_associations="5" />
<Group index="10" label="Group 10" max_associations="5" />
</Associations>
</CommandClass>
</Product> |
Hey there @home-assistant/z-wave, mind taking a look at this issue as its been labeled with a integration ( |
Checking in on this as I just purchased one. Did you end up finding a workaround @michaelwoods ? |
@mcondren no, after altering my z-wave config and rebooting a couple times my z-wave network practically failed and I'm still missing 10% of devices from it. Anytime I've messed with my z-wave config it ends up failing somehow so now I'm treating it as read only dev-wise. |
Looks like it's supported in 1.6. https://github.com/OpenZWave/open-zwave/blob/master/config/zooz/zen31.xml |
I got mine pairing but still no switch entity. It’s correctly detecting brand and model. Here is my pairing OZW_log limited to only Node36 lines, which is the zen31. Perhaps an unsupported command class? @homeassistant/z-wave |
Same issue. It seems like somehow the "Multilevel Tunable Color Light" device type is not working in home assistant in general or for this specific device. Wasn't able to figure out what specifically was wrong within home assistant to figure it out. Our application doesn't require color so we switched to the "Multilevel Power Switch" by switching specific="2" to specific="1" in the Node xml of zwcfg_.xml file |
Did you import the 1.6 zen31 config files first, or just import with OZW 1.4 and then modify the zwcfg? I have 3 white LED’s one connected to R, G, and B. I’m assuming since I use 3 of the terminals (even though I don’t use color), that I can’t use this workaround? |
We did try to import the import the 1.6 zen31 config files but they don't seem to be working as no entity is created to control the light on/off, brightness, color. We were on older versions of both OZW and home assistant but upgrading didn't seem to help. The configuration settings, like default on/off after power failure, was working. After pairing the device, We edited the zwcfg_.xml file after the device configuration was already imported and written as xml by home assistant into this file. After our change to the specific option an entity with the prefix of "light." was added. Home assistant provided controls for on/off, brightness, and color picker. On/Off and brightness worked but when a color was chosen it reverted back to white. With our setup we have a single white only led strip connected to W, so color isn't needed at all. mcondren, I'm not entirely positive based on our setup if there is signals going to all RGBW outputs but my guess is that on/off & brightness affects all 4 ports. Do you want to individually control each LED strip? If so you will need the color support to be figured out, but I think it will work if you change the specific setting to 1 if you want to control all of the strips at the same time. |
Thanks. I only need them to all go on/off at the same time (under cabinet lighting). I’ll revert the ozw 1.6 config files and give it a try tonight. Thanks. |
Got it, makes sense. If the separate ports don't work, I think you can combine all into the W by screwing in a single "pigtail wire" into the screw terminal and then joining all of the wires together using a wire nut that are currently in the other ports. |
So my barrel connectors arrived and I hooked everything up. Zen31 generated a light entity once I made the zwcfg change you mentioned above. However, turning on the light entity in HA doesn’t seem to do anything. I stuck a multimeter on the White and positive (+) dimmer ports while the light entity was on and am getting negligible voltage. (.005v). The manual says that each color terminal is controlled by the matching IN input connector on the dimmer where you can attach a switch. I am not using a switch, I just want to turn On the white, blue, and green terminals by calling light.turn_on in Home Assistant. Does anybody have any insight into this setup? |
Actually... I guess I could test this by installing a jumper between IN4 and ground to simulate a closed switch. |
Nope, didn’t seem to have any impact. I’m stumped. |
Have you unplugging and plugging back in? I think I had todo that, it forces OpenZWave to re-negotiate with the device and exchange supported/expected command classes. |
Yes. I have cycled the power many times during testing. |
Unpaired and started again. Made the zwcfg changes in you check-in. Light entity created again. With light entity on I used a multimeter to check the following. I get 12v between + and - terminals on dimmer. So that’s working fine. However, with the light entity on I put the meter between The W (white) terminal and + (pos) and I get 0v. It just seems like HA is not sending whatever command it needs to activate the RGBW terminals... |
Did you try removing the command class COMMAND_CLASS_SECURITY in the xml? I just setup a 2nd zen31 and found that removing this was also required to interact with the light entity. |
Yes, I deleted the security command class under the zen31 node. Tempted to give up and just order one that HA supports like the fibaro dimmer. |
The only change I didn’t make was the ones in your entity store. Most of it seemed to be changing null values to empty brackets and I wasn’t sure how to get to that file. Are those changes necessary? |
No you don't need the other changes, some are for other devices, caused by persisting the file in github after homeassistant is stopped and it writes to the file. |
Ok, did some more experimenting. Converted OZW 1.6 zen31 config file to 1.4 format and tried that. No joy. Then I noticed that the device type ‘Multilevel Tunable Color Light’ is not even supported by OZW 1.4. I will add it to the device_classes.xml and try again tonight. That should take care of zwave support, but I’m not sure if any work needs to be done on the HA side to know what entities to create from that device type. |
Ok! Made some progress. OZW log now shows command class 38 (multilevel switch) as supported and recognized now. I am also now getting proper power readings from the sensors. Last thing left seems to be still no light entity or switch. Looks like while Ozw now detects the command class properly, HA doesn’t know what to do with it entity-wise. |
What are the generic and specific values of the node (in zwcfg*.xml)? The entities are only created if the types (plus command classes) match the discovery schemas. |
Ah, thanks for pointing out the discovery schema. It looks like the SPECIFIC_TYPE_COLOR_TUNABLE_MULTILEVEL specific type is not supported in the discovery schema which is likely the problem. When the device is initially added to home assistant it is populated with the values: basic="4" generic="17" specific="2". Currently the discovery schema only supports the specific types of: SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL (1), SPECIFIC_TYPE_SCENE_SWITCH_MULTILEVEL(4), and SPECIFIC_TYPE_NOT_USED (0). In order to get a light entity to show up we manually edited the zwcfg*.xml to use specific="1". But it seems to me that we should instead add SPECIFIC_TYPE_COLOR_TUNABLE_MULTILEVEL specific to the discovery schema here:
|
That sounds like the correct fix (and an easy one). The discovery schemas loosely match the device types defined by the Z-Wave specs, and are probably not pro-actively updated. The color switch was added as part of the ZWave Plus v2 Device Types Specification. |
I added "SPECIFIC_TYPE_COLOR_TUNABLE_MULTILEVEL" to the discovery schema file as @michaellee1019 suggested. Home assistant did indeed create one light entity. It didn't totally fix the problem. I can now turn on/off the ZEN31 and adjust the brightness, but I'm unable to control the white channel or change colors on the RGB color wheel. I can sent it configuration parameters, so I can change the settings on this. Has anyone else made headway on this? |
I can confirm the same behavior with Fibaro FGRGBW442. After adding "SPECIFIC_TYPE_COLOR_TUNABLE_MULTILEVEL" to the discovery schema "light" entity appears, but unlike with ZEN31 it seems to only control white channel. |
I was able to get it working. Involves editing the OWZ config file. |
Can confirm that this workaround works for Fibaro FGRGBW442 as well. |
This issue is also present with the ozw integration. I can control the LEDs with ozw-admin but within HA only energy entities appear. |
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. |
The problem
A new Z-Wave device, Zooz ZEN31 (S2 RGBW Dimmer), is currently unknown by the xml device configs. I've exported an open z-wave xml config from the device database and the name is correctly displayed once excluded and re-included.
However, before and after the XML addition, the device doesn't spawn the correct entities. The command classes are correctly detected in the OZW cfg xml (eg, "COMMAND_CLASS_SWITCH_MULTILEVEL", "COMMAND_CLASS_SENSOR_MULTILEVEL", "COMMAND_CLASS_METER" and notably "COMMAND_CLASS_COLOR").
The only entities that are created seem to be related to the meter class (power, energy, voltage, etc.). There is no light nor switch entity created.
Environment
Problem-relevant
configuration.yaml
Traceback/Error logs
n/a
Additional information
I'm not too sure if I need to further tweak the device XML or the integration itself is incorrectly missing entities.
The text was updated successfully, but these errors were encountered: