OpenHab - 2nd Gen Red Switch (LZW30-SN) - Scenes and RGB Notifications Work

Over the past two weeks, I have successfully used the scenes and RGB notifications on the new LZW30-SN Red Switches under both Home Assistant and OpenHab.

There is already a separate topic covering Home Assistant, so this topic is for OpenHab.

Similar to Home Assistant, OpenHab will not support the new Red switches using the current out-of-the-box configurations, and will require some manual interventions to include the new switches. The new configurations for the LZW30 and LZW30-SN switches are only included in the java-based Zwave 2.5 bindings with build dates after Sep 30, 2019.

The following were the steps I needed to get the new switches up and running:

  • I downloaded and installed the current version of OpenHab 2.4
  • Instead of installing the current Zwave 2.4 Add-ons Binding available from within the program, I had to manually download and install the latest Zwave 2.5 Binding with a build date after Sep 30, 2019 (org.openhab.binding.zwave-2.5.0-SNAPSHOT.jar and org.openhab.binding.zwave-2.5.0-SNAPSHOT-sources.jar) - I am not exactly sure if the sources jar file was really needed
  • Due to the new 2.5 binding, I had to also download and install Xtream (org.apache.servicemix.bundles.xstream-1.4.7_1.jar)
  • all 3 jar files are saved under /usr/share/openhab2/addons
  • Using the “openhab-cli console”, I had to also install the serial transport using the command “feature:install openhab-transport-serial”

The scene values are obtained using < item >.state.
The following are the Scene response codes received in OpenHab.

    |--------------|-----|
    | Button Press |State|
    |--------------|-----|
    | 1 x Up       | 2.0 |
    | 1 x Down     | 1.0 |
    | 2 x Up       | 2.3 |
    | 2 x Down     | 1.3 |
    | 3 x Up       | 2.4 |
    | 3 x Down     | 1.4 |
    | 4 x Up       | 2.5 |
    | 4 x Down     | 1.5 |
    | 5 x Up       | 2.6 |
    | 5 x Down     | 1.6 |
    | 1 x Config   | 3.0 |
    | Hold Up      | 2.2 |
    | Release Up   | 2.1 |
    | Hold Down    | 1.2 |
    | Release Down | 1.1 |
    |--------------|-----|

For RGB Notifications, you use:
< item >.sendCommand(########), where ######## is from RGB calculator provided in other threads on here.

2 Likes

This is awesome, thanks for posting this! I was inspired to try different things with the config button. Here’s a rule I just started using in openhab to scroll through 4 color options on my kitchen counter (Hue) lights.

Notes

  • This switch is mounted in the kitchen and wired to exterior kitchen door lights. However, I’ve disabled the relay and written this function to control the interior counter lights
  • When the config button is pressed, it scrolls through 4 predefined colors to change the counter lights.
  • It also changes the onboard LED for 5 seconds to act as an indicator. This indicator matches the color the counter lights are changing to.

Items:

Number		KitchenDoorLightsScene "Kitchen Door Lights Scene"				(outdoors)				{channel="zwave:device:057c652b:node3:scene_number"}
Number		KitchenDoorLightsEffect "Kitchen Door Lights LED Effect"			(outdoors)				{channel="zwave:device:057c652b:node3:config_decimal_param8"}

Rules (pardon the formatting, the forum here stripped out tabs):

rule “Kitchen Counter Lights”
when
Item KitchenDoorLightsScene changed
then
val String KitchenDoorscene = KitchenDoorLightsScene.state.toString
var String KitchenCounterColorCur = KitchenDoorLightsEffect.state.toString
val hueActionsColorLocal1 = getActions(“hue”,“hue:0210:1:bulb1”)
val hueActionsColorLocal2 = getActions(“hue”,“hue:0210:1:bulb4”)
var HSBType color = new HSBType(new DecimalType(0),new PercentType(0),new PercentType(100))

switch KitchenDoorscene {

case “2.0”: //1x tap up
{
Kitchen_Counter1_Dimmer.sendCommand(100)
Kitchen_Counter2_Dimmer.sendCommand(100)
}

case “2.3”: //2x tap up
{
}

case “1.0”: //2x tap down
{
Kitchen_Counter1_Dimmer.sendCommand(0)
Kitchen_Counter2_Dimmer.sendCommand(0)
}

case “1.3”: //2x tap down
{
}

case “3.0”: //config button
{
logInfo(“Kitchen Counter Color Change”, "Current color " + KitchenCounterColorCur)
switch KitchenCounterColorCur {
case “83823231”: //cyan pulsing (default)
{
color = new HSBType(new DecimalType(36),new PercentType(100),new PercentType(100)) //orange
KitchenDoorLightsEffect.sendCommand(17107499) //set switch indicator to yellow solid for 5s
}
case “17107499”:
{
color = new HSBType(new DecimalType(199),new PercentType(100),new PercentType(100)) //blue
KitchenDoorLightsEffect.sendCommand(17107619) //set switch indicator to blue solid for 5s
}
case “17107619”:
{
color = new HSBType(new DecimalType(120),new PercentType(100),new PercentType(100)) //green
KitchenDoorLightsEffect.sendCommand(17107536) //set switch indicator to green solid for 5s
}
case “17107536”:
{
color = new HSBType(new DecimalType(30),new PercentType(64),new PercentType(100)) //default
KitchenDoorLightsEffect.sendCommand(83823231) //set switch indicator to cyan pulsing
}
default:
{
color = new HSBType(new DecimalType(30),new PercentType(64),new PercentType(100)) //default
KitchenDoorLightsEffect.sendCommand(83823231) //set switch indicator to cyan pulsing
}
}

//execute lamp color command
hueActionsColorLocal1.fadingLightCommand(“color”, color, new DecimalType(1000))
hueActionsColorLocal2.fadingLightCommand(“color”, color, new DecimalType(1000))
}
}

KitchenDoorLightsScene.sendCommand(99) //reset to neutral

end

Thank you guys. This thread was very helpful this weekend when configuring a red series dimmer in the dining room to control lights in the kitchen. I particularly appreciated the tip with sending 99 (I guess anything unused goes) to “reset to neutral”

In case you’re wondering, I have the switch for K3 Lights (see below) very close to the dining room dimmer, so there was no need to use yet another scene with 4x press to control those lights by themselves as well.

Items

Rules

1 Like