def find(Closure Input) {
switchLevels.find(Input)
}
+ def sort(Closure Input) {
+ switchLevels.sort(Input)
+ }
def collect(Closure Input) {
switchLevels.collect(Input)
}
}
def on() {
- switchLevels[0].on()
- switchLatestValue = switchState
+ switchLatestValue = "on"
switchState = "on"
currentSwitch = "on"
+ switchLevels[0].on()
}
def on(LinkedHashMap metaData) {
def task = timers.runAfter(metaData["delay"]) {
- switchLevels[0].on()
- switchLatestValue = switchState
+ switchLatestValue = "on"
switchState = "on"
currentSwitch = "on"
+ switchLevels[0].on()
}
}
def off() {
- switchLevels[0].off()
- switchLatestValue = switchState
+ switchLatestValue = "off"
switchState = "off"
currentSwitch = "off"
+ switchLevels[0].off()
}
def off(LinkedHashMap metaData) {
def task = timers.runAfter(metaData["delay"]) {
- switchLevels[0].off()
- switchLatestValue = switchState
+ switchLatestValue = "off"
switchState = "off"
currentSwitch = "off"
+ switchLevels[0].off()
}
}
//By Model Checker
def setValue(LinkedHashMap eventDataMap) {
- if (eventDataMap["value"] != switchLevels[0].level) {
- switchLevels[0].setValue(eventDataMap["value"])
- this.level = switchLevels[0].level
- this.rate = switchLevels[0].level
- sendEvent(eventDataMap)
+ if (eventDataMap["name"] == "switch") {
+ if (eventDataMap["value"] != switchLevels[0].switchState) {
+ this.switchState = eventDataMap["value"]
+ this.switchLatestValue = eventDataMap["value"]
+ this.currentSwitch = eventDataMap["value"]
+ switchLevels[0].setValue(eventDataMap["value"], "switch")
+ sendEvent(eventDataMap)
+ }
+ } else if (eventDataMap["name"] == "level") {
+ if (eventDataMap["value"].toInteger() != switchLevels[0].level) {
+ this.level = eventDataMap["value"].toInteger()
+ this.rate = eventDataMap["value"].toInteger()
+ switchLevels[0].setValue(eventDataMap["value"], "level")
+ sendEvent(eventDataMap)
+ }
}
}
+ def currentValue(String deviceFeature) {
+ switchLevels[0].currentValue(deviceFeature)
+ }
+
+ def latestValue(String deviceFeature) {
+ switchLevels[0].latestValue(deviceFeature)
+ }
+
+
def getAt(int ix) {
switchLevels[ix]
}