Cooper Devices rfwc5 scene controller

  • 39 Views
  • Last Post 16 August 2018
  • Topic Is Solved
klimekt posted this 13 August 2018

I'm not having much luck getting this device to work. When included in the network it shows up as a Controller. When I do auto configure it comes back with Success, but fails to get manufacturer data so it does basic configuration only. I tried to assign one of the 5 buttons to start a scene, however the server doesn't see the button presses. I did associate the device with the server for each button (group 1-5) but that didn't help. The instructions talk about loading the scenes into the switch from another controller, however I don't think Axial server has this option available. Anyone has this working?

 

Order By: Standard | Newest | Votes
rscott posted this 13 August 2018

I can't find much on the internet talking about how to configure it and about what z-wave command classes it uses, so I'm only guessing here...

You may be able to assiate each group with a set of devices to control those devices directly. For example, if you want button 1 to turn on the kitchen light, from Axial Server, you would:

1. Click on the controller device 

2. Click "associations"

3. Load group 1

4. Find and put a check next to "kitchen light"

If all works out, then pushing that button on the controller would cause the kitchen light to turn on.

 

klimekt posted this 13 August 2018

I tried that, I associated it with a light, the association did save fine, but pressing the buttons doesn't seem to activate the light. From what I found online, it doesn't send out button press commands, just scene commands and those have to first be loaded from another controller before they can be sent out. 

rscott posted this 13 August 2018

Does the manual that came with the device have any details about which z-wave command classes are supported? 

If you right click the device and choose "Scene activation buttons," does it populate the scene number or attribute boxes?

klimekt posted this 13 August 2018

I don't see Scene activiation buttons as an option if I right click the device. Running server v4.1.6325. Do I need to update?

Here's a technical spec sheet, RFWC5 is not listed for some reason (edit: looks like RFWDC is the same, so info for it on page 5 should apply)

http://www.cooperindustries.com/content/dam/public/wiringdevices/products/documents/technical_specifications/advancedtechinfo_V2.pdf

and a basic instruction sheet:

http://www.cooperindustries.com/content/dam/public/wiringdevices/products/documents/instruction_sheets/rfwcddsc_rev._a_.pdf

rscott posted this 13 August 2018

That scene activation button feature is part of a newer release. You'll need to upgrade to the latest to find it.

Those two documents aren't all that helpful as you hinted at, as neither really talks too indepth about the function of the device. 

klimekt posted this 13 August 2018

I upgraded to v4.5, chose the scene activation, but when the dialog box comes up both Device Scene Number and Device Scene Attribute pull-downs are blank, there is nothing to select. 

rscott posted this 13 August 2018

I'm not overly surprised it didn't work; it's a newer z-wave feature and I suspect Cooper hasn't started implementing it yet. You might try these steps, then leave the zensys tools open and push some buttons on your controller. If you look at the zensys logs, you should see some sort of detail about what each button sends back to your USB stick. Knowing this may help me help you figure out how to use the device.

By the way, if you need to find a copy of zensys tools, you can find it here.

  • Liked by
  • klimekt
klimekt posted this 13 August 2018

This helped a lot, I'm so close... After running zensys tools and applying the commands as described in the thread you linked, the buttons now fire commands that Axial can see. So I was able to assign the buttons to scenes and trigger scenes on pressing each button... but it only triggers scene when the button is pressed On (when the light on the button goes from off to on), it does not trigger when the button is turned Off. So assigning a device toggle to the scene, you have to press the button twice to get the device to turn off or on again because every other press is ignored. However, doing association between the controller on the group for that button then triggers the device to turn off when the button is turned off. So by doing both, a scene and an association I'm able to turn on the device with a scene and turn it off with the association. That's 90% solution right there, so thank you very much for that! The other 10% would be to either have the button be a momentary on or have it fire commands that Axial can see on both On and Off, that way the buttons would work for both single device control as well as more complex scenes with multiple devices. Thoughts?

 

rscott posted this 13 August 2018

When you are in Zensys and push a button to turn it on and then off again, you'll get two commands that show up in the log window. Do those commands differ in any way?

klimekt posted this 14 August 2018

Looks like the On action sends COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET command while the Off action sends COMMAND_CLASS_BASIC.BASIC_SET.

I did a bit more testing and realized the I can control single devices purely with association now, I don't even need a scene for that, they turn on and off just fine. I still would like to use scenes for more complex actions though. 

I thought I saw somewhere that the separate Power button on the right side is group 255 but I'm not able to assign scene to that group ID. As is the Off button doesn't seem to send any commands at all. 

klimekt posted this 14 August 2018

I found following information at this url:

https://community.openhab.org/t/cooper-rfwc5-indicators-and-scene-control-in-oh2-not-working/23647/22

The RFWC5 maintains state for 5 scenes. That is any of these 5 scenes can be either on or off. This is indicated by the LEDs on the keys which are either dimm (off) or bright (on). The scene controller is initialized and the associations are set as detailed in the code below.

COMMAND_CLASS_ASSOCIATION_V1/ASSOCIATION_SET, Group ID = 1, Node ID = [your controller ID]
COMMAND_CLASS_ASSOCIATION_V1/ASSOCIATION_SET, Group ID = 2, Node ID = [your controller ID]
COMMAND_CLASS_ASSOCIATION_V1/ASSOCIATION_SET, Group ID = 3, Node ID = [your controller ID]
COMMAND_CLASS_ASSOCIATION_V1/ASSOCIATION_SET, Group ID = 4, Node ID = [your controller ID]
COMMAND_CLASS_ASSOCIATION_V1/ASSOCIATION_SET, Group ID = 5, Node ID = [your controller ID]
COMMAND_CLASS_SCENE_CONTROLLER_CONF_V1/SCENE_CONTROLLER_CONF_SET, Group ID = 1, Scene ID = 1, Dimming duration = 0
COMMAND_CLASS_SCENE_CONTROLLER_CONF_V1/SCENE_CONTROLLER_CONF_SET, Group ID = 2, Scene ID = 2, Dimming duration = 0
COMMAND_CLASS_SCENE_CONTROLLER_CONF_V1/SCENE_CONTROLLER_CONF_SET, Group ID = 3, Scene ID = 3, Dimming duration = 0
COMMAND_CLASS_SCENE_CONTROLLER_CONF_V1/SCENE_CONTROLLER_CONF_SET, Group ID = 4, Scene ID = 4, Dimming duration = 0
COMMAND_CLASS_SCENE_CONTROLLER_CONF_V1/SCENE_CONTROLLER_CONF_SET, Group ID = 5, Scene ID = 5, Dimming duration = 0

For operation, the scene controller behaves a bit inconvenient. Whenever a scene is activated (switches from off to on) the controller sends the following message

Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 <num> 00 
Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 <num> 00 

where is the scene number (1 through 5). That sounds pretty good. However, if a scene is switched off, then the controller sends

Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00 
Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00 00 

independent of which scene is switched off, or even multiple scenes are switched off using a long press on the right " all off" button. In which case I cannot see any indication which scene was switched off.
However, one can query the current state of the scene activation using:

COMMAND_CLASS_INDICATOR_V1/INDICATOR_GET

Now the controller answers with

Received: COMMAND_CLASS_INDICATOR.INDICATOR_REPORT, hex data: 87 03 15

Where the last number, here 0x15, is the binary value of the 5 scenes. Here 0x15 means bits 5, 3, and 1 were set.
The state of the scenes can be written using

COMMAND_CLASS_INDICATOR_V1/INDICATOR_SET with Value v

The the controller updates its state and the LEDs change accordingly.
What I imagine as a possible way to operate the controller is to have an integer scene number 0-31 indicating which of the 5 scenes are active. Whenever a message is received from the scene controller, the scene controller is queried for its current state and the scene number updated accordingly. When the scene number is written to, then the scene activation of the scene controller is updated.

klimekt posted this 14 August 2018

Based on the info above I think what I need to write next is a script that runs after the scene is complete that:

1) Does the INDICATOR_GET command

2) Calculates the active scenes based on the binary value returned

3) Does the INDICATOR_SET command that turns off the current scene button

This way when I press a button triggering a scene it will automatically turn off after the scene is complete and will be ready for the next use. Can you point me to any documentation describing 1) how to write the scripts and 2) how to execute zwave commands from the script/command line? 

rscott posted this 16 August 2018

I'm trying to visualize how this will work... are you saying that after you run a scene, you want the controller to turn off that button so that the next time you press it, the scene will run again?

klimekt posted this 16 August 2018

Yes, that's one way to make it work. I tried reviewing the scripting documentation but there doesn't seem to be a way to issue INDICATOR_GET and INDICATOR_SET commands from a script as far as I can tell?

I got a second one of these switches and followed the same instructions to get it to work, but this one only turns devices Off via Association, whatever I did to make the first one turn devices On via Association is not working here. Either that or maybe there is some version difference between the two, not sure... 

Close