// Create a class for presence sensor package PresenceSensor import SmartThing.SmartThing public class PresenceSensor 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 currentPresence = new StringBuilder() // Maps from features to values HashMap deviceValuesMap = new HashMap() // Possible values for eventsSince method List possibleValues = new ArrayList(); PresenceSensor(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentPresence) { deviceValuesMap = deviceValueSmartThing idSmartThing = id labelSmartThing = label displayNameSmartThing = displayName sendEventSmartThings = sendEvent possibleValuesSmartThings = possibleValues // Initialization this.id = id this.label = label this.displayName = displayName this.currentPresence = currentPresence possibleValues.add("present") possibleValues.add("not present") deviceValuesMap.put("presence", currentPresence) } // Methods to return values def getCurrentPresence() { return currentPresence.toString() } }