Enerwave ZWN-SC7 Z-Wave 7 Button Scene Controller

I figured I would create a new topic for this device on the community site. There is another in the google group

https://groups.google.com/forum/#!topic/openhab/hoyKbgoWijM

I’m having trouble adding this device to my z-wave network. I have a ZME_UZB1 Z-Wave Plus USB controller. It has been working perfectly. I also have a Aeon labs minimote that I use for inclusion. I have not had any difficulty adding new devices to the network til now.

I tried using the aeon labs minimote to do the inclusion without any luck. I am not quite sure how to enable Network Wide Include on the ZME_UZB1 Z-Wave Plus USB controller. My ZME_UZB1 Z-Wave Plus USB controller is connected to a debian linux PC, I am not using windows.

Can anyone provide any help on how I can get the Enerwave ZWN-SC7 added to my Z-wave network?

ok, I managed to get the node added, but I am having issues with zwave network stability. I assume this is because 1/3 of my zwave switches have no power running to them due to some construction in my home. I am hoping that once power is restored my zwave network will return to normal stability and I will be able to work on getting this keypad working.

This keypad does not appear to be part of the openhab zwave database as of the last nightly build so it looks like I’ll have to try to add it.

ok, I finally have my zwave network stable again. I would like to get this device added to the zwave database.

Chris could you give me advice on how to do this? I previously added a leviton device to the zwave database with your help, but there was already another leviton device very similar to the one I was creating. I’m not sure how to start from scratch. There are no other enerwave scene controllers…

this is the xml file that is generated

<node>
  <deviceClass>
    <basicDeviceClass>STATIC_CONTROLLER</basicDeviceClass>
    <genericDeviceClass>STATIC_CONTOLLER</genericDeviceClass>
    <specificDeviceClass>SCENE_CONTROLLER</specificDeviceClass>
  </deviceClass>
  <homeId>0xd4674f2e</homeId>
  <nodeId>99</nodeId>
  <version>4</version>
  <manufacturer>0x11a</manufacturer>
  <deviceId>0xb03</deviceId>
  <deviceType>0x801</deviceType>
  <listening>true</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>false</routing>
  <supportedCommandClasses>
    <entry>
      <commandClass>VERSION</commandClass>
      <versionCommandClass>
        <version>1</version>
        <instances>1</instances>
        <libraryType>LIB_CONTROLLER</libraryType>
        <protocolVersion>3.42</protocolVersion>
        <applicationVersion>1.5</applicationVersion>
      </versionCommandClass>
    </entry>
    <entry>
      <commandClass>BASIC</commandClass>
      <basicCommandClass>
        <version>1</version>
        <instances>1</instances>
        <isGetSupported>true</isGetSupported>
      </basicCommandClass>
    </entry>
    <entry>
      <commandClass>ASSOCIATION</commandClass>
      <associationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <configAssociations>
          <entry>
            <int>1</int>
            <associationGroup>
              <Index>1</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>2</int>
            <associationGroup>
              <Index>2</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>3</int>
            <associationGroup>
              <Index>3</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>4</int>
            <associationGroup>
              <Index>4</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>5</int>
            <associationGroup>
              <Index>5</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>6</int>
            <associationGroup>
              <Index>6</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>7</int>
            <associationGroup>
              <Index>7</Index>
              <Nodes/>
            </associationGroup>
          </entry>
        </configAssociations>
        <maxGroups>7</maxGroups>
      </associationCommandClass>
    </entry>
    <entry>
      <commandClass>MANUFACTURER_SPECIFIC</commandClass>
      <manufacturerSpecificCommandClass>
        <version>1</version>
        <instances>1</instances>
      </manufacturerSpecificCommandClass>
    </entry>
    <entry>
      <commandClass>NO_OPERATION</commandClass>
      <noOperationCommandClass>
        <version>1</version>
        <instances>1</instances>
      </noOperationCommandClass>
    </entry>
  </supportedCommandClasses>
  <nodeNeighbors>
    <int>5</int>
    <int>6</int>
    <int>7</int>
    <int>10</int>
    <int>14</int>
    <int>16</int>
    <int>17</int>
    <int>18</int>
    <int>19</int>
    <int>57</int>
    <int>58</int>
    <int>66</int>
    <int>67</int>
    <int>70</int>
    <int>71</int>
    <int>74</int>
    <int>76</int>
    <int>77</int>
    <int>94</int>
    <int>96</int>
    <int>97</int>
    <int>98</int>
  </nodeNeighbors>
  <lastSent>2015-10-22 02:13:30.213 UTC</lastSent>
  <lastReceived>2015-10-22 02:13:30.411 UTC</lastReceived>
  <applicationUpdateReceived>true</applicationUpdateReceived>
</node>

ok, hopefully I created some proper xml files

I opened this issue

As stated in the issue I used a leviton scene controller as a guide. Bigest question mark for me was what to do about command classes… I just copied and pasted from the leviton scene controller

let me know if I need to fix something

Is there a manual for this device? There’s no configuration in this XML file - does this device support configuration?

http://www.zwaveproducts.com/layout/manuals/Enerwave-ZWN-SC7.pdf

also check out Saagar Patel’s post in the following topic

https://groups.google.com/forum/#!topic/openhab/hoyKbgoWijM

Ok, so no configuration options - that makes it simple :smile:

I’ll add this to the database tonight hopefully…

so was my xml correct? I’ll be interested to see your final version to see what you changed from what I submitted. I’ll be amazed if just copying and pasting the command classes from the leviton scene controller was all it took…

Is there some sort of guide on how to go about doing this correctly? I will most likely be interested in adding some other devices to the database down the road.

Where did you submit it to? I’m just about to create the XML so if you’ve already done it I’ll use that (sorry if I missed it - is there a Git PR?).

I’ve created a PR for this and merged so it should be in tomorrows snapshot.

I opened an issue on GitHub which I linked to in the post dated Oct 22, 3:53 AM

where can I get the new snapshot? I looked on cloudbees, but the last build is 1042 from Oct 18…

Good question - I normally go to Cloudbees, but as you point out, it hasn’t built for a couple of weeks now… I know there have been issues with it, but I thought the nightly build was still enabled.

@teichsta, any thoughts?

Looks like it’s built again last night…

OK, device seems to be working now. It gets recognized properly and responds to initialization and heals as expected. I set the 7 association groups.

Now, how do I create items linked to each of the 7 buttons?

I’m guessing something like this:
Switch Enerwave_button2 “Enerwave_button2” {zwave=“101:2:command=switch_binary”}

but that does not work…

If I push the buttons on the controller the lights flash, but I do not see any output in my zwave log…

I tried setting it up as shown here

like so:

/*Enerwave Scene Controller */
Switch Enerwave_button1	"Enerwave_button1"	{zwave="101:command=SCENE_ACTIVATION,scene=1,state=0,respond_to_basic=TRUE"}
Switch Enerwave_button2	"Enerwave_button2"	{zwave="101:command=SCENE_ACTIVATION,scene=2,state=0,respond_to_basic=TRUE"}
Switch Enerwave_button3	"Enerwave_button3"	{zwave="101:command=SCENE_ACTIVATION,scene=3,state=0,respond_to_basic=TRUE"}
Switch Enerwave_button4	"Enerwave_button4"	{zwave="101:command=SCENE_ACTIVATION,scene=4,state=0,respond_to_basic=TRUE"}
Switch Enerwave_button5	"Enerwave_button5"	{zwave="101:command=SCENE_ACTIVATION,scene=5,state=0,respond_to_basic=TRUE"}
Switch Enerwave_button6	"Enerwave_button6"	{zwave="101:command=SCENE_ACTIVATION,scene=6,state=0,respond_to_basic=TRUE"}
Switch Enerwave_button7	"Enerwave_button7"	{zwave="101:command=SCENE_ACTIVATION,scene=7,state=0,respond_to_basic=TRUE"}

but that is not working. I still do not see any feedback in my zwave logs when I press buttons

also, I get the following in my logs on initialization

2015-11-04 11:32:54.383 [WARN ] [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = Enerwave_button3, command class name = scene_activation, using 0 refresh interval.
2015-11-04 11:32:54.383 [WARN ] [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = Enerwave_button2, command class name = scene_activation, using 0 refresh interval.
2015-11-04 11:32:54.384 [WARN ] [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = Enerwave_button5, command class name = scene_activation, using 0 refresh interval.
2015-11-04 11:32:54.385 [WARN ] [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = Enerwave_button4, command class name = scene_activation, using 0 refresh interval.
2015-11-04 11:32:54.385 [WARN ] [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = Enerwave_button7, command class name = scene_activation, using 0 refresh interval.
2015-11-04 11:32:54.385 [WARN ] [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = Enerwave_button6, command class name = scene_activation, using 0 refresh interval.
2015-11-04 11:32:54.385 [WARN ] [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = Enerwave_button1, command class name = scene_activation, using 0 refresh interval.

so it looks like my controller operates differently than the cooper scene controller…

Any ideas on what my items should look like? what the proper command is for the enerwave?

Any luck in getting this Scene Controller to work? I’ve downloaded the latest SNAPSHOT, but can’t seem to figure out how to get the scene buttons to be recognized.

Hi. I ended up following instructions from several threads, so hopefully this will help someone:

First, include the controller into your z-wave network like usual. Next, you’ll need to configure the controller. This utility was invaluable for this:

http://www.moonlitzwave.com/zensys-tools.zip

Shut down openHAB and launch this utility. Click the controller and wait for the device list to populate. If you get an error, close the program, remove the Z-Wave stick, reinsert it, then launch the software again. Click the Enerwave controller on the left (shows as Static Controller), then go to the Command Class tab on the right side. Select COMMAND_CLASS_ASSOCIATION_V2 on the Command Class dropdown, and ASSOCIATION_SET on the second Command Name dropdown.

Set the Grouping Identifier to 01, and set the Node ID to the ID of your controller (usually 1, check the list). Click Send. You should get a confirmation in the log underneath. Do this for group IDs all the way to 07. This tells the controller to associate with the controller for each of the 7 association groups (each group represents each button).

Next, set the Command Classes dropdown to COMMAND_CLASS_SCENE_CONTROLLER_CONF_V1 and the Command Name to SCENE_CONTROLLER_CONF_SET. Set the Group ID to 01, and the Scene ID to 01, then click Send. Change both fields to 02, then click Send. Do this all the way up to 07. This tells the scene controller to send the appropriate scene number for each association group.

Chris has added this controller to the database in the newer snapshots, so it shows up without any fight.

From here you can close the PC Controller utility and fire up OpenHAB. Here are my some of the item lines for my physical buttons:

Switch    Switch_LR_SC_1 "LR SC Button 1" {zwave="13:command=SCENE_ACTIVATION,scene=1,state=0"}
Switch    Switch_LR_SC_2 "LR SC Button 2" {zwave="13:command=SCENE_ACTIVATION,scene=2,state=0"}
Switch    Switch_LR_SC_3 "LR SC Button 3" {zwave="13:command=SCENE_ACTIVATION,scene=3,state=0"}
Switch    Switch_LR_SC_4 "LR SC Button 4" {zwave="13:command=SCENE_ACTIVATION,scene=4,state=0"}

The issue here is that pressing the button on the scene controller changes the OpenHAB switch to ‘ON’, but nothing turns it off. This is solved by using a rule to detect the updated state (even if it’s already ON). Here are my ‘virtual’ switches, which reflect the actual desired states:

Switch    Switch_LR_SC_Entry    "LR SC Entry Light"
Switch    Switch_LR_SC_LR    "LR SC LR Light"

Here are the rules I used to update the virtual switch based on which scene controller button is pressed:

rule "LR_SC_Entry OFF"
when
Item Switch_LR_SC_1 received update ON
then
sendCommand(Switch_LR_SC_Entry, OFF)
end


rule "LR_SC_Entry ON"
when
Item Switch_LR_SC_2 received update ON
then
sendCommand(Switch_LR_SC_Entry, ON)
end


rule "LR_SC_LR OFF"
when
Item Switch_LR_SC_3 received update ON
then
sendCommand(Switch_LR_SC_LR, OFF)
end


rule "LR_SC_LR ON"
when
Item Switch_LR_SC_4 received update ON
then
sendCommand(Switch_LR_SC_LR, ON)
end

So now pressing button 1 will turn the virtual switch off and pressing button 2 turns the virtual switch on. I then have a rule for each virtual switch, which will do whatever needs to be done:

rule "LR Scene Controller - Entry Light"
when
Item Switch_LR_SC_Entry received command
then
sendCommand(Switch_LR_SS_1,Switch_LR_SC_Entry.state.toString)
end

Using rules, you can have each button do pretty much anything you want. Eventually, I’d like to see if it’s possible to manipulate the LEDs on it, but I was satisfied enough getting basic functionality out of it.

Again, I hope this helps someone–reply if you have any questions.

2 Likes

I kinda shifted focus to working on the leviton VRCZ4-M0Z.

If you change your items and include “respond_to_basic=TRUE” you will get the OFF updates.

Switch Switch_LR_SC_1 “LR SC Button 1” {zwave=“13:command=SCENE_ACTIVATION,scene=1,state=0,respond_to_basic=TRUE”}

However, my issue is now that when I hit OFF for one button I get OFF updates for all of my buttons