Problem with Remote dimmingSpeedDown and rampRateOffToOn

I have been tweaking my new Inovelli Blue switches; love the switches! While setting my expected speed, rates and levels for both local and remote , I have run into two scenarios that don’t appear to work as per the documentation.

I am using zigbee2MQTT with a Conbee 2 USB Gateway. All the testing described below is being done directly in zigbee2MQTT.

dimmingSpeedDownRemote:

When dimmingSpeedUpRemote is set to something low, like 25 for 2.5s, and dimmingSpeedDownRemote is set to something high, like 100 for 10s, changing the brightness from 90 to 10 or from 10 to 90 both follow the dimmingSpeedUpRemote value of 2.5s. If I inverse dimmingSpeedUpRemote to 100 and dimmingSpeedDownRemote to 25, dimming from 90 to 10 or from 10 to 90 both still follow dimmingSpeedUpRemote of 100. dimmingSpeedDownRemote supports a value of 127 to sync with dimmingSpeedUpRemote but from my testing, it’s not possible to override this behaviour regardless of the value set. dimmingSpeedUpLocal and dimmingSpeedDownLocal both behave correctly.

Test Sequence:
	1. Set dimmingSpeedUpRemote to 25 and dimmingSpeedDownRemote to 100
	2. Set brightness of switch to 200 remotely
	3. Set brightness of switch to 20 remotely

Expected Result:
	1. Light should take about 10 seconds to dim down from 200 to 20
	
Actual Result:
	1. Light dims from 200 to 20 at the speed set in dimmingSpeedUpRemote, which is 2.5 seconds

rampRateOffToOnRemote:

Regardless of the value I set for rampRateOffToOnRemote, it will always instantly turn the lights ON (this is using regular bulbs and not in Smart Bulb Mode). Interestingly, rampRateOnToOffRemote works correctly with any value; even when setting 127 it will correctly use the value set in rampRateOffToOnRemote even if Off to On does not.

Test Sequence:
	1. Set rampRateOffToOnRemote to 100 and rampRateOnToOffRemote to 127
	2. From an OFF state, turn the light ON remotely
	3. From an ON state, turn the light OFF remotely
	
Expected Result:
	1. It should take 10 seconds to turn the light ON or OFF remotely
	
Actual Result:
	1. Turning the light from OFF to ON remotely is instantly
	2. Turning the light from ON to OFF remotely takes whatever is configured in rampRateOnToOffRemote (or rampRateOffToOnRemote if set to 127)

Is there anything I can configure in zigbee2MQTT to address these problems?

Thank you for such a great switch!

1 Like

Few thoughts. How are you dimming remotely? Are you sending a transition time or is your software sending a transition DEFAULT time with the command?

Can you post some “silly” level logs that occur through your processes as defined in pseudo-code?

Thanks

Doing everything from zigbee2MQTT web frontend to keep things simple. When I go to the Device page, on the Exposes tab, I enter a new brightness value next to the slider.

Here is an excerpt from the logs when adjusting the brightness:

info  2022-12-02 16:38:42: MQTT publish: topic 'zigbee2mqtt/Lumières Chambre des Maîtres', payload '{"brightness":200,"defaultLed1ColorWhenOff":255,"defaultLed1ColorWhenOn":255,"defaultLed1IntensityWhenOff":101,"defaultLed1IntensityWhenOn":101,"defaultLed2ColorWhenOff":255,"defaultLed2ColorWhenOn":255,"defaultLed2IntensityWhenOff":101,"defaultLed2IntensityWhenOn":101,"defaultLed3ColorWhenOff":255,"defaultLed3ColorWhenOn":255,"defaultLed3IntensityWhenOff":101,"defaultLed3IntensityWhenOn":101,"defaultLed4ColorWhenOff":255,"defaultLed4ColorWhenOn":255,"defaultLed4IntensityWhenOff":101,"defaultLed4IntensityWhenOn":101,"defaultLed5ColorWhenOff":255,"defaultLed5ColorWhenOn":255,"defaultLed5IntensityWhenOff":101,"defaultLed5IntensityWhenOn":101,"defaultLed6ColorWhenOff":255,"defaultLed6ColorWhenOn":255,"defaultLed6IntensityWhenOff":101,"defaultLed6IntensityWhenOn":101,"defaultLed7ColorWhenOff":255,"defaultLed7ColorWhenOn":255,"defaultLed7IntensityWhenOff":101,"defaultLed7IntensityWhenOn":101,"defaultLevelLocal":254,"defaultLevelRemote":66,"dimmingSpeedDownLocal":127,"dimmingSpeedDownRemote":127,"dimmingSpeedUpLocal":127,"dimmingSpeedUpRemote":25,"doubleTapUpForFullBrightness":1,"energy":1.49,"ledColorWhenOff":85,"ledColorWhenOn":85,"ledIntensityWhenOff":0,"linkquality":247,"minimumLevel":1,"outputMode":0,"power":62.1,"rampRateOffToOnLocal":127,"rampRateOffToOnRemote":127,"rampRateOnToOffLocal":127,"rampRateOnToOffRemote":127,"state":"ON","stateAfterPowerRestored":255,"update":{"state":"idle"},"update_available":false}'
debug 2022-12-02 16:38:43: Received MQTT message on 'zigbee2mqtt/Lumières Chambre des Maîtres/set' with data '{"brightness":20}'
debug 2022-12-02 16:38:43: Publishing 'set' 'brightness' to 'Lumières Chambre des Maîtres'
info  2022-12-02 16:38:43: MQTT publish: topic 'zigbee2mqtt/Lumières Chambre des Maîtres', payload '{"brightness":198,"defaultLed1ColorWhenOff":255,"defaultLed1ColorWhenOn":255,"defaultLed1IntensityWhenOff":101,"defaultLed1IntensityWhenOn":101,"defaultLed2ColorWhenOff":255,"defaultLed2ColorWhenOn":255,"defaultLed2IntensityWhenOff":101,"defaultLed2IntensityWhenOn":101,"defaultLed3ColorWhenOff":255,"defaultLed3ColorWhenOn":255,"defaultLed3IntensityWhenOff":101,"defaultLed3IntensityWhenOn":101,"defaultLed4ColorWhenOff":255,"defaultLed4ColorWhenOn":255,"defaultLed4IntensityWhenOff":101,"defaultLed4IntensityWhenOn":101,"defaultLed5ColorWhenOff":255,"defaultLed5ColorWhenOn":255,"defaultLed5IntensityWhenOff":101,"defaultLed5IntensityWhenOn":101,"defaultLed6ColorWhenOff":255,"defaultLed6ColorWhenOn":255,"defaultLed6IntensityWhenOff":101,"defaultLed6IntensityWhenOn":101,"defaultLed7ColorWhenOff":255,"defaultLed7ColorWhenOn":255,"defaultLed7IntensityWhenOff":101,"defaultLed7IntensityWhenOn":101,"defaultLevelLocal":254,"defaultLevelRemote":66,"dimmingSpeedDownLocal":127,"dimmingSpeedDownRemote":127,"dimmingSpeedUpLocal":127,"dimmingSpeedUpRemote":25,"doubleTapUpForFullBrightness":1,"energy":1.49,"ledColorWhenOff":85,"ledColorWhenOn":85,"ledIntensityWhenOff":0,"linkquality":111,"minimumLevel":1,"outputMode":0,"power":62.1,"rampRateOffToOnLocal":127,"rampRateOffToOnRemote":127,"rampRateOnToOffLocal":127,"rampRateOnToOffRemote":127,"state":"ON","stateAfterPowerRestored":255,"update":{"state":"idle"},"update_available":false}'

I then start getting a few reports from the switch with dropping brightness values until it hits the target.

Here are excerpts from the log when changing the state:

info  2022-12-02 16:49:00: MQTT publish: topic 'zigbee2mqtt/Lumières Chambre des Maîtres', payload '{"brightness":21,"defaultLed1ColorWhenOff":255,"defaultLed1ColorWhenOn":255,"defaultLed1IntensityWhenOff":101,"defaultLed1IntensityWhenOn":101,"defaultLed2ColorWhenOff":255,"defaultLed2ColorWhenOn":255,"defaultLed2IntensityWhenOff":101,"defaultLed2IntensityWhenOn":101,"defaultLed3ColorWhenOff":255,"defaultLed3ColorWhenOn":255,"defaultLed3IntensityWhenOff":101,"defaultLed3IntensityWhenOn":101,"defaultLed4ColorWhenOff":255,"defaultLed4ColorWhenOn":255,"defaultLed4IntensityWhenOff":101,"defaultLed4IntensityWhenOn":101,"defaultLed5ColorWhenOff":255,"defaultLed5ColorWhenOn":255,"defaultLed5IntensityWhenOff":101,"defaultLed5IntensityWhenOn":101,"defaultLed6ColorWhenOff":255,"defaultLed6ColorWhenOn":255,"defaultLed6IntensityWhenOff":101,"defaultLed6IntensityWhenOn":101,"defaultLed7ColorWhenOff":255,"defaultLed7ColorWhenOn":255,"defaultLed7IntensityWhenOff":101,"defaultLed7IntensityWhenOn":101,"defaultLevelLocal":254,"defaultLevelRemote":66,"dimmingSpeedDownLocal":127,"dimmingSpeedDownRemote":127,"dimmingSpeedUpLocal":127,"dimmingSpeedUpRemote":25,"doubleTapUpForFullBrightness":1,"energy":1.49,"ledColorWhenOff":85,"ledColorWhenOn":85,"ledIntensityWhenOff":0,"linkquality":239,"minimumLevel":1,"outputMode":0,"power":10.4,"rampRateOffToOnLocal":127,"rampRateOffToOnRemote":127,"rampRateOnToOffLocal":127,"rampRateOnToOffRemote":127,"state":"ON","stateAfterPowerRestored":255,"update":{"state":"idle"},"update_available":false}'
debug 2022-12-02 16:49:03: Received MQTT message on 'zigbee2mqtt/Lumières Chambre des Maîtres/set' with data '{"state":"ON"}'
debug 2022-12-02 16:49:03: Publishing 'set' 'state' to 'Lumières Chambre des Maîtres'
debug 2022-12-02 16:49:03: Received Zigbee message from 'Lumières Chambre des Maîtres', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 1 with groupID 3
info  2022-12-02 16:49:03: MQTT publish: topic 'zigbee2mqtt/Lumières Chambre des Maîtres', payload '{"brightness":21,"defaultLed1ColorWhenOff":255,"defaultLed1ColorWhenOn":255,"defaultLed1IntensityWhenOff":101,"defaultLed1IntensityWhenOn":101,"defaultLed2ColorWhenOff":255,"defaultLed2ColorWhenOn":255,"defaultLed2IntensityWhenOff":101,"defaultLed2IntensityWhenOn":101,"defaultLed3ColorWhenOff":255,"defaultLed3ColorWhenOn":255,"defaultLed3IntensityWhenOff":101,"defaultLed3IntensityWhenOn":101,"defaultLed4ColorWhenOff":255,"defaultLed4ColorWhenOn":255,"defaultLed4IntensityWhenOff":101,"defaultLed4IntensityWhenOn":101,"defaultLed5ColorWhenOff":255,"defaultLed5ColorWhenOn":255,"defaultLed5IntensityWhenOff":101,"defaultLed5IntensityWhenOn":101,"defaultLed6ColorWhenOff":255,"defaultLed6ColorWhenOn":255,"defaultLed6IntensityWhenOff":101,"defaultLed6IntensityWhenOn":101,"defaultLed7ColorWhenOff":255,"defaultLed7ColorWhenOn":255,"defaultLed7IntensityWhenOff":101,"defaultLed7IntensityWhenOn":101,"defaultLevelLocal":254,"defaultLevelRemote":66,"dimmingSpeedDownLocal":127,"dimmingSpeedDownRemote":127,"dimmingSpeedUpLocal":127,"dimmingSpeedUpRemote":25,"doubleTapUpForFullBrightness":1,"energy":1.49,"ledColorWhenOff":85,"ledColorWhenOn":85,"ledIntensityWhenOff":0,"linkquality":119,"minimumLevel":1,"outputMode":0,"power":10.4,"rampRateOffToOnLocal":127,"rampRateOffToOnRemote":127,"rampRateOnToOffLocal":127,"rampRateOnToOffRemote":127,"state":"ON","stateAfterPowerRestored":255,"update":{"state":"idle"},"update_available":false}'

Not sure how else to look for debug information - zigbee2MQTT is the one in charge of communicating with the Conbee 2 USB Gateway and with the Mosquitto server. I hope this helps.

Actually found more debug data regarding the dimming that I believe will better answer your question.

zigbee-herdsman:controller:endpoint Command 0x000000000000/1 genLevelCtrl.moveToLevelWithOnOff({"level":20,"transtime":65535}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) +2s

For the record, zigbee2MQTT does not expose transition time directly but I wish it did … I’ll try playing around with the set payload for that part.

I’m out of my league here unfortunately as I am on ZHA. I would also post up an “issue” on Z2M github if you haven’t already, but also @nathanfiscus might have some insight.

Within your environment, are both dimmingSpeedDownRemote and rampRateOffToOnRemote behaving as configured (and differently than their Up and OnToOff counterparts)? If you had time to test any, or both, of the test sequences above it would greatly help me in my quest!

I’d rather not spread the problem to other projects if the problem is common to us all and part of the firmware.

I think I’m seeing the same issue with ZHA, although it looks like ZHA has a separate problem that causes the dimming speed parameters to not work (which I’ll talk more about below). But when bypassing that, it’s still not working as expected:

Start with the bulb on bright. Set “remote dimming up speed” (parameter 1) to 25 and “remote dimming down speed” (parameter 5) to 100, then in Manage zigbee device, LevelControl/in cluster, Commands tab, send a move_to_level command with level 1, transition_time 65535 (which from what I’ve read, means use the switch’s default transition time, which I’d expect to be controlled by parameters 1 and 5): it takes 2.5s, even though it should be 10s. Send another move_to_level with level 250, transition_time 65535: it takes 2.5s (which is correct).

Now set “remote dimming up speed” to 100 and “remote dimming down speed” to 25, and do the same move_to_level commands. It takes 10s to dim (should take 2.5s), and 10s to brighten (which is correct. At least it’s probably 10s; my light doesn’t change brightness much between about 80% to 100%, so it seems to reach full brightness at around 8 or 9 seconds, but I assume it’s really taking the full 10s).

I’ve confirmed with a Zigbee sniffer that it’s sending a Move to Level command with transition time 65535. Interestingly, it looks like whether I tell the switch to dim or brighten, after it receives the command, it responds back to the coordinator with a Move to Level packet with transition time set to whatever the “remote dimming up speed” is set to.

So this seems like a firmware bug to me. My switches are on 2.08.

As for the ZHA problem, if you set the level the “normal” way (i.e., clicking on the light control and dragging the slider, rather than sending Zigbee commands directly using Manage zigbee device), it sends “Move to Level with OnOff” commands with the transition time set to the “Default light transition time (seconds)” set in the ZHA Global Options, which defaults to 0. So it doesn’t matter what parameters 1 or 5 are set to; the transition time is controlled by that ZHA option. I thought maybe I could set it to 6553.5 seconds to have it use the rates configured in the switch, but that option is forced to be a whole number, so I wasn’t able to do that. I did edit the ZHA source to allow decimals, just to see if it would work, and it does–after setting that option to 6553.5 seconds, dragging the slider on the light control now uses the switch’s “remote dimming up speed”–but the down speed parameter doesn’t work.

It would be nice if ZHA had a way to set the default transition time to “use device default” or something like that. Actually, since the transition time has 0.1s resolution, ZHA really should be allowing decimals for that option.

1 Like

Can you clarify which global parameter you’re referring to in ZHA? (screenshot or specific cluster/attribute, etc)

Should be able to confirm, but the allowed numbers, etc are going to be set by the Zigbee spec. I think it would be comparable to “Button Delay” set in the Inovelli parameters is still an integer even though it’s using 100ms increments as well.

Settings, Devices & Services, click Configure on the ZHA integration:

Right, in the Zigbee spec, it’s an integer, but in units of tenths of a second. Another option would be to keep it an integer, but change it to “Default light transition time (tenths of a second)”, but that seems like more work, since ZHA would have to multiply the value of that option by 10 during an upgrade in case someone had it set to a non-zero value before the upgrade. And I think it’s less user-friendly too… I like that the value is in seconds, I just want to be able to set it to half a second.

1 Like

Thank you for helping with the tests! I think we have this one pegged as a bug.

Unfortunately, out of the two issues of this thread, this one is certainly the least impactful because it is always possible to set dimmingSpeedUpRemote to acheive the dimmingSpeedDownRemote you want.

The problem with rampRateOffToOnRemote is that you can’t do anything to have it transition slowly when using it with zigbee2MQTT. I see that others have software that allow setting a transition time when sending commands but I don’t see that as being possible with zigbee2MQTT. Can anyone help test this with their environments to see if the problem is specific to my setup or if, again, it could be a firmware issue?