wall controller WALLC-S

Has anyone had any success getting this to work? There are various solutions out there for other wall controllers, but they don’t seem to work for this one - the only messages I get in my zwave.log are the “unsupported command class” errors (which I understand are not a problem).

I believe it works - see this thread - but it might be problematic…


Chris, I’ve followed the approach in that thread (or tried to!) but it seems without success.

The wall controller device is paired. Configuration parameter 1 and 2 are set to “separately”, 11-14 to “Send scenes”, 21 to “NO (Normal Open”. Each association group has the node 1 (the zwave controller) as a member. Status shows the node as alive, and receiving/sending packets. However when I press buttons on the controller I see this in the zwave.log file (and nothing else):

NODE 9: Incoming command class SECURITY
2015-09-23 10:03:25.193 DEBUG o.o.b.z.i.p.s.ApplicationCommandMessageClass[:62]- NODE 9: Command class SECURITY not found, trying to add it.
2015-09-23 10:03:25.193 WARN  o.o.b.z.i.p.c.ZWaveCommandClass[:221]- NODE 9: Unsupported command class SECURITY
2015-09-23 10:03:25.194 ERROR o.o.b.z.i.p.s.ApplicationCommandMessageClass[:75]- NODE 9: Unsupported command class SECURITY (0x98)

My items are defined as:

Switch WK_Wallswitch2_Scene1            "Wallswitch 2 - Scene 1"         {zwave="23:command=SCENE_ACTIVATION,scene=11,state=1"}

Any tips you might have would be much appreciated…


This was just driving me crazy. I then realised the one thing I hadn’t done was exclude the wall controller and re-include it. Voila - it now works. Thank you to everyone on the original thread who figured this out (particularly Chris)


As a former CoCo domotica adict, I just started with Z-Wave since yesterday and I’m encountering a similar problem. My WALLC-S switch does not behave as expected. I’ve included it in the network using an Aeotec Z-Stick Gen5 plugged into my Mac running OpenHAB and Habmin2, but get some odd results. In my Habmin2 instance I can monitor the ZWave traffic and the device shows up in the Z-Wave device list. I can change the Properties of the device, after clicking save I see a green “Updated” box but also a orange “Update pending”. Not sure if my settings are propgated to the device properly. But then, whenever I press any of the 4 buttons on the WALLC-S switch, I see the following message in the zwave.log: ERROR o.o.b.z.i.p.s.ApplicationCommandMessageClass[:75]- NODE 9: Unsupported command class (0x5b)

I’ve looked at the source-code of the Z-Wave binding for OpenHAB, and can see that command-class 0x5b is part of the device definition (.xml) file. However, I’m not sure what command-class 0x5b is supposed to do and if it is supported by the implementation. Also, I noticed that the battery level after a few tries dropped from 100% to 78%. Is that normal?

One addition, I tried to exclude and include the device from the network as Dan was suggesting, but now I’m stuck with an extra node in the network that I don’t know how to get rid of. I might have reset the device to factory default settings at one time before excluding it from the network (I know this is a bad idea, but tried it nonetheless). Any ideas for how to get rid of the stale device?

Hi Bob,

I had the same problem and I almost lost it until I found the solution. I have a WALLC-S and using both buttons. My config is:

Device configuration parameters:

NOTE: You also need to add your controller node to each Group in “Association Groups”

In items config:

Switch	Switch_GF_Kitchen_1_ON		"Roller shutter in kitchen"	<switch>	(Switches)	{ zwave="28:command=SCENE_ACTIVATION,scene=11,state=0" }
Switch	Switch_GF_Kitchen_1_OFF		"Roller shutter in kitchen"	<switch>	(Switches)	{ zwave="28:command=SCENE_ACTIVATION,scene=12,state=0" }
Switch	Switch_GF_Kitchen_2_ON		"Roller shutter in kitchen"	<switch>	(Switches)	{ zwave="28:command=SCENE_ACTIVATION,scene=21,state=0" }
Switch	Switch_GF_Kitchen_2_OFF		"Roller shutter in kitchen"	<switch>	(Switches)	{ zwave="28:command=SCENE_ACTIVATION,scene=22,state=0" }

In rules config:

rule "Rollershutter kitchen east up when hitting the physical switch"
		Item Switch_GF_Kitchen_1_ON received update ON
		sendCommand(Rollershutter_GF_Kitchen_East, UP)

rule "Rollershutter kitchen east down when hitting the physical switch"
		Item Switch_GF_Kitchen_1_OFF received update ON
		sendCommand(Rollershutter_GF_Kitchen_East, DOWN)

rule "Rollershutter kitchen south up when hitting the physical switch"
		Item Switch_GF_Kitchen_2_ON received update ON
		sendCommand(Rollershutter_GF_Kitchen_South, UP)

rule "Rollershutter kitchen south down when hitting the physical switch"
		Item Switch_GF_Kitchen_2_OFF received update ON
		sendCommand(Rollershutter_GF_Kitchen_South, DOWN)

Regarding the stale node. If the node is marked as dead (red in HABmin) you can click on it in HABmin and then click on the “Delete Node” button that is available only for dead nodes.

I hope it helps! :smile:

Also, just to double check; Do you wake the node up after you have tried changing the config parameters? You will need to hold all four buttons down for a few seconds until the LED starts blinking, then you press button 2 (top right one) once and the LED will quickly flash a few times. If the config parameters are still not updated, try to do it once again.

Hi Andreas,

I’m surprised to find your answer so soon! I understand you’ve got it working, by using the WALLC-S switch to activate the shutter. For me, I’d like to use the switch to turn on, off and dim the lights. And probably also switch scenes.

For the first case, I could just associate the switch with the relais/dimmers, which enables me to control the lights directly and no rules are required in OpenHAB when the light is defined as a switch in the item list. However, to be able to support scenes, the switch commands must be received by OpenHAB which then could use a rule - such as you setup to control the shutter - to dim lights to predefined settings.

Unfortunately, I’ve not been able to associate the wallswitch with the relais/dimmer directly. I’m not sure if the properties I’ve changed using Habmin are propagated to the device. I did use the button 2 operation in management mode (and noticed that the led did not always respond as expected, so I’ve tried this many times draining the battery in the process). I imagine that the settings Habmin displays are cached, somewhere. How can I check which settings are active in the device itself? Also, I noticed that when setting up associations in Habmin, whenever you change the status of a node to Active, it is activated for all groups. Shouldn’t it be possible to setup different associations for each group?

Apart from these hurdles, I will try to setup some rules to see if it is possible to act on events generated by the switch later tonight. Did you find any “Unsupported command class (0x5b)” messages in the OpenHAB log? I’ve read in the forums that this should not be a problem at all, but since I’ve had no succes linking the wallswitch to the actuator I’m not sure this is the case.

Thanks for your help, so far. I’ll post some results when I find out more… :smiley:

If I press the Delete Node button, I can see in the zwave.log that the operation fails because the node is not found. I’m not entirely sure how this works, but I can imagine that the ZWave-stick has remembered the old device-pairing and has added it as a new node after the repeated inclusion-proces. But then the Delete Node operation should take care of that problem? Or is the error raised by OpenHAB which tries to delete a non-existing node, fails and then leaves the node in the cache, somewhere?

No luck, so far. I’ve added some rules like those shown above, but I could only trigger them via the OpenHAB UI and not by pressing the wallswitch. First I’ll ask my supplier for help in this matter and post any (hopefully positive) results to this forum. I will also try HABmin 1 and other tools to see if I’m able to get more feedback on the switch configuration. I’m unsure if HABmin 2 shows the correct configuration from the switch, the webinterface is behaving a little weird sometimes.

Oh, I have never used direct associtions with my nodes, so I guess I’m not the correct person to comment in this case.

I know I have seen “Unsupported command class (0x5b)” messages before when fiddeling around, but I don’t see it now with my current configuration (as posted earlier)

I just tried to delete a dead node using HABmin 1 and when I clicked on “Delete Node” this was logged:
NODE 19: Remove failed node failed with error 0xfe.

When I tried to to click on “Delete Node” again, this was logged:
NODE 19: Remove failed node failed as node not found!

Still, the node showed up in HABmin, even after I reloaded the page and restarted the browser. I then restarted the whole openHAB and now finally the dead node is also gone from HABmin.

I can understand why OpenHAB lists 0x5b as a commandclass that is not implemented. According to the pepper1 zwavedb it is tied to the Central Scene command (which is not supported by the ZWave binding). It is the factory default setting for the WALLC-S to send this command whenever a button is clicked.

The odd thing is that I’ve changed the WALLC-S configuration through the HABMin2 userinterface and assigned Scene Activation and Basic to the four button groups. I’ve also made sure that the WALLC-S was
able to get the new settings by activating the Wakeup Note. I can see a lot of logging comming from the WALLC-S, but nothing indicates that the configuration is updated succesfully. So, I wasn’t sure that
the update succeeded or not, seeing the Invalid Command class messages in the log makes me believe that it didn’t.

I will try a different tool to setup the configuration of the WALLC-S (eg. Open ZWAVE control panel) and see if I’m able to change the button associations. What tool do you use to configure your ZWave network? I see that you mention HABMin 1 above. Is there anything better?

Perfect. I just installed HABMin 1 and through the ZWave configuration panel I was able to correctly configure the WALLC-S switch. Button 1 to send a Activate Scene command, which I can see is received by OpenHAB. Button 2 to send a Switch On/Off command directly to the TKBHOME wallswitch. Both work beautifully, now.

Next thing is to discover how I to create rules, etc. in OpenHAB… :wink:

Great! Good job :slight_smile:

Saw this a bit late but maybe this helps I use this switch to control my hue lights thru openhab:

Number  LinksAan        ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=11,state=0" }
Number  LinksUit        ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=12,state=1" }
Number  LinksDBAan      ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=31,state=0" }
Number  LinksDBUit      ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=32,state=1" }
Number  RechtsAan       ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=21,state=1" }
Number  RechtsUit       ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=22,state=1" }
Number  RechtsDBAan     ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=41,state=1" }
Number  RechtsDBUit     ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=42,state=1" }
Number  LinksLAAan      ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=13,state=1" }
Number  LinksLAUit      ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=14,state=1" }
Number  RechtsLAAan     ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=25,state=1" }
Number  RechtsLAUit     ""      { zwave="9:0:command=SCENE_ACTIVATION,scene=26,state=1" }

And my zwave.rules:

import org.openhab.core.library.types.*
import org.openhab.model.script.actions.*
rule "Eten Knop Aan"
	Item LinksAan received update 1
	sendCommand(TafelScene, 1)
rule "Eten Knop Lang Aan"
	Item LinksLAAan received update 1
	sendCommand(TafelScene, 2)
rule "Eten Knop Lang Uit"
	Item LinksLAUit received update 1
	sendCommand(TafelScene, 0)
	sendCommand(KamerScene, 0)
rule "Eten Knop Uit"
	Item LinksUit received update 1
	sendCommand(TafelScene, 0)

rule "Herfst Knop Aan"
	Item LinksDBAan received update 1
	sendCommand(KamerScene, 1)
rule "Herfst Knop Uit"
	Item LinksDBUit received update 1
	sendCommand(KamerScene, 0)
rule "Overloop Knop Aan"
	Item RechtsAan received update 1
	sendCommand(OverloopS, ON)
rule "Overloop Knop Uit"
	Item RechtsUit received update 1
	sendCommand(OverloopS, OFF)

And I know, this is not “the zwave way” to do it, but I do have a nice and configurable switch using OpenHab…

Good to see your examples. I derived a similar setup. Also maybe not the “zwave way” to do it, but now I have the 4 buttons configured to do the following:

  • 2x switch on/off lights connected via a TBK Wallplug
  • 1x switch on/off lights connected via a TBK Wallplug dimmer
  • same switch long-press dims the lights up and down (direction reversed every time) until button released
  • 1x scene switch, steps through a list of preset lighting configurations (stepper is reset after 5 seconds)
  • same switch turns off all the lights when double clicked
  • with long-press starts slow cinema fade out to dark

…all that with a single wallswitch!

Now I’m thinking about adding awareness using my Fibaro multisensor watching the scene. Lights should go into energy conservation mode when no motion is detected for 30 minutes and go back to the old setting whenever someone enters. Also, lights should go on when twilight is kicking in and off when ambient lighting has gone up.

I see that you control hue led lighting. If you have zwave actuators, they could be configured in association mode. The problem that I now have is that lights cannot be controlled whenever I’m working on the OpenHAB installation. :wink:

Biggest problem I have is the family acceptance factor. "Click left to switch on, Click left switch off is easy enough. But “Double click the upper left to switch the room to a yellow scene” is almost too much and double long click (which the WALLC-S does support) I have not even started using… :grin:

oh and I added this:
Number TafelBatt "" { zwave="9:0:command=BATTERY" }

Text item=TafelBatt label="Batterij [%d]"

I’ve now expanded my setup to include about 30 devices consisting of buttons, motion sensors, dimmers and relays. To increase the FAF (family acceptance factor) I’ve configured buttons to control dimmers and relays by association, so that when my OpenHAB server is not available for any reason we’re still able to turn on and off (most of) the lights. However, this also leads to some issues, for which I’ve yet to find a solution.

What I see is that whenever a button controls a dimmer directly, the status of the dimmer in OpenHAB is not updated automatically. This might be because of a possible patent infringement, the ZWave standard is not allowed to retransmit status updates of a device controlled by association. The workaround is to have the controlling device (eg. a WALLC-S button) being associated with the controller node. This leads to the dimmer being controlled directly and an event being generated in OpenHAB. However I wil need a rule to fetch the current status of the dimmer and update OpenHAB to refelect the new status. Is there any way to do that? I tried lamp.state but that only returns the state as OpenHAB sees it and is often incorrect.

There is also another issue directly related to the WALLC-S button, which contains 4 buttons actually. I’ve setup a Contact item in OpenHAB that will receive the button events. But since a buttonpress needs to send a BASIC DIM/ON/OFF command to directly to the dimmer, the same event is received in OpenHAB. The dimmers differentiate by the way they are associated, but OpenHAB will receive the same event regardless of which button is pressed. Is there a way to differentiate between different buttons? Using SCENE commands it is possible to filter events based on the scene parameter in the ZWave-binding. But since the button directly controls the dimmer and I cannot make the dimmer respond to SCENE commands, I’m a bit stuck here. The only workaround is to refresh the status of all associated devices, but that seems a bit overkill to me.