Aspire rfwc5 device type?

That’s a scene controller. I don’t think it’s going to work with SmartThings, very few multibutton scene controllers do.

People have had the most success with the 4 button Leviton VRCS4 (but not the zone controller, VRCZ4) or the 2 button Leviton VRCS2.

And some people have the 7 button Enerwave working. But that about it for this device class.

Because SmartThings allows us to mix both Zigbee and zwave devices into one routine, ilike having one button press on a minimote turn on your Zigbee bulbs and your Z Wave controlled fan at the same time, they Need to know what commands a button controller wants to send so that they can be translated to devices of other protocols. So that’s a good thing in most cases.

But it does mean that a device which requires uses the Zwave commands that bypass the hub doesn’t really fit into the SmartThings architecture. For one thing, it would only be able to control Z wave devices.

Most first generation Zwave scene controllers are designed to speak directly to the light switches that they control, rather than messaging back to the hub as well. This is where everything breaks down, because since the zwave button device can’t speak directly to a zigbee device, this method doesn’t work.

The devices that relay their messages to the hub as well are much more likely to be adaptable to SmartThings.

I have three Cooper RFWC5s in my walls already (worked great with Vera) I understand that the scene functionality isn’t going to work with ST… but I would really like to at least get the buttons to do something. Has anyone had any success getting button presses from the Cooper RFWC5 to do anything with ST?

The problem is that the Cooper scene controller doesn’t send its button press information to the hub at all. Just to the devices that it is controlling. You could use it as a parallel means of control where it is giving you a physical button to push to control some other Z wave devices in the same room, but then smartthings won’t know that you turned the other devices on.

There is a similar GE device, actually two, one that’s handheld and one that goes on the wall. There are some community members using those, And you should be able to get a similar experience from the Cooper. The problem is how you set up its scenes in the first place. In the case of the GE’s, some people had to set up the scenes with the vera and then move the device to SmartThings. It got pretty complicated. You can search the forums for the GE 45600 for those discussions.

Since you already have your controllers installed, I’m assuming they already have scenes in them. If you just add the scene controllers to your smart things network and add the individual control devices to the network as well, it may just work with the caveats above. The problem comes when you want to add new scenes. Or modify existing ones to work with different devices. Then you may have to go back to the previous controller just to get the scenes set up. Or not, the Cooper may be able to do it on its own, I don’t remember the exact specifications and I’m too tired this morning to look them up.

So… Bottom line is that you should be able to add the Cooper device to your network, but you can’t set up scenes for it. If you have another way for it to set up scenes, you may be able to use it as a parallel means of control, but the smart things hub won’t know what it did. So it will fit some use cases, but not others.

Thank you for the thorough explanation - I’ll probably see if I can sell them on eBay and put in something useful.

I am wondering if there would be benefit in writing a device handler for the RFWC5 scene controller that would allow it to be programmed with scenes from smartthings. In the device handler one could add z-wave devices, zigbee and wifi devices. Of course only the z-wave devices could be loaded into the scene controller. However, smartthings could then monitor the state of those devices. When the right combination comes on smartthings would assume the a button the controller has been pressed. Smartthings could then activate the remainder of the devices (zigbee or wifi). At least one zwave switch or dimmer would need to be in the scene.

I would love to attack this but I am not experienced enough in programming to do it. I would need another expert to help me.

If you assume the device coming on means the button has been pressed, that means you cannot control that device in any other way. That is that device would be limited to always being part of a specific scene.

That’s pretty antithetical to the SmartThings philosophy, which says that rules are not stored in the device definition, but multiple rules can be applied to the same device under different conditions.

I’m not saying don’t do it, I’m just saying I don’t think there would be much demand for it, it’s not what people are generally looking for from SmartThings. But if you find it useful for yourself, or just is an interesting project, you can do it.

Note, however, that SmartThings cannot load the scenes into this controller, for all the reasons discussed above. You’re just going to have to manually set up the scene in the controller and separately write whatever code you want for SmartThings, maybe using core, to react to the various zwave devices coming on.

(But you aren’t going to do this with the device type handler for this device, because this device doesn’t report its events to the hub. Which in some ways makes it easier. You can just ignore the fact that the Cooper device exists when you write your logic to react to the other and devices coming on. The Cooper is basically going to look like a manual control for those devices from the SmartThings point of view.)

Honestly, though, unless you already own a bunch of these, it’s going to be easier to pick any of the button controllers off of the list of the ones that already work well with SmartThings. :sunglasses:

There does seem to be an appeal to me for the scene controllers and I have read many inquiries here from people wanting to use similar devices. There two things that appeal to me: 1) It looks like a wall switch that belongs to the house and not a button stuck on a wall. 2) If the smartthings hub goes down or I sell the house and keep the hub the scene controllers still work with the zwave devices they are set up with.

Looking over the implemented command classes of the RFWC5 and the smartthings Z-wave utility reference, it looks like all the command classes in the device are implemented in smartthings. I guess then I don’t understand why smartthings could not be made to load scenes into the device. Can you help me understand?

Could the device handler not then monitor the devices in those scenes and then present essentially set of virtual switches that indicate if a correct combination was on? I guess that could be done though a smartapp if need be. I would be nice if however its done if the logic automatically used the same parameters used to program the scene controller.

Core or other smartapps could be used to extend the “scene” to other devices.

I’m not sure but I’m thinking that if someone manually changes a scene controlled device while the scene is off. The scene controller will reset it to the specified setting thus triggering the extended scene in smartthings. If this occurs when the scene is active then there could be trouble as the virtual switch conditions would no longer be met. I think the right answer is to not turn the virtual switch off until all devices in the scene are off. Of course someone could do this manually but the odds are slim and the results would simply be the extended scene being deactivated same as if the scene controller commanded the off modes.

Zwave scene controllers

The scene controller device itself is much less smart than you are giving it credit for. It doesn’t monitor the status of the devices in each scene. When you push a button on the scene controller it sends a basic command to the devices in the scene. That’s it. It doesn’t know what happens to them any other way.

The scenes can’t get loaded into the scene controller because smartthings doesn’t do scene management in that way. There are many threads in the forum discussing this in detail. The ones on the GE 45631 probably have the most information.

I don’t understand your comment that “it looks like all the command classes {for the Cooper device} are implemented in SmartThings” as clearly they are not.

In particular, Controller Replication and Scene Controller Configuration are not.

(BTW, I would suggest using the official zwave alliance site for the command set specs, rather than the Piper database which is inaccurate and due to be shut down soon, as the note at the top of the page you linked to mentions. The Cooper device is not a “static controller”, as the Piper page suggests, but rather a “portable scene controller.” These are two different device classes. )

Zwave Scenes

It may be that the confusion has to do with the term “scene” itself. Zwave scenes are very simple, literally just a list of device IDs to which a Z wave “basic” (that term has a specific meaning in this context) command will be sent. The only zwave commands in this context are on/off/dim level. It’s a one-way command, as well. The scene controller just sends out the commands to the specified devices. It doesn’t check to see what they were at before sending the command and it doesn’t check to see if the command actually happened. There’s no if logic on it at all. A zwave scene controller is essentially a button press device That can send on or off commands to a group of devices at once.


There also seems to be some confusion about what a device type handler is. It’s just a tiny program which translates information between a single device and the hub/cloud. One DTH doesn’t handle multiple devices at the same time. That would be like a printer driver knowing that the ceiling light had come on. It just doesn’t work that way. So all of the scene management logic would have to be in a smart app instead, as you suggested.

Form Factor

As far as what they look like, the devices that can work with smartthings as a button controller are not necessarily visually any different from scene controllers like the aspire RFWC5. It’s the commandset being used that count.

For example, here’s the RFWC5, which won’t work well with SmartThings:

Here are the Enerwave SC7 and the Leviton VRCS4, both of which do work just fine with smart things.

The form factors are very similar.

Going forward

If you can get it to work, that would be great. But it seems to me there are some pretty clear indicators for why no one has done this yet.

If you want to go ahead and try and write a DTH, go for it. :sunglasses: I don’t feel that I can help you anymore with this since I rely on text to speech and so can’t “read” groovy, but I’m sure there are other people who would be happy to answer any coding questions that you have.

Thank you for taking time to hammer this with me. I don’t understand the where you some the command classes are not implemented in smartthings. Below are links to each. I believe I have the correct ones.

RFWDC Supported command classes from the with links to smartthings zwave command classes:
Application Status
Controller Replication
Manufacturer Specific
No Operation
Scene Controller Configuration
Controlled Command Classes
Scene Activation

I understand that zwave scenes are simple with no logic. Part of the appeal to me, I have a dumbly wired house with switches in bad places and I want to use the scene controllers to fix that up.

DTH I’m learning here. Perhaps a smartapp that uses the DTH to setup and program scenes. The detection of matching scenes could certainly be done in the smartapp. Could the DTH be setup to work like a virtual switch on the smarthings side. This would allow the matching smartapp to set the on off state for other apps to use (such as core).

Thanks so much for your help.


Ah! The confusion here is between SmartThings the platform and SmartThings the certified Zwave controller. That is, the hub as a physical device.

The list of commandsets you linked to is a reference list from the documentation of all the zwave command sets. It is not the list of commands actually supported by the physical Z wave controller inside the smart things hub. That list is available on the official zwave alliance site:

No scene configuration, no controller replication.

You may be able to manually code it from the cloud side, I don’t know. As I mentioned, I don’t read groovy. But you’ll need to get someone else to help you with the coding details.

Again, though, why not just use the Leviton, which already works with SmartThings? It can do everything the Cooper can do, and more.

If it is possible to make the Cooper work the way the Leviton does, then I would start by studying the DTH for the Leviton.

(i mention this because I just noticed that the Cooper does support Association, which the GE device I mentioned does not. So there’s a chance you could set up the Cooper as a button controller, but loading the scenes are still going to be complex.

And I’m just not understanding why you would want to do all the extra work with virtual devices rather than just using it as a button controller. Note that “button controller” in the SmartThings context just means a device which reports its button pushes to The hub, typically by Association, allowing you to have a smart app react to them. They can be any physical format. )

This is a very interesting thread, thanks for all the goodness. I’d appreciate any help with the below:
In my house, the builder had apparently hidden a combination of cooper 9540s and 9501s in a closet and exposed them all on the outside through a single cooper rfwc5 scene controller. I remember some electrician came and programmed it with one of the cooper tabletop devices back in the day. I had no idea at that time what’s going on and since then I got smartthings and a whoel load of similar switches, dimmers and more but never touched those. I liked how they work and I really needed the physical touch (since they were the kitchen lights - very important :slight_smile: ).

Recently I tried to add some other device and I saw in the list zwave controller. Unknowingly and curiously I added it. I had no clue what it was and never seen it before. It just had on/off and they appeared to have no effect. Hours later, family complained kitchen lights (rfwc5) does not work :frowning:
Did smartthings change something recently that allows existing controllers in their own network to show? Or did I run into some bug? I have no idea, but I was caught off guard and I am left with a completely dysfunctional situation right now (temporarily added the individual switches to smartthings, but lost the easy physical access).

From what I understand the scene controller has (had really) its own network and the switches and dimmers in the closet were bound to that.
So my questions to folks are, do I really need the same cooper tabletop controller to program them back again? Any cheaper alternatives, since I’d presumably only use it once?
Alternatively, is there a setup where I can have the same switches accessible through both the rfcw5 and smartthings other than having rfwc5 treated as button controller and going through hub, which seems like no one has claimed success/mechanism on. Options like set up the scenes with the cooper controller then make it a secondary controller in hub’s network and drive it somehow? Out of sync state issues are not a problem since I’d probably only use those through smartthings at night time to turn off, or when away for perceived occupancy.

Any other thoughts/ideas to explore?


I’m working on trying to program an the RFWC with smartthings. So far only marginal success.
I’m not a ZWave expert but I’m fairly sure the RFWC does not behave as a primary controller, it therefore needs a primary controller to set it up. Likely if you had no other hub in the house the hand held unit used by the electrician was the primary.
Usually a device would need to be excluded from its existing network or completely reset before it can be included in another. So I’m not sure what happened. Perhaps someone with more Zwave knowledge can explain it.

The quick route would be to have your electrician back to set it up again. He should be able to join your ST network with his controller and then program the RFWC and other switches. ST will be none the wiser and yet you can still turns the lights on and off with ST.

The long route would be to wait and see if I can ever noodle out my DH for programming the scenes.

hi Scott, thanks for your reply!
I didn’t realize you can have a zwave network without a controller. Is controller just for adding/removing devices to the network mostly? Still interesting how RFWC appears as “zwave controller” to smartthings!

Anyway, please definitely keep me posted on your progress and let me know if you want me to try stuff out. For now I put all my switches and dimmers on smartthings and hooked them to an aeon minimote and have RFWC just idle and relax :open_mouth:

From what you are saying though it seems like my ideal goal could be achieved (assuming I can find electrician or the handheld controller), getting all the devices in the same smartthings network and having rfwc5 just drive the other devices on its own in addition to smartthings?

Again I’m not an expert but my understanding is that zwave is designed for communications from controller to device and device to device (associations and scenes). Once two devices are setup via controller to communicate with each other the controller can be removed from the network and those device to device communications will still work. Of course there are big benefits to having the central control of a controller hub. That’s why we bought a smartthings hub.

The RFWC shows as a controller in smartthings because the device handler template “zwave controller” has a device ID that most closely matches the RFWC. If go into the IDE and look at that template you will see it is just a skeleton and does not really accomplish anything.

I’m still pecking away at the DH but I’m still stymied on several things. I’ll keep you posted.

Personally, I always start from the official conformance statement for the device when considering a device Handler. That way you can see what device class it will identify as and what commandsets it supports.

In this case, it is listed as a controller because it is a controller: it’s a remote controller and a portable scene controller.

A zwave network can only have one primary controller, but it can have multiple additional secondary controllers.

You’ll notice the minimote is not a scene controller, but it is a remote controller.

Anyway, it’s fine that the Cooper identifies as a controller, but it’s not the primary controller, your SmartThings hub is.

The problem when using it with SmartThings is that it’s intended as a zwave scene controller, and SmartThings does not support this kind of Z wave scene, for example, it does not support scene replication which is typically how you would load this device with a controller like vera.

With most advanced zwave-only scene controllers, you first create the scene with the primary controller, and then you transfer the scene definition to the scene controller. But that’s the process that SmartThings does not support.

Well sometimes it pays to just follow the instructions. The instructions from Cooper on how to set up a scene in this device has five basic steps:
Remove Associations
Associate non-scene devices (smartthings)
Configure level for non-scene devices
Configure the Scene
Associate scene capable devices

Note: Scene capable devices must have the scene set up locally too.

I’ve been mucking around trying to get each step to work with little success. Well it seems the order is very important to the device. I became suspicious of that tonight and issued the five commands in order and low and behold it works.
When I press the button the lights come on and I see basic set command going to ST. ST then requests a indicator report telling us what button has been pressed. The lights dim when the button is held, but I’m not seeing that in ST.

The device still reports goofy on the configuration report but I guess I can ignore that.
Making some progress here.

1 Like

Timing of the commands is also important. If the delay is too long (5s) the associations overwrite each other instead of adding too. If the delay is too short (1s) the scene command does not set the scene. 3 seconds seems to work.

Now I need to implement process of setting up all the commands from the users input.

1 Like

Messing around again today with the scene controller. Thus far I can find no way to activate a button and fire a scene from ST. I don’t think the device is capable of taking the remote command to fire a scene. The cooper RF pro with homeseer seems to do this so thought ST could. However, now that I can program the scenes from ST I see that all that homeseer is doing is turning on the indicator and firing the scene itself. I know this because the scene I have setup in Homeseer is different than the scene I have loaded in the device from ST.

Multilevel commands are also received by ST. However, I don’t see a way to determine which button it came from. The command is the same no matter what button I press. It make sense for how the device is intended to be used. Polling the indicators (as I will do for on and off) will do no good as the indicators don’t change with a level change.

So I think at this point the usage in for ST will be use ST to extend the scene to non-zwave devices. Actuating a button on the controller will active Zwave devices directly and then ST can turn on or off additional devices.

Below is a link to Discussion for the Cooper scene controller DH.

1 Like

I can report Scott’s Beta code is working for me also. If you have the RFCW5 switches…definitely check out the thread he mentioned above.