[OBSOLETE] Monoprice Dual Relay On/Off Device type 11990

Thanks to the help of Joel Tamkin and Eric Maycock for the bulk of this code, I’ve packaged up a repo on github that will work with the Monoprice 11990 Dual Relay Module.

SmartThings initially sets this up as a “Z-Wave Device Multichannel”, that at first glance, appears to work perfectly. However, when manually toggling the second switch, SmartThings doesn’t reflect the status change. The custom device type does this. Eric wrote the code to make this work for a Philio module, but the Philio has features that the Monoprice doesn’t. I basically took his module, and removed the bits that didn’t apply.

There’s also a SmartApp in the repo that will associate a virtual switch to each switch on the relay module, letting them be used by Routines and other SmartApps. I think that the ST-supported “Multi-Channel Control” app is supposed to do this, but it didn’t work for me (and others). This app is again mostly borrowed code.

The bulk of the work I did was in the documentation on how to set it all up. I’m new to the SmartThings platform and Groovy, so I’d love any input. Feel free to file an issue on GitHub.


Hmmm wish I knew about this when I bought my single, I didn’t research enough. This might solve one of my problems of integrating a triple gang and a double gang as they’re all so tight on space as it is.

@justintime Does your device type include a way to send the module the configure parameter in the event that it looses power and you can’t get to the evil little button on the device itself? If not I have a device type with a config button that does just that that you can steal from if you would like.

The important bit being:

def configure() {
	// Send config parameter
	zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 1, size: 1).format()


@keithcroshaw - interesting… the 11990 doesn’t have anything that can be configured like that. The only thing the button is used for is inclusion/exclusion, and you can toggle include/exclude mode by flipping the switch on/off 4 times instead of pressing the little button.

I’ll probably skip that option for now unless I decide to support the single switch module. Thanks for the heads up though!

Cool, that’s a good thing because hitting that button to set a config definition was a nightmare until I added that config button on the device type. I’ll keep this in mind for future use though.

@justintime. Thanks a lot to u and the others that have contributed to the monoprice relay. Already got my installed up and running. A few questions that i have are: how can change the icon on the second switch? I was able to change switch 1 icon for a light bulb but the second one i can’t find a way to change the icon from outlet to a Fan. Also how can I change the name on the switches? One “Light” and another one “Fan”. Via smart app i was able tl chance the title of the device, but not the switches. Thanks again!

have you tried to do an exclusion like this? I am trying with 3 of mine today with no luck. REALLY hoping to avoid having to pull them out of the wall! How long do you keep it in each state? Is it 4 on’s or 4 Off’s? or is it literally on off on off?

For exclusion i believe you have to hold for a few second
the little buttom on the module and then the light will start blinking again.

I finally found and fixed an annoying “Light Loop” problem where toggling the physical switch quickly would result in the light turning on and off a few times. Update from github using the links in the first post.


FYI, I haven’t confirmed this… but someone said this is the same module just different label and theoretically should be compatible… if you’re tired of waiting on the Monoprice module to become back in stock.

It’s not on “sale” as the monoprice one is, but it’s still a great bargain for converting 2-gang switches into z-wave. :smile:


1 Like

Also, thank you so much @justintime for your continued efforts in making this so simple for us newcomers.

1 Like

Alright, I installed an Enerwave ZWN-RSM2 Dual Relay Switch Module in a bathroom.
It’s working to turn the light and fan on separately with the generic Z-Wave Device Multichannel SmartApp.
I’m thinking this Monoprice Dual Relay Device type could be tailored to work for this Enerwave module too?
Currently the light / fan toggle instantly when hit, but the response is polled… so it doesn’t know the exact moment it turns on or off… your device type seems to correct that…
Wondering how similar these devices are to the monoprice / vision devices?

You’ve got about a coin flip’s chance of it working I’d guess :smile:

Just go into the IDE -> Devices, and click the edit button next to the enerwave. From the dropdown next to Type, select the Monoprice 11990 type. If it works, great, if it doesn’t, just switch it back to whatever it was originally.

Unfortunately I’m not at home so I’m not sure if it’s working or not… but it does not seem to be working based on the user interface… but who knows.

I toggled mine on & off about 6 or 8 times to get it to work. 4 just does not seem to work.

Basic question and need to play the newbie card - where the heck is the “My Device Types” in the IDE? Really appreciate the work on the switch code and have read over a ton of conversations here. I’m physically wired up and working on the ST setup. Here is my menu…thanks folks.

That’s a documentation bug, sorry. My Device Handlers is what you want.

ah. thank you for the quick reply! Was following that readme like the gospel. Again… read the other post and leg work you did to leverage similar work and glad you did. I’m still hacking around to sort out the IDE. I’m getting some odd delays with on/off and not sure why on this device. I’ll circle back when I have the switch plate back on and wrapped up. Have a good weekend.

I got everything installed and both switches work fine except for one thing. The speed of the system. I was having latency issues on my system as a whole recently after I added this device type and smartapp. I ended removing the Dual Relay Adapter smartapp and the Monoprice Dual Relay device handler and it see if that could have been the culprit and the system seems to have improved. When I say latency, it was taking around 30 seconds to see a door status change whereas it used to only be about 1-2 seconds.

After removing the device type and smartapp the system started responding again within 1-2 seconds. Did I do something wrong installing the code that could have caused that? Has anyone else seen a slow down of their system?

I have 5 dual sensor + 3 linear dimmers + 1 single sensor and i dont have any problem with latency. I dont know how big is ur house, mine is around 1500sqf.

1 Like

All of my MP 11990 are returning the following error only, no other activity is being reported.

error java.lang.NullPointerException: Cannot invoke method leftShift() on null object

Needless to say, none of my actions for these Dual Relays, all connected to light switches, are functioning ATM.