1 //Create a class for motion sensor
3 import SmartThing.SmartThing
5 public class MotionSensor 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 currentMotion = 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 MotionSensor(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentMotion) {
18 deviceValuesMap = deviceValueSmartThing
20 labelSmartThing = label
21 displayNameSmartThing = displayName
22 sendEventSmartThings = sendEvent
23 possibleValuesSmartThings = possibleValues
28 this.displayName = displayName
29 this.currentMotion = currentMotion
30 possibleValues.add("active")
31 possibleValues.add("inactive")
33 deviceValuesMap.put("motion", currentMotion)
36 // Methods to return values
37 def getCurrentMotion() {
38 return currentMotion.toString()