1 //Create a class for alarm device
3 import Timer.SimulatedTimer
8 private String displayName
10 private String currentAlarm
11 private String alarmLatestValue
16 Alarm(Closure sendEvent, String id, String label, String displayName, String alarm, String currentAlarm, String alarmLatestValue) {
17 this.sendEvent = sendEvent
18 this.timers = new SimulatedTimer()
21 this.displayName = displayName
23 this.currentAlarm = currentAlarm
24 this.alarmLatestValue = alarmLatestValue
29 println("the alarm with id:$id is changed to both!")
30 this.alarmLatestValue = this.alarm
32 this.currentAlarm = "both"
33 sendEvent([name: "alarm", value: "both", deviceId: this.id, descriptionText: "",
34 displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "both"]])
42 println("the alarm with id:$id is changed to off!")
43 this.alarmLatestValue = this.alarm
45 this.currentAlarm = "off"
46 sendEvent([name: "alarm", value: "off", deviceId: this.id, descriptionText: "",
47 displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "off"]])
51 println("the alarm with id:$id is changed to siren!")
52 this.alarmLatestValue = this.alarm
54 this.currentAlarm = "siren"
55 sendEvent([name: "alarm", value: "siren", deviceId: this.id, descriptionText: "",
56 displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "siren"]])
60 println("the alarm with id:$id is changed to strobe!")
61 this.alarmLatestValue = this.alarm
63 this.currentAlarm = "strobe"
64 sendEvent([name: "alarm", value: "strobe", deviceId: this.id, descriptionText: "",
65 displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "strobe"]])
68 def currentValue(String deviceFeature) {
69 if (deviceFeature == "alarm") {
74 def latestValue(String deviceFeature) {
75 if (deviceFeature == "alarm") {
76 return alarmLatestValue