X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=CarbonMonoxideDetector%2FCarbonMonoxideDetector.groovy;h=65f1ce0d99bf1209a2988e8888753d287fb1b6fc;hb=d0b538d93e64c63d2673796db08570953b57f947;hp=213d1531d3ec79c7353f6d893d55f0c885dfe859;hpb=2932def9bb947d617975235763f7338360f0e5a4;p=smartthings-infrastructure.git diff --git a/CarbonMonoxideDetector/CarbonMonoxideDetector.groovy b/CarbonMonoxideDetector/CarbonMonoxideDetector.groovy index 213d153..65f1ce0 100644 --- a/CarbonMonoxideDetector/CarbonMonoxideDetector.groovy +++ b/CarbonMonoxideDetector/CarbonMonoxideDetector.groovy @@ -1,41 +1,35 @@ //Create a class for carbon monoxide detector package CarbonMonoxideDetector -import Timer.SimulatedTimer +import SmartThing.SmartThing -public class CarbonMonoxideDetector { - private String id - private String label - private String displayName - private String carbonMonoxide - private String currentCarbonMonoxideValue - private String carbonMonoxideLatestValue +public class CarbonMonoxideDetector extends SmartThing { + // id, label, and display name of the device + StringBuilder id = new StringBuilder() + StringBuilder label = new StringBuilder() + StringBuilder displayName = new StringBuilder() + // Features with string values + StringBuilder currentCarbonMonoxideValue = new StringBuilder() + // Maps from features to values + HashMap deviceValuesMap = new HashMap() - CarbonMonoxideDetector(String id, String label, String displayName, String carbonMonoxide, String carbonMonoxideLatestValue) { + CarbonMonoxideDetector(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentCarbonMonoxideValue) { + deviceValuesMap = deviceValueSmartThing + idSmartThing = id + labelSmartThing = label + displayNameSmartThing = displayName + sendEventSmartThings = sendEvent + + // Initialization this.id = id this.label = label this.displayName = displayName - this.carbonMonoxide = carbonMonoxide - this.currentCarbonMonoxideValue = carbonMonoxide - this.carbonMonoxideLatestValue = carbonMonoxideLatestValue - } - - def setValue(String value) { - println("the carbon monoxide detector with id:$id is triggered to $value!") - this.carbonMonoxideLatestValue = value - this.carbonMonoxide = value - this.currentCarbonMonoxideValue = value - } + this.currentCarbonMonoxideValue = currentCarbonMonoxideValue - - def currentValue(String deviceFeature) { - if (deviceFeature == "carbonMonoxide") { - return currentCarbonMonoxideValue - } + deviceValuesMap.put("carbonMonoxide", currentCarbonMonoxideValue) } - def latestValue(String deviceFeature) { - if (deviceFeature == "carbonMonoxide") { - return carbonMonoxideLatestValue - } + // Methods to return values + def getCurrentCarbonMonoxideValue() { + return currentCarbonMonoxideValue.toString() } }