ZWN-SC7 Scene Controller Use

I have one of these that I’m trying to figure out how to incorporate. I’ve seen many posts referencing Central Scene Class but this device doesn’t use Central Scene. Here is the PDF that describes this controller,, and it works with several other systems (including Vera if you can believe that). I had it on Vera Plus but I’m trying to get everything off of it and into Home Assistant. Any help would be appreciated. I’m out of ideas. I can’t even get it to show events anywhere.

1 Like

I have the same controller, and also the same results. Nothing, I had given up, but would love yo get this working

I can put it back on my Vera if I have to, but I can’t see why the smart people using this program couldn’t figure it out. If Vera can do it…

By the look of it, a press of a button would result with a event fired on the event bus.
Event is: zwave.scene_activated
Attributes are: node_id, scene_id and entity_id.
This appears in homeassistant.log, and automations can be fired using event trigger.

No joy. Not even an event in the logs. This is the only thing I see anywhere for it:

12:07 PM Enerwave ZWN-SC7 7-Button Scene Controller changed to ready
12:07 PM Kitchen Light changed to ready
12:07 PM Aeotec ZW090 Z-Stick Gen5 US changed to ready
12:07 PM Enerwave ZWN-SC7 7-Button Scene Controller changed to initializing
12:07 PM Kitchen Light changed to initializing
12:07 PM Aeotec ZW090 Z-Stick Gen5 US changed to initializing

I even added the class 91 code (that it doesn’t support) trying to get something and nada. I’m sure someone (who knows WAY more about this than I ever will) will figure it out, but I am at a loss. I dug into the logs as well and no events there either…

Any luck with this? None for me

I’m still running this scene controller on my Vera. It’s about the only thing there, but I’m using it for Alexa anyhow so I don’t mind.

Well, since there’s been no joy pursuing this in the homeassistant forum, I pursued it on the Openzwave end. They sent me back here…

I’m going to go out on a limb and say this device is not supported by OpenZWave at all. You might try submitting an Issue at the Github project to have it considered for implementation.

This device does not support the Central Scene Command class (91 or 0x5B). Instead, it uses Z-Wave Group Associations along with the Scene Controller Configuration Command Class (45 or 0x2D). This is described in the user manual. You use this command class to a map an association group, which is mapped to a physical button, to a scene ID. For example, for this device it looks like Group 1 is mapped to “Button 1”. The scene ID can be any number 1-255. I don’t see any code for this command class in OZW.

Generally, I find it a lot easier to understand how Z-Wave devices actually work by looking at the SmartThings device handlers. Here’s one for this controller:

This configuration code is doing what the PDF document describes:

def configurationCmds() {
  // Always check the manufacturer and the number of groupings allowed
  def commands = [
    zwave.sceneControllerConfV1.sceneControllerConfSet(groupId:1, sceneId:1).format(),
    zwave.sceneControllerConfV1.sceneControllerConfSet(groupId:2, sceneId:2).format(),
    zwave.sceneControllerConfV1.sceneControllerConfSet(groupId:3, sceneId:3).format(),
    zwave.sceneControllerConfV1.sceneControllerConfSet(groupId:4, sceneId:4).format(),
    zwave.sceneControllerConfV1.sceneControllerConfSet(groupId:5, sceneId:5).format(),
    zwave.sceneControllerConfV1.sceneControllerConfSet(groupId:6, sceneId:6).format(),
    zwave.sceneControllerConfV1.sceneControllerConfSet(groupId:7, sceneId:7).format()


    commands << associateHub()


To setup the controller it assigns all the association groups 1-7 to scene IDs 1-7. Then it associates the hub/controller with association groups 1-7 (in associateHub()). When there’s a button press it gets the same Scene Activation commands as “normal” scene controllers, where the scene IDs are 1-7 for buttons 1-7. The problem is OZW does not implement the equivalent zwave.sceneControllerConfV1 command.

The SmartThings code is also using the Scene Actuator Configuration Command Class (sceneactuatorconfv1.SceneActuatorConfGet) and treating it as a button release event. I don’t quite understand that one, but that command class is not implemented by OZW either.

That was my understanding as well which is why I posted over at the GitHub. Maybe I’ll try again, maybe I’ll just press on as it is now. Would be nice to have it correctly implemented though. Not sure if it’s a popular enough device for them to bother with.

Almost 2 years later and apparently there’s been no progress on this…

Ha. Yeah. I check back once in a while hoping someone got it working. I removed mine and put it in a drawer a year or so ago.

I’m going to try it under Zwave2mqtt. If I can get a consistent reaction out of it, I can work with it

zwave2mqtt also uses OpenZWave, so there will be no difference.

However, the same author of zwave2mqtt has a new project, zwavejs2mqtt, which is based on a different zwave library, zwavejs. That library does not support the necessary command classes either, but development is much more active at this point. Who knows, maybe they’d be more receptive to implementing the command classes needed for this device.

I could care less about the command classes, I’m just looking for a predictable response. I have gotten a somewhat predictable response in other programs and even a few times in HA. Worse case, it stays on the Vera. A new program with an active development team would be good too.

Zwavejs2MQTT now supports this device. It still requires a touch of manual effort to configure so that it works, but that’s being addressed as well. If anyone has any questions on how to manually configure it, contact me. By now, the program MAY handle it for you…

1 Like

I’m interested in how to manually configure :slight_smile:
I’m on z-wave js without the mqtt though…

I’ll try to get the information up here in the morning. The way I’m doing it, you’ll need the MQTT part, but it may provide the event stream to HA without it. I’m using AppDaemon for my automation.

That’s a link to the whole thing. I figured it might be easier to just link it and let you go through it than to try to walk you through. This is the relevant part that you’ll be looking for:

I fear this will make it more or less impossible to configure the device via the UI elements. What you can try is executing a custom driver function (which I believe is not documented @robertsLando?):

await driver.controller.nodes.get(44).commandClasses["Scene Controller Configuration"].set(
  1, // this is the group #
  5, // this is the scene ID it should send
  "5s", // this is an optional transition duration for the scene

Or to disable a scene:

await driver.controller.nodes.get(44).commandClasses["Scene Controller Configuration"].set(
  1, // this is the group #

It was three weeks ago. I had to leave off the optional “5s”, part as it kicked back an error. The 44 in the command is the device number, that will change for you.

Once you read through all of that, if you still have questions, let me know and I’ll do what I can to help…

Yep I forgot to document driver function in docs