Aeotec WallMote - Slide

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


4 Likes