X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=PowerMeter%2FPowerMeter.groovy;h=ae895d99e704b915a8496d27abddf74ec2caf79f;hp=212d5fabb8401db65772ca3b977cca1aa6ad652d;hb=d0b538d93e64c63d2673796db08570953b57f947;hpb=d00fd74ad7e497d6849c284c6ba69db2d3ec8e65 diff --git a/PowerMeter/PowerMeter.groovy b/PowerMeter/PowerMeter.groovy index 212d5fa..ae895d9 100644 --- a/PowerMeter/PowerMeter.groovy +++ b/PowerMeter/PowerMeter.groovy @@ -1,32 +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() } - }