A request: constant dimming rate for zwave brightness commands

Hello team, big fan here with a humble suggestion.

My primary use case is scenes commands that are triggered by the inovelli or other devices, which trigger home assistant scenes, which set the brightness of devices in the scene.

On the red dimmer, it makes for a little bit of funky behavior if making a smaller change in brightness, such as from 100% to 75%. The dimmer uses a constant time for brightness changes, which feels natural to go from 0 to 100%, but when making a smaller change it means the rate of change is much slower and feels funky. At low brightnesses it is noticeably quantized as well.

I would love the ability to set a brightness ramp rate on the dimmer config instead, either with ā€œbrightness per timeā€ or ā€œtime for full changeā€. For example, ā€œ50% per secondā€, so a change from 0% to 100% would take 2 seconds, but a change from 0% to 25% would only take 0.5 seconds.

Cheers!

1 Like

If on home assistant, you will be able to use ā€œtransitionā€ soon ā„¢ for applying brightness changes and scenes. Via Zwave JS.

1 Like

I appreciate the reply. Unfortunately doing from home assistant also has the problem of being a duration and not a rate

I may be misunderstanding you, but ā€˜brighness per timeā€™ already exists in the zwave multiLevelSet(value,duration) command and Inovelli dimmers support it.

The Inovelli dimmers also have a settable default rate (Parameter #1) that sets the duration for dimming commands which do not specify the optional duration. You can change the default rate to apply to all dimming commands, or your scenes can specify the duration you want to override the default duration.

The specifics of how to do it depend on your automation platform, but basically when you tell it to ā€˜dim to 75%ā€™ you would also include an optional duration value. The factory default setting for Parameter 1 (default dimming speed) is 3 seconds. If the load is at 100% and you send a setLevel(75) command, it will take 3 seconds to dim from 100 to 75. If you want to override that you send a setLevel(75,1) and then it will take 1 second to dim from 100 to 75 instead of the default 3 seconds. If you send a duration of 0 it will jump immediately from 100 to 75.

Iā€™m being picky so Iā€™ll try to clarify

Thatā€™s still duration. Iā€™m looking for a constant dimming rate like ā€œ50% per secondā€, so a change from 0% to 100% would take 2 seconds, but a change from 0% to 25% would only take 0.5 seconds.

My first-world-problem being that turning from 0% to 10% (night light in a bunch of rooms) feels super slow and the dimming levels during the transition are noticeably quantized at low levels. Slow enough youā€™re not sure if you even triggered the scene. Because theyā€™re just a brightness command and use the built in duration.

When dealing with duration in a command, then the automation side (HA for me) would have to calculate the current brightness, target brightness, then divide by rate to get the duration for each dimmer being set in the scene, which is not doable with a scene in HA.

1 Like

@EricM_Inovelli ā€“ tagging you for reference :slight_smile:

HA has scene transition. If properly specified, this should allow HA to automate level commands over a period of time to get from one brightness to another.\

To be clear, as far as I can tell, you are requesting a manufacturer to implement something that is outside of z-wave specifications (no, I didnā€™t read the entire spec), which is not an Inovelli issue but more of a command class issue with z-wave driver itself. Might have better luck getting something integrated with sigma designs.

I was thinking the same thing. Here are some extracts from the silabs z-wave design documnet


Again HA can only specify a single duration in a scene, and would take a lot of special handling to calculate a duration based on the current and target brightness for each dimmer. The simple way of setting up scenes in HA only saves the current device state. For example I have 4 scenes for my living room which contains 3 dimmers, the scenes corresponding to 0%, 10%, 60%, and 100%. I ā€œactivateā€ a scene which only sends brightness commands to the devices in that scene.

My proposal would be HA sends a brightness command with no spec for duration so using the 0xFF, so the dimmer would use its default. In current firmware the default is a dimming duration in seconds. With the option Iā€™m proposing, the default could be set up on the dimmer to optionally use a rate of change instead if a duration is not specified in the command, so visually every transition happens at the same speed.

In other words, if a duration is not specified, it would scale so that a change smaller than 0 to 100% also scales the default duration.

Currently with the config parameters 1-4 the duration is spread across the dimming spectrum. So if it is set to 2 seconds and you change the level from 0-25% it should take .5 seconds. From 0-50% it should take 1 second, etc.

I think what you are noticing may be a minimum level that can be bumped up or a quirk with LED bulbs. The ā€œquirkā€ is that many LED bulbs do not turn on until they reach x%, but once they are on you can dim them down to <x%. So if you start at 0% and increment the dimmer up 1% until the bulb turns on, this can give you your minimum level. If you start at 50% and increment down, the level will likely be lower than what the minimum level needs to be because of the quirk.

1 Like