X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=MotionSensor%2FMotionSensors.groovy;h=5c03ebf677c2cf90700d63c2d859e8129b5966a0;hp=764aa3e9c505d0c405933f12b2b7489eb2d38abe;hb=6da0a8cedec52b542e0d5046632ae1c166e260cf;hpb=b5602bde1f6ac15ef1fa8b1d6eceb68708a51ad1 diff --git a/MotionSensor/MotionSensors.groovy b/MotionSensor/MotionSensors.groovy index 764aa3e..5c03ebf 100644 --- a/MotionSensor/MotionSensors.groovy +++ b/MotionSensor/MotionSensors.groovy @@ -19,29 +19,30 @@ public class MotionSensors { private String motionLatestValue = "inactive" - MotionSensors(Closure sendEvent, int deviceNumbers) { + MotionSensors(Closure sendEvent, int deviceNumbers, boolean init) { this.sendEvent = sendEvent this.deviceNumbers = deviceNumbers this.motionSensors = [] - /*def init = Verify.getBoolean() if (init) { this.motion = "inactive" + this.currentMotion = "inactive" this.motionLatestValue = "inactive" } else { this.motion = "active" + this.currentMotion = "active" this.motionLatestValue = "active" - }*/ + } motionSensors.add(new MotionSensor(id, label, displayName, this.motion, this.motionLatestValue)) } //By Model Checker def setValue(LinkedHashMap eventDataMap) { if (eventDataMap["value"] != motionSensors[0].motion) { + this.motionLatestValue = eventDataMap["value"] + this.motion = eventDataMap["value"] + this.currentMotion = eventDataMap["value"] motionSensors[0].setValue(eventDataMap["value"]) - this.motionLatestValue = motionSensors[0].motionLatestValue - this.motion = motionSensors[0].motion - this.currentMotion = motionSensors[0].motion sendEvent(eventDataMap) } } @@ -59,10 +60,16 @@ public class MotionSensors { def find(Closure Input) { motionSensors.find(Input) } + def sort(Closure Input) { + motionSensors.sort(Input) + } def collect(Closure Input) { motionSensors.collect(Input) } - + + def currentState(String deviceFeature) { + currentValue(deviceFeature) + } def currentValue(String deviceFeature) { motionSensors[0].currentValue(deviceFeature)//It is called if we have only one device @@ -73,7 +80,11 @@ public class MotionSensors { } def statesSince(String info, Date dateObj) { - return motionSensors[0].statesSince(info, dateObj) + return motionSensors[0].statesSince() + } + + def eventsSince(Date dateObj) { + return motionSensors[0].statesSince() } def getAt(int ix) {