1 //Create a class for switch level
3 import Timer.SimulatedTimer
5 public class SwitchLevels {
11 //If we have only one device
12 private String id = "switchLevelID0"
13 private String label = "switchLevel0"
14 private String displayName = "switchLevel0"
15 private int level = 50
18 SwitchLevels(Closure sendEvent, int deviceNumbers) {
19 this.sendEvent = sendEvent
20 this.timers = new SimulatedTimer()
21 this.deviceNumbers = deviceNumbers
22 this.switchLevels = []
24 switchLevels.add(new SwitchLevel(sendEvent, id, label, displayName, this.level))
27 //Methods for closures
28 def count(Closure Input) {
29 switchLevels.count(Input)
34 def each(Closure Input) {
35 switchLevels.each(Input)
37 def find(Closure Input) {
38 switchLevels.find(Input)
40 def collect(Closure Input) {
41 switchLevels.collect(Input)
45 def setLevel(int level) {
46 if (this.level != level) {
47 switchLevels[0].setLevel(level)
54 def setValue(LinkedHashMap eventDataMap) {
55 if (eventDataMap["value"] != switchLevels[0].level) {
56 switchLevels[0].setValue(eventDataMap["value"])
57 this.level = switchLevels[0].level
58 this.rate = switchLevels[0].level
59 sendEvent(eventDataMap)