Items:
/*ZWave Aeotec Wallmote Bedroom */
Number BedRoom1_AeoButton_Scene "Aeotec Bedroom 1 Button" { channel="zwave:device:a1562d1c:node20:scene_number" }
Number BedRoom1_AeoButton_Battery "Aeotec Bedroom 1 Battery" (gBatteries) { channel="zwave:device:a1562d1c:node20:battery-level" }
String BedRoom1_AeoButton_Slide1 "Aeotec Bedroom 1 #1 Button" { channel="zwave:device:a1562d1c:node20:switch_startstop1" }
String BedRoom1_AeoButton_Slide2 "Aeotec Bedroom 1 #2 Button" { channel="zwave:device:a1562d1c:node20:switch_startstop2" }
String BedRoom1_AeoButton_Slide3 "Aeotec Bedroom 1 #3 Button" { channel="zwave:device:a1562d1c:node20:switch_startstop3" }
String BedRoom1_AeoButton_Slide4 "Aeotec Bedroom 1 #4 Button" { channel="zwave:device:a1562d1c:node20:switch_startstop4" }
Rules:
rule "WallMote Dim Control BedRoom 1"
when
Item BedRoom1_AeoButton_Slide2 received update
then
val String json = (BedRoom1_AeoButton_Slide2.state as StringType).toString.split("\\W+").get(2)
val String type = transform("JSONPATH", "$.direction", json)
if (type == "INCREASE") {
percent_din = DiningRoomDim1.state as Number
percent_din = Math.min(percent_din.intValue + 10,100) // increase brightness by 10%
DiningRoomDim1.sendCommand(percent_din)
}
if (type == "DECREASE") {
percent_din = DiningRoomDim1.state as Number
percent_din = Math.max(percent_din.intValue - 10,0) // decrease brightness by 10%
DiningRoomDim1.sendCommand(percent_din)
}
end