X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=IlluminanceMeasurement%2FIlluminanceMeasurement.groovy;h=e59e6ef73e1502c25b2fc9e61fdaa3565224f426;hp=644db1b7c0bcbddd425f8d6e071a29f86ed94fac;hb=d0b538d93e64c63d2673796db08570953b57f947;hpb=2932def9bb947d617975235763f7338360f0e5a4 diff --git a/IlluminanceMeasurement/IlluminanceMeasurement.groovy b/IlluminanceMeasurement/IlluminanceMeasurement.groovy index 644db1b..e59e6ef 100644 --- a/IlluminanceMeasurement/IlluminanceMeasurement.groovy +++ b/IlluminanceMeasurement/IlluminanceMeasurement.groovy @@ -1,39 +1,35 @@ //Create a class for illuminance measurement package IlluminanceMeasurement -import Timer.SimulatedTimer +import SmartThing.SmartThing -public class IlluminanceMeasurement { - private String id - private String label - private String displayName - private int illuminance - private int currentIlluminance +public class IlluminanceMeasurement extends SmartThing { + // id, label, and display name of the device + StringBuilder id = new StringBuilder() + StringBuilder label = new StringBuilder() + StringBuilder displayName = new StringBuilder() + // Features with numberical values + MutableInteger currentIlluminance = new MutableInteger() + // Maps from features to values + HashMap deviceIntValuesMap = new HashMap() - IlluminanceMeasurement(String id, String label, String displayName, int illuminance) { + IlluminanceMeasurement(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, MutableInteger currentIlluminance) { + deviceIntValuesMap = deviceIntValueSmartThing + idSmartThing = id + labelSmartThing = label + displayNameSmartThing = displayName + sendEventSmartThings = sendEvent + + // Initialization this.id = id this.label = label this.displayName = displayName - this.illuminance = illuminance - this.currentIlluminance = illuminance - } + this.currentIlluminance = currentIlluminance - //By Model Checker - def setValue(String value) { - println("the illuminance level is changed to $value!") - this.illuminance = value.toInteger() - this.currentIlluminance = value.toInteger() + deviceIntValuesMap.put("illuminance", currentIlluminance) } - def currentValue(String deviceFeature) { - if (deviceFeature == "illuminance") { - return illuminance - } + // Methods to return values + def getCurrentIlluminance() { + return currentIlluminance.getValue() } - - def latestValue(String deviceFeature) { - if (deviceFeature == "illuminance") { - return illuminance - } - } - }