Cooper Aspire Scene Controller RFWC5 and RFWC5D Device Handler [beta release]

Below is a simple WebCoRe piston that manipulates the indicators on the RFWC. I have set it up such that when a device is turned off (one controlled by the RFWC) the status of the appropriate indicator is checked. If the indicator is on the indicator is toggled to off. The result is behavior much like a 3 way switch. If I turn it on with the RFWC and then turn it off elsewhere the RFWC is set to indicator off such that I can turn it on again with the RFWC. I have set up logic for three indicators here all five could easily be set up in the same piston.

Reading this thread is super interesting but way over my head.

I am about to have a bank of GE smart dimmers, and 2 smart outlets installed that I want to control from some type of multibutton controller like this.
I’m ok with things going through the hub (I think).

I am not a programmer, and I’d just like to install the multibutton, add it to smart things, and then add lights (with dim %) to each button on the multibutton.

aka, button one sets switch 1,2,3 to 30%, switch 7 to 50% and turns on the smart outlets(or fibaro controller) and sets a dim% on those. Whereas button 2 maybe sets all switches to 100%.

What is the simplest controller/button to do this with? I wanted hard wired, but if a wireless battery one is plain easier to use, I’ll go with that. I’m putting a wall box in place to wire in a scene button controller, so if its battery I’d like to install it somehow in the cover of this wall box so that it looks like its hard wired.

I really just don’t want to fiddle, and want it to work reliably. Even if its a little pricier.

Help and suggestions appreciated.


From your initial description, I would go with the battery powered remotec 90. It’s very reliable, very easy to use with SmartThings, under $50. Eight main buttons and each button can be tapped, double tapped, or long-held so you have 24 total options. Very popular in the community. :sunglasses:


I’m not sure which is the best and there are many other discussions about the merits of various multi button devices.

I can say this about the Cooper RFWC: It is designed communicate directly to other zwave devices and seems to work well for that. If your GE dimmers are z-wave it will work for what you ask and allow you to adjust the dim level on the fly (hold the button). Minimal fiddling as you just enter the device IDs and the levels in the ST app for the controller (assuming you use associations, scenes are a bit more complicated). Once its programmed it just works, even if the hub is off line.

If they are non-zwave it will work for (on/off) but you will have to set up the logic in ST using another app like webcore. There is more fiddling with this route but it works. There is no on the fly dimming though.

1 Like

Thank you. This looks good if its ready to talk to smart things kind of, “out of the box”.

I wanted hard wired, but I also want easy to configure. I’m trying to build this room, have a 20 month old, and probably in the next 3-4 days I’ll have another newborn, and don’t have time or desire to fiddle with custom programming etc.

You’ll need to use the custom device type handler at the link I gave above, but after that you can use it with any of the existing routines or smart apps that recognize “buttons.” Including the official smartlighting feature. :sunglasses:

If you haven’t used custom code before, it’s pretty straightforward. Basically you just copy the author’s code and paste it into your account. The following FAQ describes the process:

I bought GE Zwave switches that were in the recent lowes deals. I’ll be using their dimmers for this room build, as well as need to energize and set a couple fibaro controllers. I plan to use Fibaros to turn on and set brightness or color of some floor and ceiling soffit rope lighting.

I thought the cooper device would be the way to go, but when I search smart things and the RFWC I find threads talking about all sorts of custom code etc.

With this cooper device can I add it to smartthings, have a config page inside smart things where I can go in and say for button 1, add 4 dimmers and set % brightness on each one and add a fibaro controller set to some value, and then button two and add other set points with those same dimmers?

The talking direct seems nice, but I’d also like for the hub to know if stuff is on, so If I’m upstairs and forgot to turn off the lights in the theatre, I can check the app, and turn them off. If they talk directly to the switches, the hub wont know if they are off or on.

Can you possibly link to the right cooper model on amazon? I see a few diff ones and some say eaton, and I think I read theirare slight variance models with diff end letters and I want to be sure and get the right one. I’m wiring power to a switch box for it, whether I end up using just a battery one on the wall or hardwire.

BTW, I like Cooper devices in general, and I think this one is a good example of a local scene controller, it’s just that technically it’s a little more challenging to set up then the remotec because of having to get the associations correct.

With the remotec, every button press is just sent to the SmartThings hub, which can then turn around and send a message to any SmartThings control device. You don’t have to worry about the protocols or association or anything like that.

Different devices will work for different use cases and for different people. I definitely don’t want to discourage you from considering the Cooper if it meets your requirements and preferences, it just sounded from your original post that the remotec might be a little simpler for you to get set up as long as you are OK with a battery powered device. :sunglasses:

But for anyone who comes to this thread who already has the Coopers from another Z wave system or who really wants a hardwired solution, definitely consider the Cooper first.

1 Like

Eaton is the Company, Cooper is the Division, Aspire is the model line. You can find the same device listed under any of those three names depending on the retailer.

The last few letters of the model are usually the color code.

alSo, aspire devices come in “designer” (curved lines) and “decorator” (straight lines) styles, with different colors available in the two styles.

So for the device being discussed in this thread, the designer version is on the left and the decorator version is on the right in the following picture. Those are the two models in the thread title. RFWC5D is the decorator version on the right, those are usually special order because they aren’t as popular.


For ordering, include Cat No. followed by the color code. For Designer look: AW (Alpine White), DS (Desert Sand), SG (Silver Granite), WS (White Satin). For Decorator look: BK (Black), LA (Light Almond), V (Ivory), W (White)

I’m not able to add my RFWC5 to my v1 hub. When I press the ALL OFF button the LEDs illuminate sequentially but then stop and go back to all blinking in unison. The app never discovers the device.

I rebooted my hub and tried again and was successful. However now only button 5 produces commands; no other button registers presses in the log.

I’ve done no testing with the V1 hub. However, it is important to note that the RFWC5 will not send commands until configured properly. In the DH go into the settings. If you wish to control other Z Wave devices directly enter their node ids and levels - reading instructions carefully. Then exit the setting page and hit the Configure Scenes button. It will take several minutes but should configure the RFWC5 properly. At the very least it sets it up with the hub ID associated to each button. This is required for you to see any action in the hub logs when you press a button.

I have no idea if there are any hardware limitations in a V1 hub that would cause this not to work. If it does not appear to work please send me a copy of the logs generated during the configure scenes process and logs as you press buttons.

Thanks Scott. I don’t want to control devices directly or use scenes, I just want to use the buttons to trigger Smart Lighting apps and Routines.

Let me know how it works out. I’ve primarily used mine to control Z-wave devices directly. I have messed round with interacting with webCore and that seems to work fine.

I’ve added, removed and re-added this controller multiple times and every time the number of buttons that respond in the log is different. The most I’ve had is four (buttons 1, 3, 4, 5) but it’s typically one or two and if I remove the controller and add it again the buttons that respond change.

Any idea why all five buttons don’t produce a response?

The only reason I’ve seen that buttons did not respond is when the device is not configured properly (scenes programed).
The DH will program your hub into each scene so you should see output in the logs when the buttons are pushed. Rather than adding and removing the device you should try resetting the device then use the configure scenes button again (watch the logs wait till its done). To reset the device hold buttons 1 and 5 until all indicators are blinking then press and release the all off button.

I do know that early on in my testing I messed up my device’s configuration pretty good and nothing worked. Resetting cleared it up.

The only other thing I can think of is that your V1 hub does not respond the same. I have a V2 hub and 4 RFWC5 units all have been tested and 3 are installed and in daily use. I do use them to control z-wave devices directly. However, I’m also using the button presses to trigger things in WebCore.

If you have no success please send logs and screen shots of your device info screen in the IDE.

I haven’t even configured the buttons, I’ve just added the device and testing to see that button presses appear in the log. I will most likely be using each button to run an automation, not directly control another device but either way I have to make sure that the buttons register a command in the log and at this moment only buttons 1, 3, 4, and 5 do.

I’m surprised your getting even those buttons if you have not run the configure scenes command.

The device will NOT work until you configure it. It will not send command to the hub until it is configured because the hub ID and a scene number must be programmed into the device configuration for each button. This will happen automatically when you push the configure scenes button. You don’t have to enter any device IDs for direct control. This takes a while to execute (minutes) so wait awhile before pressing any buttons.

When done you should see action for each button press in the logs. You should see a set scene command for the first press (indicator light goes on) and a basic off command for the second press (indicator light goes off). Button pushes will be available for the 5 buttons in apps like WebCore or SmartLighting etc.

If its not working do the device reset as described in my last post. Then hit the configure scenes button.

I’m confused. I thought the “Configure Scenes” screen was only if I wanted the buttons to associate with devices or scenes (which I don’t). After adding the device I pressed in sequence button 1, 2, 3, 4, 5, and ALL OFF. This was the resulting log:
It doesn’t show that button 2 was pressed.

What am I supposed to enter on the “Configure Scenes” screen if I just want the buttons to activate an automation / app?

666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:38 PM: debug Parsed IndicatorReport(value: 0) to [['name':'IndDisplay', 'value':IND 00000, 'descriptionText':Indicators: IND 00000, 'linkText':device.label Indicators: IND 00000, 'isStateChange':true, 'displayed':true], ['name':Indicator1, 'value':'off', 'descriptionText':null Indicator:1 off, 'linkText':null Indicator:1 off, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':1], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 1 pushed, 'linkText':null Button:1 pushed, 'isStateChange':true, 'displayed':true], ['name':Indicator3, 'value':'off', 'descriptionText':null Indicator:3 off, 'linkText':null Indicator:3 off, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':3], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 3 pushed, 'linkText':null Button:3 pushed, 'isStateChange':true, 'displayed':true], ['name':Indicator4, 'value':'off', 'descriptionText':null Indicator:4 off, 'linkText':null Indicator:4 off, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':4], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 4 pushed, 'linkText':null Button:4 pushed, 'isStateChange':true, 'displayed':true], ['name':Indicator5, 'value':'off', 'descriptionText':null Indicator:5 off, 'linkText':null Indicator:5 off, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':5], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 5 pushed, 'linkText':null Button:5 pushed, 'isStateChange':true, 'displayed':true]]
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:36 PM: debug Parsed BasicSet(value: 0) to []
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:36 PM: debug Parsed BasicSet(value: 0) to []
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:30 PM: debug Parsed SceneActivationSet(dimmingDuration: 0, sceneId: 255) to []
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:30 PM: debug Parsed IndicatorReport(value: 29) to [['name':'IndDisplay', 'value':IND 10111, 'descriptionText':Indicators: IND 10111, 'linkText':device.label Indicators: IND 10111, 'isStateChange':true, 'displayed':true], ['name':Indicator5, 'value':'on', 'descriptionText':null Indicator:5 on, 'linkText':null Indicator:5 on, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':5], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 5 pushed, 'linkText':null Button:5 pushed, 'isStateChange':true, 'displayed':true]]
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:29 PM: debug Parsed SceneActivationSet(dimmingDuration: 0, sceneId: 255) to []
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:28 PM: debug Parsed IndicatorReport(value: 13) to [['name':'IndDisplay', 'value':IND 10110, 'descriptionText':Indicators: IND 10110, 'linkText':device.label Indicators: IND 10110, 'isStateChange':true, 'displayed':true], ['name':Indicator4, 'value':'on', 'descriptionText':null Indicator:4 on, 'linkText':null Indicator:4 on, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':4], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 4 pushed, 'linkText':null Button:4 pushed, 'isStateChange':true, 'displayed':true]]
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:27 PM: debug Parsed SceneActivationSet(dimmingDuration: 0, sceneId: 254) to []
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:24 PM: debug Parsed IndicatorReport(value: 5) to [['name':'IndDisplay', 'value':IND 10100, 'descriptionText':Indicators: IND 10100, 'linkText':device.label Indicators: IND 10100, 'isStateChange':true, 'displayed':true], ['name':Indicator3, 'value':'on', 'descriptionText':null Indicator:3 on, 'linkText':null Indicator:3 on, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':3], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 3 pushed, 'linkText':null Button:3 pushed, 'isStateChange':true, 'displayed':true]]
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:24 PM: debug Parsed SceneActivationSet(dimmingDuration: 0, sceneId: 253) to []
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:14 PM: debug Parsed IndicatorReport(value: 1) to [['name':'IndDisplay', 'value':IND 10000, 'descriptionText':Indicators: IND 10000, 'linkText':device.label Indicators: IND 10000, 'isStateChange':true, 'displayed':true], ['name':Indicator1, 'value':'on', 'descriptionText':null Indicator:1 on, 'linkText':null Indicator:1 on, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':1], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 1 pushed, 'linkText':null Button:1 pushed, 'isStateChange':true, 'displayed':true], ['name':Indicator4, 'value':'off', 'descriptionText':null Indicator:4 off, 'linkText':null Indicator:4 off, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':4], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 4 pushed, 'linkText':null Button:4 pushed, 'isStateChange':true, 'displayed':true], ['name':Indicator5, 'value':'off', 'descriptionText':null Indicator:5 off, 'linkText':null Indicator:5 off, 'isStateChange':true, 'displayed':true], ['name':'button', 'value':'pushed', 'data':['buttonNumber':5], 'descriptionText':Cooper Aspire Scene Controller RFWC5 RFWC5D button 5 pushed, 'linkText':null Button:5 pushed, 'isStateChange':true, 'displayed':true]]
666e84d6-21e8-44cc-bed6-929b4f4a1d5e  5:21:14 PM: debug Parsed SceneActivationSet(dimmingDuration: 0, sceneId: 251) to []

Enter nothing. Just press the button.

Just wondering if you ever got it working.