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

Just tested the toggle commands on my system and they seemed to work fine. Not sure what’s happening. Can you send a copy of the webcore logs.

That said, in the example above since you know the indicator 3 is on, you could use IndicatorSet(3,0) to turn it off.

If you are building a routine to handle setting several indicators I would highly recommend using the indicator all set command. See the example above in this thread. This is because the cooper can be quite slow responding to commands. If your routine sends several commands in a row you risk sending a command before the previous command has completed. In this case it seems that the device ignores or misses some commands resulting messed up indicators.

For some reason I can’t seem to find this in the decora. Has anyone found it? rfwc5d.

This one:

There’s no way I can escape the LED indicator being toggled as being considered a button press.
I built this super-simple piston to toggle a Zigbee bulb

and another piston to control the state of indicator 3 to match the state of the bulb.

I believe you are right. The way the DH works is that upon seeing as scene or basic set command come from the cooper, the DH will send an indicator report request zwave.indicatorV1.indicatorGet. It compares the old state of the indicators to the new state of the indicators to determine which button was pushed and creates a button pushed event. When you change an indicator from webcore the DH does and indicatorSet and follows with at indicatorSet, which again creates a button pushed event.

I will think about how to separate that functionality.

In the mean time if your light is just a simple on off from one button (the cooper). You may what to consider the following logic.

If button 3 gets pushed and indicator 3 is on
with lamp turn on
Else
with lamp turn off

1 Like

Thanks for the reply and confirming my frustration! The bulb can be dimmed so I wanted to create pseudo scenes using the keypad. I tried using ST’s Scene functionality but toggling the keypad scene button after it is on does not turn the device(s) off. Also, the keypad Off (sixth) button does not turn devices off when they’re triggered from a ST scene.
The problem is the lamp is also switched from the ST app or a command through Google Home.

Update from the repository the latest version of the DH (.19). I made a change to that should prevent a button pressed event from being sent after using the indicator commands. I did a little bit of testing but not much so see if it works for you.

1 Like

Thanks so much! I have buttons 1 and 2 controlling outlets via association, and that’s a huge help.

Where I’m baffled is using the buttons to control scenes. The instructions call for the “scene ID” but I don’t see any IDs for the scenes I created using the Smartthings app. Am I missing something? Or does this refer to scenes made in some other application (like Smartlights or something)?

Thanks.

Some z-wave devices can be activated with scene commands vs associations. Scenes are a bit fancier in that you can specify a time to reach level. So lets say you has scene that had several dimmers and a window shade control. You hit the button, They all reach the specified levels at the same time. For this to work the target devices must support the Scene Activation 0x2B command and they must be configured with the scene Scene Actuator Conf 0x2C command separately.

Thanks for the quick response, but I’m afraid my question is even more basic:

  • Is the word"* scene" in this thread referring to the scenes we can now create in the Smartthings app?
    • If so, where can I find the number for the scenes I’ve created?
    • If not, where can I learn more about this use of the word “scene” in this context?

Thanks for your time. I know this isn’t your day job, so I appreciate the help all the more.

No… The word scene in this thread (as far as I’ve used it in writing the DH) refers to z-wave scenes that allow z-wave devices to control other z-wave devices.

Thanks. Any idea where I can find documentation on creating that sort of scene? A search for the word “scene” here brings up too many alternative uses of the word – or seem to assume you already know what it means.

And if “scene” doesn’t represent a scene defined in the hub, how do you define what the “scene” is/does?

1 Like

Well I agree. I had to do a bunch of reading and head scratching to figure out any of this. I will try to explain z-wave scenes as I understand them and contrast them to z-wave association to make the differences clear. I don’t know much about some of the new capabilities in z-wave plus so I won’t comment on that.
In general the word “scene” is used by many people to refer to setting the state of several devices. Here I will only refer to z-wave commands.

  1. A controller is a device capable of sending commands to another device.
  2. Z-wave association is a set of commands that can be used to configure a controller to send commands to another device. In ST an association capable device will have an 85 in its RAW description.
  3. To configure a device to “associate” with another device it must be programed via a command with the following information:
    Group# - The cooper has 5 groups, one for each button
    Device ID - A hexidecimal number found in the Device Network ID column of the ST IDE
    Level - A number that represents 0=off, 1 to 99 = dimmer level, 255=on for a switch
  4. When controller uses association to activate a device it sends a basic set command to the target device.
  5. if more than one device is programmed into a group, multiple basic set commands will be issued (I believe).
  6. Z-wave scenes are a set of commands that can activate multiple devices simultaneously. A scene capable controller will have 2D in the Raw Description.
  7. A z-wave network can have up to 256 scenes. The cooper can activate any 5. The numbers are arbitrary.
  8. When a controller activates a scene is sends a scene activation command with the scene number to all devices in the network. Only scene capable devices will pay attention to it.
  9. A scene capable device will have 2B in the RAW description.
  10. A scene capable device must be programed with the following information:
    scene# - if the device “hears” a scene command with this number it will activate.
    Level - the state the device will go to when its is activated via scene. (same on off level numbers as above)
    Duration - the time is should take to reach the level. The goal is to have several devices come on and reach specified levels together.
    (see the DH for the scene capable LINEAR dimmer above in the thread.)
  11. Notice the difference with where the level is stored. With association it is stored in the controller, with scenes it is stored in the target devices.
  12. There is no OFF command in the scene command set. The cooper RFWC sends basic off commands via association to compensate for this.
  13. The Cooper RFWC can control devices via scenes commands and/or association commands. If you don’t really care about getting the timing right when you turn on multiple devices just use association. It works with any z-wave device and it is simpler in that you don’t have to program the target devices.

Clear as mud!

1 Like

to adjust several indicators. I waited 4 seconds before the next order. But would it be possible to add in the cooper a (indicator.set.multiple) to do as (indicatorAllSet) and adjust all the indicators at once.

thank you for your handler. work perfectly.

Indicator all set handles setting multiple indicators already, he doesn’t need to add a function.

What exactly are you trying to do?

if I press the button 1. this turns off the indicator 2 and 5 then turns on the 3rd and the 4th.
I have to put a lot of waiting time so that the cooper does not ignore them.
Button 2 turns off indicator 1, 3 and 4 and turns on 5.

The indicatorAllSet function allows you to adjust the 5 indicator simultaneously. If instead of sending 4 different command and the cooper is overwhelmed. If we sent all these orders in the same. Maybe it would be easier for the coope.

It can absolutely do what you want with indicator all set. You just have to send the correct bitmask that gives the correct indicator pattern, but before we determine the best way to skin this cat, I’m still a little lost as to why btn 1 turns off 2 and 5. and btn 2 turns off 1,3 and on 5. Do you have code somewhere else doing this or are you trying to do them all in sequence? Do you have a sample of your code?

button 1 turns on the light A, B, C and turns off the light D.
Button 2 turns on the light B, D, E and off A, C, F. The first 2 buttons are scenes.
Button 3 is light A.
Button 4 is light B.
Button 5 is light D.

If I press button 1, it will turn on indicator 3 and 4 because these lights went on and turn off indicator 5. It will also extend indicator 2 because it is no longer this sequence that is used. If for example I close the light A with the button 3 or with the application. Indicator 1 will close because the scene is no longer compliant. This allows me to reactivate without having to close and start over. Probably I did not understand how to use IndicatorAllSet.

I would like to show my code but I do not use all the possibilities of COREPISTONS yet. I do not use webcore. I created about 20 single piston for 1 Cooper. I have 5 Cooper to program for this project. I want each cooper to reflect the real state of things he controls.

Yes, this can all be done with Indicator AllSet, you just need to send indicatorallset(NUMBER) indicating the correct bitmask on the button press event of the controller.

Here is how you figure out what the correct number is for each scenario:

1 Like