ZWN-RSM2 Create a new device type

@mmarlette I have tried to replicate your issue, but cannot no matter what I try. Just to be certain, you get the error when you go to the device in the IDE and try to change the device type it is using from the Philio to the Generic, right? Once you hit update the error is thrown?

The only thing I can think of is if it it wasn’t copied and pasted correctly. There really aren’t that many differences between the generic and the Philio at this point. Just an easier way to update the parameters. Try the raw link for easier copying and pasting:

@erocm1231- I tried it both ways, one from the raw and then one from a .zip download of your GIT Smartthings repo. Did a Kdiff3 on the two. It reported that the text was the same but the binaries where different. That appears to be the method of the linefeeds, repo is Linux format, raw is in DOS format. Both produce the 500 error, and you are correct on how I updated and when the error occurs.

Very strange, others can get the Philio working and following the thread it should work and it does not. I am really not this bad with new things. This on the other hand has been getting me on every turn! I am at a loss as well.

Can switch to other device type with out the error so it sure appears to be in the generic device_type dual relay driver…

Thanks for your help so far. Looks like I will be the crash dummy when you get code completed. Works for me it will work for anyone. :slightly_smiling:

@erocm1231- When I go to the Device Type Setting in the IDE after I create, save, publish the device_type. The button right next to IDE Settings at the top. The fingerprint is listed as None. Not sure if that is a problem or not but the Philio, Enerwave and most of the other devices have fingerprint info listed.

@mmarlette the fingerprint info is optional so it wouldn’t be causing a problem. All references to the error that you are seeing are related to issues on the SmartThings servers. They are reporting developer tool issues on I can’t think of anything else it would be. By the way, are you using a Linux computer?

LOL :smile:

I am not on the Linux platform. Windows7 x64.

If I have more than one monoprice dual relay, do I have to install more than one instance of this smartapp? I only had one instance of it, but when I tried to have 2 relays, neither worked

Yes one instance per relay. I have 4 relay’s, thus four copies of the smartapp.

Is there any way to have each relay in the dual relay to list as a separate thing rather than having to go into the thing to control each switch?

Many thanks in advance

Yes, by using virtual tiles. It’ll show up as 3 things but you can have a tile for each relay that way. For i have 3 ceiling fans each with these duel relays in it. Each has a virtual tile one for light one for fan. So I have 3 duel relays, then 3 lights and 3 fans. This allows me to creat modes for just fans or just lights. I even have another virtual tile for all fans and all lights.

Yep, exactly as @tail24 described. I do recommend using this other device type for this switch. In this thread is also a mention of the virtual switch thread and an app to keep the physical and virtual switches in sync.

I’m using this and it works pretty good for the most part. I can use the physical switches to turn things on and off and use the app to turn them on and off. When I use the app, it shows that the device is on. However if I use the physical switch to turn it on, the app never gets notified and continues to show the light as off. This is a huge problem. If the physical light switch is on and and the app shows its off, if I then use the app to ‘turn on’ the light. It actually turns it off. Now that the light is off, if I physically turn the switch from the On position to the Off Position, it turns the light On. This is pretty confusing and I have no real way of knowing what state my light is in unless I walk outside and look at it. :frowning:

Since the relay is actually turning the lights on and off using the physical switch, shouldn’t it know what state it is in and be able to update ST with that?

Are you using the handler mentioned in the post right above yours?

If so, go into the device on your phone, and hit the “Configure” button to make sure the device is configured correctly.

Thank You!!! Your solution worked great for me. Only issues I have had was cleared up by turning the breaker off/on that goes to the enerwave. Prior to that it would not let me use the aux2 switch manually or with the app.

1 Like

I just wanted to thank @erocm1231 and everyone else here who helped make this module a success. I installed one this evening in my bathroom, where there is a single gang box with two switches (fan and light). The whole job went well but without the custom code and this thread it never would have worked. So thank you all!


I’m trying to automate an existing outside light and motion detector by hooking up the motion detector load to Aux 2 of the ZWN-RMS2-PLUS and the light switch to Aux 1. I’m using the device handler mentioned in this thread and the Virtual Device Sync app. I then attempted to use the Samsung Smart Lights app to cause Load 1 to go active when Aux 2 is turned on.

The issue I’m having is that the status of the physical switch Aux 2 either takes a couple minutes to update on its own or instantly if I refresh the device in the app. I’m guessing that the device handler is enabling the Instant Status Update and I’ve tried using the “Configure” feature, but it doesn’t seem to make a difference.

Is there a way to get the Aux 2 physical Switch status to update instantly so that Smart Lights will recognize it without doing a manual refresh?

Using the following configure method in the device handler for the Enerwave ZWN-RSM2-PLUS I was able to get instant status updates working:

def configure() {
log.debug "configure() called"
def cmds = []
cmds << zwave.configurationV2.configurationSet(parameterNumber:3, size:1, configurationValue:[1]).format()
cmds << zwave.associationV2.associationSet(groupingIdentifier:2, nodeId:[zwaveHubNodeId]).format()
cmds << zwave.associationV2.associationSet(groupingIdentifier:3, nodeId:[zwaveHubNodeId]).format()
delayBetween(cmds, 2000)

Thank you @capfan!!! I am doing the same thing with motion flood lights that you are. I have been fighting this for 2 days now until I just found your little piece of code! Problem solved!!! Thanks again!

1 Like

What if I am using multiple of these dual switches, how do I add more? I only see one instance in my apps.

Is there a summary readme for this post somewhere? This long thread is kinda hard to follow for beginner .


1 Like

Hi there… I use 4 of these in my house, in the origional addition of them I named them Enerwave1, Enerwave2, Enerwave3, Enerwave4. I never actually use the relay for them (well hardly ever), I use digital buttons to then control each side of it, relay 1 - and relay 2. So I have them run my combo fan/light switch. So I have a virtual button for light 1, fan 1, light 2, fan 2, etc.

Then in my living room I have 2 fan/light combos so I have “fans” and “lights” virtual buttons. These are also connected to Alexa so anyone can walk in and say “Alexa turn on lights” or fans or off.