Lutron dimmer request - 'on' levels

I'd like to have some choice in the Lutron dimmer driver to toggle the dimmer 'on' to either the previous level or to a predefined level. And have that predefined level be settable via a custom action.

When Hubitat toggles 'on' a Lutron dimmer the hub turns it on to the previous level. Example Telnet command: OUTPUT,35,1,79.00 for a dimmer that was previously set to 79%. The Lutron Telnet command always requires a level, there is no on/off toggle. So Hubitat grabs the existing level state for its 'on' toggle. When Hubitat turns a dimmer 'off', the Telnet output is e.g. OUTPUT,35,1,0.00 but the driver level state is not changed to 0.

The particular example I have in mind is HomeKit, but the concept applies to anywhere where the dimmer power is toggled 'on'. When using Lutron's native HomeKit integration toggling lights on always turns them on to 100%, even in RadioRA 2 with a dimmer programmed to come on at some other level. When integrating via Hubitat/Homebridge the dimmer comes on at the previous level.

One can kind of get something similar via button controllers and rules, but at a cost of more complexity.

Thanks for considering @bravenel

2 Likes

I'm confused about what you're talking about. Are you talking about RM? Levels are not decided by drivers, nor do drivers support toggle as a command. Only apps implement toggle, and provide the definition of what it means.

The RM toggle dimmer action does take a level that you choose. It turns the light off or on to that level. It makes no reference to the light's previous level.

Just so we're clear, when I use the verb 'toggle' it means, if on, turn off; if off, turn on. Is that what you mean?

Or, are you talking about giving an on command to a Lutron dimmer? That does reference its current level in the driver, since, as you point out, it has to use some level in the Telnet command to Lutron. But, the driver is just an interface for apps to control the device, so the question still comes back to what app environment are you thinking of. Why would you use on() for a dimmer of any kind (not just Lutron) when you can use setLevel(level), which turns on and sets a specific level? For a Lutron dimmer, setLevel(50) results in OUTPUT,35,1,50, not two commands (and this is true for other types of dimmers also, for the most part).

1 Like

Yes, I am talking about the device page and driver. No RM or other apps. Just turning the dimmer on (or off). No interacting with levels. Like pressing the physical RadioRA 2 Maestro-style button. Or the 'on' button on the Hubitat Device page.

The reason to use a plain 'on' command rather than a set level is that in some places that's either the default or easier. The examples are control-based (dashboard, Apple Home, Alexa, Google Home, etc.) rather than automation based. People get 'turn on the lights' a lot more than 'turn on the evening scene' IMO.

Any dimmers that are integrated into systems with Lutron provided programming will come on at 100%. That's in my HomeKit example above. It is also true of Alexa. Tell Alexa to turn the light on via the Lutron skill and it comes on to 100%. Press the 'on' button in Apple Home the light turns on to 100%.

Dimmers that are integrated via Hubitat, whether Homebridge/HomeKit or Alexa, the light comes on to the previous level when issued an 'on' command. Just like pressing the 'on' button in the Hubitat device page.

The issue is that both of these are/can be wrong. If I have my dimmer set in Lutron programming to come on at 75% (which is my most frequent setting), then Lutron integration is wrong almost 100% of the time. If I use a Hubitat-based integration it may (or may not) be wrong depending on previous interactions with the dimmer.

What I'm asking for is for that 'on' level to be settable in the dimmer Device page. 1) a preference toggle for fixed percent or previous level. Then 2) a field to enter the fixed percent. This essentially replicates RadioRA 2 settings for the dimmers. Adding automation capabilities of custom commands for the 'on' settings would make the system more flexible.

Examples of RadioRA 2 Lutron programming:
RadioRA 2 programming to previous level (which is how the Hubitat driver behaves)

RadioRA 2 programming to 75%

OK, I understand now (slow).

It's an interesting problem set. Z-Wave devices, when sent an on command, come on to their prior level (per the spec). I don't know about Zigbee (yet). Given that for Lutron this is in the realm of a one time preference setting, perhaps the fix for Hubitat Lutron dimmer driver as well. The choices could be similar to what Lutron offers for the Advanced Settings, namely, 10%, 25%, 50% 75%, 100% and Last Level. I can add the preference to the dimmer driver, and probably get that into 2.2.9.

This is going too far IMO

5 Likes

Thanks, that's great! But why not just a field for a user entered value?

I think making a custom action for this function would make some automations easier to implement and understand. Put the changes based on mode (or whatever) in a RM app. Then just turn on the dimmer. No need for scenes, virtual devices, button controllers, etc.

Anyways, thanks again.

But it somewhat radically departs from the design of dimmer capability, their attributes and commands across the hub overall. The preference copies the Lutron preference. It needs to be a pull down list for the same reason that Lutron uses a pull down list, so that Last Level can be on the list.

The concept of dynamically settable staged levels for on() is not a bad idea. It's just that if we go that way, we'd want to do it across the entire platform. That won't be in 2.2.9.

6 Likes

I think of it as making Lutron dimmers more capable/flexible. RadioRA 2 actually can do it in a rudimentary way by using Green Mode. Green Mode applies a trim level to the selected dimmers and can be button-activated by a keypad button or timeclock event. One can also have multiple Green Modes.

I'm pretty sure there are some user-created Z-Wave and Zigbee dimmer drivers that change the 'on' settings based on mode/time of day. I think the users call it "pre-staging"

Make last level or defined level a toggle. Also add a free-form field that accepts a number. The field input is only used if the first toggle is set to defined level.

The Lutron pull down list can actually be overridden by just typing a value into the box.

Great!

OK, will separate choosing use Last Level from the preset level, so any value can be used (1..100).

3 Likes

5 Likes

Looks good!

1 Like

The functionality works great. Thanks again.

Just noticed this feature in the last release. I am wondering if this applies only to instances where the dimmer is turned on through an automation, or if it also includes the dimmer being turned on by a physical press of the "on" button on a lutron dimmer.

Automation only-- the physical button will ALWAYS come on at 100%.

2 Likes

Only via Hubitat. It can be a Hubitat automation including a button on a dashboard or via voice. It can't fix Caseta's 100% only issue.

2 Likes

It is probably obvious to people who understand how the Lutron integration works, but you might want to change "Use Last Level for on?" to "Use Last Level for digital on?".

When making changes in the device page and driver for many other devices (zwave and zigbee) changes can actually effect how the device works based on both digital and physical presses, so it is not automatically obvious that this toggle only changes the behaviour for "digital on"

Either way, no big deal, and thanks for the new feature.

1 Like