X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=PowerMeter%2FPowerMeter.groovy;fp=PowerMeter%2FPowerMeter.groovy;h=ae895d99e704b915a8496d27abddf74ec2caf79f;hb=d0b538d93e64c63d2673796db08570953b57f947;hp=a0915ea940e0f68a93dc67fac15ef5842c4f6410;hpb=2932def9bb947d617975235763f7338360f0e5a4;p=smartthings-infrastructure.git diff --git a/PowerMeter/PowerMeter.groovy b/PowerMeter/PowerMeter.groovy index a0915ea..ae895d9 100644 --- a/PowerMeter/PowerMeter.groovy +++ b/PowerMeter/PowerMeter.groovy @@ -1,38 +1,35 @@ //Create a class for power meter package PowerMeter -import Timer.SimulatedTimer +import SmartThing.SmartThing -public class PowerMeter { - private String id - private String label - private String displayName - private int power - private int currentPower +public class PowerMeter 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 currentPower = new MutableInteger() + // Maps from features to values + HashMap deviceIntValuesMap = new HashMap() - PowerMeter(String id, String label, String displayName, int power) { + PowerMeter(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, MutableInteger currentPower) { + deviceIntValuesMap = deviceIntValueSmartThing + idSmartThing = id + labelSmartThing = label + displayNameSmartThing = displayName + sendEventSmartThings = sendEvent + + // Initialization this.id = id this.label = label this.displayName = displayName - this.power = power - } + this.currentPower = currentPower - //By Model Checker - def setValue(String value) { - println("the power is changed to $value!") - this.power = value.toInteger() - this.currentPower = value.toInteger() + deviceIntValuesMap.put("power", currentPower) } - def currentValue(String deviceFeature) { - if (deviceFeature == "power") { - return power - } + // Methods to return values + def getCurrentPower() { + return currentPower.getValue() } - - def latestValue(String deviceFeature) { - if (deviceFeature == "power") { - return power - } - } - }