1 //Create a class for switch device
4 public class Switching{
10 Switching(Closure sendEvent, int deviceNumbers) {
11 this.sendEvent = sendEvent
12 this.timers = new Timer()
13 this.deviceNumbers = deviceNumbers
15 if (deviceNumbers == 1) {
16 switches = [new Switches(sendEvent, 0, "switch0", "off", "off")]
17 } else if (deviceNumbers == 2) {
18 switches = [new Switches(sendEvent, 0, "switch0", "off", "off"), new Switches(sendEvent, 1, "switch1", "off", "off")]
19 } else if (deviceNumbers == 3) {
20 switches = [new Switches(sendEvent, 0, "switch0", "off", "off"), new Switches(sendEvent, 1, "switch1", "off", "off")
21 ,new Switches(sendEvent, 2, "switch2", "off", "off")]
30 def on(LinkedHashMap metaData) {
31 def task = timers.runAfter(metaData["delay"]) {
40 def off(LinkedHashMap metaData) {
41 def task = timers.runAfter(metaData["delay"]) {
47 def setValue(LinkedHashMap eventDataMap) {
48 switches[eventDataMap["deviceId"]].setValue(eventDataMap["value"])
49 sendEvent(eventDataMap)
53 def currentValue(String deviceFeature) {
54 if (deviceNumbers == 1)
55 switches[0].currentValue(deviceFeature)
57 switches*.currentValue(deviceFeature)
60 def latestValue(String deviceFeature) {
61 if (deviceNumbers == 1)
62 switches[0].latestValue(deviceFeature)
64 switches*.latestValue(deviceFeature)