Master slider that "scales" other sliders?

I have x number of dashboard sliders, and I'd like to have a "master" slider that scales all of those sliders up and down. It sounds like a really easy problem to solve, until you start thinking in more detail.

(I think this is more of a general programming question, but I'm hoping there may be a specific Node-RED solution, for example a clever use of the "Range" node.)

The average of these 5 values in screenshot is 25.2. Should the "master" slider show this average value? If so, when I move the master slider to 100, should all the values OVER 25.2 therefore saturate at 100, but all the values under 25.2 be scaled up accordingly? Then if I drag the slider down again, all the saturated values will just be the same as the master slider. Can I do better than that? Maybe I should store a "scale" value as well as the actual dimmer value. Eg. the lights already above the average will still saturate at 100, but there will be another pseudo value higher than 100 that allows the system to scale back down when you slide the master down again. Would that work?

Sorry I know this question isn't very well formed, I can probably do any of this using a Function node, but I can't even work out what a useful behaviour would be so hoping someone might be able to help with some ideas



I trhink much more intuitive will be if it works similar to audio mixer. Master is percentage from 0 to 100. Change of master does not move any slider. Actual value of each channel is channel value * master value. Moving the master triggers each channel to recalculate and send, Moving the channel, triggers calculations only on that channel.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.