Need help with a Leviton DG6HD-1BW dimmer

I need help with a Leviton DG6HD-1BW mains-powered wall dimmer. It does not respond correctly to pressing the top ("ON") paddle (button 1) from an OFF state when running a Rule Machine (RM) rule.

Below is the rule (which runs fine using "Run Actions" within the rule -- so I believe the logic is correct). The trigger is "Office Downlights button 1 pushed". Basically, late at night, the OFF to ON transition should turn the lights ON to 30%. Additional presses of the top paddle should (and do) toggle the lights between 30% and 100%. Outside of the light night period, the lights should (and do) just turn ON.

image

The problem oocurs in line 3 ("Dim: Office Downlights: 30") when actually pressing the dimmer's top paddle. Pressing the top paddle during the "late night" hours should cause the lights to be set to 30%. Instead, about 80% of the time, the Leviton dimmer LED lights start up from 0%, hesitate at 30% or so, then proceed to 100%, turning the controlled lights completely ON.

Once the light is ON, the rest of the logic works fine, since line 3 is skipped.

Notes:
⦁ I'm using the Leviton Zigbee Dimmer ("LZD") driver, with pre-staging usually enabled (but the same problem occurs if pre-staging is disabled, but seemingly more frequently).

⦁ In most OFF to ON transitions triggered by pressing the top paddle, the 7 LEDs (which should stop at LED 2) go 1-2-3-2-4-5-6-7 -- note the regression from 3 to 2.

⦁ The LZD driver reports top paddle presses as button 1 even when the dimmer is already in some ON state, which allows the toggling logic to work correctly.

⦁ I tried other drivers (e.g., "Generic Component Dimmer", "GE Zigbee Dimmer") which do work correctly for the OFF to ON transition, stopping at 30% (LED 2) -- BUT they do NOT report top paddle presses as button 1 if the dimmer is already in any ON state.

⦁ Accordingly, I think the problem lies in the Leviton driver since some other drivers can properly execute the 30% dim command.

⦁ I've tried to "trick" the dimmer into setting the lights at 30% during an OFF to ON transition, including looping the Dim command 3 times and putting in two 30% Dim commands separated by a 1 second delay -- nothing has worked so far, the progression is almost always 0% to 100%.

⦁ I have 28 of these dimmers (and 5 Leviton "companion" units for 3-way circuits) so replacing with a better dimmer would be expensive. The rule behaves the same on every unit I've tried it on (6 so far), so I don't think it's a problem with any specific unit.

I would much appreciate any help or guidance. Thanks in advance!

I assume pressing the top paddle also turns the device on? So is it possible that sometimes the device has already reported "on" by the time it gets to the second line of your screenshot?

Turn on all the logging for the device and the rule and try to reproduce. The logs will tell you exactly what happened.

1 Like

Another thought: you can set these to go on at a predefined level. Set it to go on at 30% and then have a rule that increases it to 100% during the day. Depending on your ramp rate, you may not even notice a hitch.

Bingo! I added a "play sound" command after line 3 of my logic, and that WORKS if I use "Run Actions" from within the rule but FAILS if I press the top paddle when trying an OFF to ON transition. So upon the paddle press, the dimmer instantly changes to "ON" and line 3 never executes.

Absent a fix to the Leviton driver to be in accord with other Zigbee dimmer drivers, I'll try Mark_T's workaround.

There may not be a "fix" for the driver. If the device reports the "on" state back to the hub before the button event then the driver is just doing what they do. In that case the switch state would get changed to "on" before your rule triggers from the button press.

You could use another rule and a global variable to track a delayed state of the switch, then use the variable in your rule instead of the actual state.

1 Like

Thank you for the hub variable suggestion!

Here's my working code for a 3-level dimmer function (I got fancy after the basic 2-level solution worked) triggered by pushing button 1 (top paddle):
EDIT: code corrected to add missing END-IF

image

That code works in conjunction with this code triggered by pushing button 2 (bottom paddle):

image

Note that the "Dim: Office Downlights: 30" in this 2nd set of code doesn't actually seem to do anything (the level after pushing button 2 is reported as a very nearly random number), but I've kept it in case the driver is revised to actually execute that command when the OFF button is pushed.

1 Like

For completeness, note that I used the following settings for the dimmer:

  • Transition Time: ASAP
  • Pre-staging enabled
  • Level Reporting Interval: 1s
  • Start level changing rate: Fast

Here is a final (maybe) iteration of the 2-way or 3-way dimming code for a Leviton DG6HD dimmer (trigger is pushing the top paddle, button 1). Note that the dimmer, when transitioning from OFF to ON, seems to quickly seek it's last locally stored dimming level, much quicker than Hubitat can run this code, so there may be a quick flicker for an OFF to ON transition.

All local variables can be set in the associated table (below).

image

The ON to OFF code (triggered by the bottom dimmer paddle, button 2) is as follows: