Building on the link that @phinnay provided, I got the RFWC5 working. However, updates are only received when a scene is switched ON, not when it is switched OFF. From the zensys tool, it needed COMMAND_CLASS_ASSOCIATION_V1 executed even though it seems to support COMMAND_CLASS_ASSOCIATION_V2.
@chris Thats so much for your work on OpenHAB and the z-wave binding. OpenHAB is awesome and, in contrast to a supposedly smart commercial system, it actually works. Below is more information on how the RFWC5 scene controller behaves and, at the bottom, a suggestion to support three channels for this device. I would be happy to help implement better support of the device, but would highly appreciate pointers and comments.
@phinnay Thanks for your reply and thanks for pointing out that thread on google groups. That indeed worked.
- I have an Enerwave ZWN-SC7 that did not work before, but after applying precisely the commands given in that thread. A Scene Number changed is triggered in openhab2 (once) whenever a button is pressed.
Zensys tool sees the following when the 1st through 7th button is pressed once:
08:54:44.223: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 01 FF
08:54:44.236: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 01 FF
08:54:49.074: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 02 FF
08:54:49.088: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 02 FF
08:54:51.054: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 03 FF
08:54:51.067: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 03 FF
08:54:53.514: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 04 FF
08:54:53.527: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 04 FF
08:54:54.254: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 05 FF
08:54:54.267: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 05 FF
08:54:55.124: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 06 FF
08:54:55.137: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 06 FF
08:54:56.006: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 07 FF
08:54:56.018: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 07 FF
- The RFWC5 needed a slightly different command than described in that thread.
manually configure the association groups for the controller using the zensys-tools. Manually sending the following z-wave commands from the “command class” tab:
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]
Now, manually set the scene controller configuration so it sends the scene activation commands to your controller. Again, from the “command class” tab:
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
Now pressing the first button to switch the scene on and again to switch it off, then them same for buttons 2-5 results in the following data being received by the zensys-tool:
08:44:43.770: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 01 00
08:44:43.786: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 01 00
08:44:46.483: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00
08:44:46.498: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00 00
08:44:47.086: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 02 00
08:44:47.101: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 02 00
08:44:47.739: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00
08:44:47.754: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00 00
08:44:48.342: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 03 00
08:44:48.357: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 03 00
08:44:48.996: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00
08:44:49.011: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00 00
08:44:49.548: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 04 00
08:44:49.563: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 04 00
08:44:50.452: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00
08:44:50.467: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00 00
08:44:52.311: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 05 00
08:44:52.325: Received: COMMAND_CLASS_SCENE_ACTIVATION.SCENE_ACTIVATION_SET, hex data: 2B 01 05 00
08:44:53.266: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00
08:44:53.280: Received: COMMAND_CLASS_BASIC.BASIC_SET, hex data: 20 01 00 00
That is, while switching on clearly transmits the scene number, the code from switching off a scene seems always to be the same. Openhab2 will forward the switching on of a scene to rules twice, as reported by @phinnay, the switching off is not forwarded.
The right button will send the same “off” code when pressed for a few seconds.
In addition this device supports an indicator and from the zensys tool one can execute
COMMAND_CLASS_INDICATOR_V1/INDICATOR_GET
will result in
08:50:14.036: Received: COMMAND_CLASS_INDICATOR.INDICATOR_REPORT, hex data: 87 03 15
If scenes 1, 3, and 5 are enabled. The last number is just the bitmask of leds hat are lit, when executed for other states.
Similar, one can send (again tested from zensys tools)
COMMAND_CLASS_INDICATOR_V1/INDICATOR_SET with Value v
where v is the binary bitmask of the scenes to for which the led should be lit.
From this I would assume the device could have three channels: A SceneNumber channel that is updated whenever the device updates the scene number, a SceneIndicatorNumber channel that is polled whenever the controller received the switch off code, and a SceneIndicatorNumber output channel that can be written to and sets the leds (and with them the state of the scenes as maintained by the device).
I would be happy to help improve the support for this device. While I have quite a bit of programming experience, I would highly appreciate pointers on where to look and what to do.