Support for more command in light service (brightness_move, color_temp_move)

Hi. I’m using HA + Z2MQTT + NodeRED. Most dimmers or smart bulbs have options like:

{
  "brightness_move": -40, // Starts moving brightness down at 40 units per second
  "brightness_move": 0, // Stop moving brightness
  "brightness_step": 40 // Increases brightness by 40
  "color_temp_move": 60, // Starts moving color temperature up at 60 units per second
  "color_temp_move": "stop", // Stop moving color temperature
  "color_temp_step": 99, // Increase color temperature by 99
}

Problem is, it’s not supported by NodeRED call service node (light). Instead we can only change brightness to specific value/percentage or doing this by step. So if I want to dim light on button hold, I need to have loop to send a lot of messages with manually calculated brightness value (that also causes not smooth change) . Why do this, when device can handle it by it’s own?

This was explained to me that it’s not nodered limitation, but home assistant itself.

Currently to use this function, I’m using MQTT publish node with manually typed address with entity etc. So it’s working outside of HA, and now I have mix of two types of communication… But it would be much better if this could be handled fully in HA, and I’m surprised it still isn’t.

Could it be added?

You have transition time setting.
If the bulb is at 50% and you send a command to set it to 100% with transition time of 2 seconds then it will dim 25% per second.

Isn’t that the same?

No, it’s not. It’s setting brightness to specific value, not dimming until it’s stopped by next message, like it works for example in Ikea Tradfri bulb + remote combo.

So if I want to dim light on button hold, I need to have loop to send a lot of messages with manually calculated brightness value (that also causes not smooth change) . Why do this, when device can handle it by it’s own?

1 Like

Not a lot of activity here… have you been able to come up with an alternative way?