Submasters - Dimmers to control dimmers

In the stage lighting world, a “submaster” is a fader (dimmer) that controls the level of several lights.

Submasters is a plugin inspired by stage lighting control, with input and encouragement from @HSD99, to control multiple dimmers from a single dimmer. Like their stage counterparts, Vera submasters can have individual maximum levels set for each controlled device, and the level assigned at any given time is proportional the controlling fader’s level. For example, if you have two lights controlled by a fader, and one light is assigned a maximum of 80%, and the other 60%, then when the fader is at 100%, the controlled lights will be at 80% and 60%, respectively. But when the fader is reduced to 25%, the controlled lights will be at 20% and 15%–each at 25% of its programmed maximum.

This plugin is currently offered as a developer preview/early release, and can only be installed from its Github repository, here: GitHub - toggledbits/Submasters-Vera: A plugin for Vera Home Automation Controllers to implement submasters for dimming/scene control.

Installation instructions are in the file. Comments, questions, etc. are welcome in this topic.

Hint: Switchboard Virtual Dimmers make great faders (but are not required).

For you stage lighting aficionados, the plugin currently operates only in LTP mode. HTP mode is coded and working, there’s just no way to switch to it. My sensei and I are still working out the specifics of where and how HTP should apply; your input is welcome, too.


:sob::sob::sob: this is what i needed hope it gets pushed to the store soon

Extraordinary. Well done, sir


Great job. I think it could be used with roller shutters as well. I will test it upon my return next week and provide some feedback.

If anyone already grabbed the version on Github, I forgot to change some URLs for images, so the fader control doesn’t show correctly. Please update your J_Submasters1.js and L_Submasters1.lua to the currently posted versions.

1 Like

Yes, it should work fine–Vera runs them as dimmers, so the plugin sees no distinction. It’s a bit odd, considering there is a UPnP service for motorized devices like shades, but it is what it is.

1 Like

Thanks for the quick fix! The faders look great.

I’ve got a couple of Leviton single zone controllers that have lighted level controls ( VRCZ1-1L ). They are supposed to function as non wired remotes. They are not supported by Vera (at least I can’t get them to work). Would this plugin work with those?

No, if Vera doesn’t recognize it as a dimmer, this plugin won’t either.

This is awesome Patrick! I have used a similar solution via imperihome, which is a composite dimmer/on/off, However since it lacks the ability to set maximum, minimum as you described, it’s not ‘super’ useful. Since different lumen bulbs would not balance if done blindly at 50% for example. Looking forward to this plugin in the store - if nothing else, to quicken time to develop scenes and conditions! Thanks in advance!!

1 Like

awesome tested today and it work great

Funny, I just ran across this thread, but gotta say I have been doing essentially the same thing using pure Reactor for several weeks with great success!

I don’t get this, what am I meant to select in the Fader drop down box ?

I’ve assigned two lamps 1 and 2.

Also it looks like this plugin won’t actually create me a new virtual device in Vera to control these two lamps together ?

I need that for the “Home Remote” dashboard app as it doesn’t support grouping lights together in to a single dimmer widget like Imperihome does.


You create a virtual dimmer switch (i.e switchboard, Apps/develop/create, etc), and select that as the fader. Then what ever you set virtual switch to, the others will follow.

Or pick one lounge light as fader and assign other lounge lights to the submaster/fader

1 Like

OK thanks makes sense now.

I created my own virtual dimmer device.


I had to upload the attached I_DimmableLight1.xml file first to my Vera Plus: (602 Bytes)

Apps - Develop Apps - Luup Files - Upload

Then in Apps - Develop Apps - Create Device:

Device type = urn:schemas-upnp-org:device:DimmableLight:1
Description = Name of device - e.g. “Lounge Lamps Master”
Upnp Device Filename* = D_DimmableLight1.xml
Upnp Implementation Filename = I_DimmableLight1.xml

Then after the device is created check its Advanced area for:

device_json = D_DimmableLight1.json

category_num = 2
subcategory_num = 1

I then selected “Lounge Lamps Master” as the Fader device in the SubMasters plugin configuration.


It works however there is a problem with the virtual dimmer switch, the ON button works and the dimmer slider 0% to 100% works. However the OFF button does not work for some reason. When I press the OFF button the device is not turned off.

The I_DimmableLight1.xml originally came from this post here.

Obviously a problem with the original I_DimmableLight1.xml file not this SubMasters plugin.

UPDATE: @rigpapa has kindly fixed the code in the I_DimmableLight1.xml file. I have uploaded the new version above. The OFF button now works OK.

Hi @rigpapa

I don’t know if this is a problem with my Vera or the SubMasters plugin ?

If I control my lights by some other means and not using the Submasters dimmer device, it doesn’t seem to change its state to reflect the correct state of the lights.

The “Lounge Lamps Master” device gets out of sync with that the actual light devices are doing.

This is correct. The master doesn’t change when the submasters are modified. I believe the governing scenario is that the master, controlling all lights by a set of rules for proportional lighting of the others, would not have a valid position if the submasters were set in such a way that violates the master’s given rules — for a large number of possible settings of the submasters, there is no correct corresponding setting of the master. It is also the case that a lighting tech, for whatever reason (malfunction of lamp or gel, misposition, missed queue etc.) may want to increase or decrease (or even turn off) a particular submaster without touching any others — if his doing that made the master move, the master would, by definition, force all other submasters into compliance with its rules, which may be an undesirable result (more than one light changing).

So it’s one-way communication: the master changing will change the submasters, but the submaster changing has no effect on the master position.

@HSD99, have I about summarized this correctly?

To clarify with example for #1:

A master has two submasters, one at 25% and one at 50%. When the master fader is set to 100%, the submasters are set to 25% and 50% respectively. When the master fader is set to 50%, the submasters would go to 12.5% and 25%. But, if the only second submaster is then manually increased to 100% (without touching the fader), there is no position of the fader that be computed within the rules of the fader’s parameters, because (a) the second submaster exceeds its maximum setting as determined by the fader (50%); (b) the fader would have to move to 200% to reflect the submaster’s level (because submaster 2 is 50% of the fader, moving sub 2 to 100% would require the fader to be at 200% – impossible); (c) because the first submaster isn’t modified, the rule for the master is broken anyway (the two submasters are now at different levels from their proportional levels determined by the rules).

1 Like

OK thanks for the explanation. I might have to look for another solution then, for having a single tile / widget in the Home Remote dashboard app, that controls both my side lamps.

Or I will have to reconfigure the Vera / Google Home integration and the Imperihome app also and anything else that currently controls the lamps directly and doesn’t use this new “Master” device like my Aeotec Minimotes and Harmony remotes. So quite a bit of work to change it all.

Question, though…in your screen shot you have one lamp on and the rest off, with the master at 50%.

What is your expectation that the master should show?

Sorry, I misread the screen shots because it lumped them together as a single graphic, I though you had four lamps in the group, not two. I think I see what you want. I suppose I could add a flag to “backfeed” any change in the submasters, but then if you changed one, it would change all. Would that be acceptable?