X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=WaterSensor%2FWaterSensor.groovy;fp=WaterSensor%2FWaterSensor.groovy;h=8c4e921fccaf4d4baaca2e46796b145e9a7ddcec;hb=d0b538d93e64c63d2673796db08570953b57f947;hp=19576845ce7e6a9367541ca90d6ae4a4bfc2ea70;hpb=2932def9bb947d617975235763f7338360f0e5a4;p=smartthings-infrastructure.git diff --git a/WaterSensor/WaterSensor.groovy b/WaterSensor/WaterSensor.groovy index 1957684..8c4e921 100644 --- a/WaterSensor/WaterSensor.groovy +++ b/WaterSensor/WaterSensor.groovy @@ -1,23 +1,35 @@ //Create a class for water sensor package WaterSensor -import Timer.SimulatedTimer +import SmartThing.SmartThing -public class WaterSensor { - private String id - private String label - private String displayName - private String water +public class WaterSensor 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 currentWater = new StringBuilder() + // Maps from features to values + HashMap deviceValuesMap = new HashMap() - WaterSensor(String id, String label, String displayName, String water) { + WaterSensor(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentWater) { + deviceValuesMap = deviceValueSmartThing + idSmartThing = id + labelSmartThing = label + displayNameSmartThing = displayName + sendEventSmartThings = sendEvent + + // Initialization this.id = id this.label = label this.displayName = displayName - this.water = water + this.currentWater = currentWater + + deviceValuesMap.put("water", currentWater) } - //By Model Checker - def setValue(String value) { - println("the water state is changed to $value!") - this.water = value + // Methods to return values + def getCurrentWater() { + return currentWater.toString() } }