1 // Create a class for presence sensor
3 import SmartThing.SmartThing
5 public class PresenceSensor extends SmartThing {
6 // id, label, and display name of the device
7 StringBuilder id = new StringBuilder()
8 StringBuilder label = new StringBuilder()
9 StringBuilder displayName = new StringBuilder()
10 // Features with string values
11 StringBuilder currentPresence = new StringBuilder()
12 // Maps from features to values
13 HashMap<String, StringBuilder> deviceValuesMap = new HashMap<String, StringBuilder>()
14 // Possible values for eventsSince method
15 List<StringBuilder> possibleValues = new ArrayList<StringBuilder>();
17 PresenceSensor(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentPresence) {
18 deviceValuesMap = deviceValueSmartThing
20 labelSmartThing = label
21 displayNameSmartThing = displayName
22 sendEventSmartThings = sendEvent
23 possibleValuesSmartThings = possibleValues
28 this.displayName = displayName
29 this.currentPresence = currentPresence
30 possibleValues.add("present")
31 possibleValues.add("not present")
33 deviceValuesMap.put("presence", currentPresence)
36 // Methods to return values
37 def getCurrentPresence() {
38 return currentPresence.toString()