X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=Lock%2FLock.groovy;h=0271050af9dd100f9bedc0c430caa4fe3ea8a765;hp=76482b4f3262191209360437f60a9343cc8e0337;hb=d3802bd96ca8963ae52b9740443f9be6896f0e18;hpb=fea13f011a64a64558ad697eee68e3927395cccd diff --git a/Lock/Lock.groovy b/Lock/Lock.groovy index 76482b4..0271050 100644 --- a/Lock/Lock.groovy +++ b/Lock/Lock.groovy @@ -28,11 +28,13 @@ public class Lock { def lock() { if (lockState != "locked") { println("the door with id:$id is locked!") - this.lockLatestValue = this.lockState + this.lockLatestValue = "locked" this.lockState = "locked" this.currentLock = "locked" sendEvent([name: "lock", value: "locked", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + sendEvent([name: "lock.locked", value: "locked", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } @@ -40,11 +42,13 @@ public class Lock { if (lockState != "locked") { def task = timers.runAfter(metaData["delay"]) { println("the door with id:$id is locked!") - this.lockLatestValue = this.lockState + this.lockLatestValue = "locked" this.lockState = "locked" this.currentLock = "locked" sendEvent([name: "lock", value: "locked", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + sendEvent([name: "lock.locked", value: "locked", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } } @@ -52,11 +56,15 @@ public class Lock { def unlock() { if (lockState != "unlocked") { println("the door with id:$id is unlocked!") - this.lockLatestValue = this.lockState + this.lockLatestValue = "unlocked" this.lockState = "unlocked" this.currentLock = "unlocked" sendEvent([name: "unlock", value: "unlocked", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + sendEvent([name: "lock", value: "unlocked", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + sendEvent([name: "lock.unlocked", value: "unlocked", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } @@ -64,11 +72,15 @@ public class Lock { if (lockState != "unlocked") { def task = timers.runAfter(metaData["delay"]) { println("the door with id:$id is locked!") - this.lockLatestValue = this.lockState - this.lockState = "locked" - this.currentLock = "locked" + this.lockLatestValue = "unlocked" + this.lockState = "unlocked" + this.currentLock = "unlocked" sendEvent([name: "unlock", value: "unlocked", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + sendEvent([name: "lock", value: "unlocked", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + sendEvent([name: "lock.unlocked", value: "unlocked", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } } @@ -76,7 +88,7 @@ public class Lock { //By Model Checker def setValue(String value) { println("the door with id:$id is $value!") - this.lockLatestValue = this.lockState + this.lockLatestValue = value this.lockState = value this.currentLock = value }