this.alarmLatestValue = alarmLatestValue
}
+ //By model checker
+ def setValue(String value) {
+ println("the alarm with id:$id is triggered to $value!")
+ this.alarmLatestValue = value
+ this.alarm = value
+ this.currentAlarm = value
+ }
+
+
//By Apps
def both() {
- println("the alarm with id:$id is changed to both!")
- this.alarmLatestValue = this.alarm
- this.alarm = "both"
- this.currentAlarm = "both"
- sendEvent([name: "alarm", value: "both", deviceId: this.id, descriptionText: "",
- displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "both"]])
+ if (alarm != "both") {
+ println("the alarm with id:$id is changed to both!")
+ this.alarmLatestValue = "both"
+ this.alarm = "both"
+ this.currentAlarm = "both"
+ sendEvent([name: "alarm", value: "both", deviceId: this.id, descriptionText: "",
+ displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}'])
+ }
}
def on() {
}
def off() {
- println("the alarm with id:$id is changed to off!")
- this.alarmLatestValue = this.alarm
- this.alarm = "off"
- this.currentAlarm = "off"
- sendEvent([name: "alarm", value: "off", deviceId: this.id, descriptionText: "",
- displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "off"]])
+ if (alarm != "off") {
+ println("the alarm with id:$id is changed to off!")
+ this.alarmLatestValue = "off"
+ this.alarm = "off"
+ this.currentAlarm = "off"
+ sendEvent([name: "alarm", value: "off", deviceId: this.id, descriptionText: "",
+ displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}'])
+ }
}
def siren() {
- println("the alarm with id:$id is changed to siren!")
- this.alarmLatestValue = this.alarm
- this.alarm = "siren"
- this.currentAlarm = "siren"
- sendEvent([name: "alarm", value: "siren", deviceId: this.id, descriptionText: "",
- displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "siren"]])
+ if (alarm != "siren") {
+ println("the alarm with id:$id is changed to siren!")
+ this.alarmLatestValue = "siren"
+ this.alarm = "siren"
+ this.currentAlarm = "siren"
+ sendEvent([name: "alarm", value: "siren", deviceId: this.id, descriptionText: "",
+ displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}'])
+ }
}
def strobe() {
- println("the alarm with id:$id is changed to strobe!")
- this.alarmLatestValue = this.alarm
- this.alarm = "strobe"
- this.currentAlarm = "strobe"
- sendEvent([name: "alarm", value: "strobe", deviceId: this.id, descriptionText: "",
- displayed: true, linkText: "", isStateChange: false, unit: "", data: [value: "strobe"]])
+ if (alarm != "strobe") {
+ println("the alarm with id:$id is changed to strobe!")
+ this.alarmLatestValue = "strobe"
+ this.alarm = "strobe"
+ this.currentAlarm = "strobe"
+ sendEvent([name: "alarm", value: "strobe", deviceId: this.id, descriptionText: "",
+ displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}'])
+ }
}
def currentValue(String deviceFeature) {