A small change in SwitchLevel class
[smartthings-infrastructure.git] / AccelerationSensor / AccelerationSensor.groovy
1 // Create a class for acceleration sensor
2 package AccelerationSensor
3 import SmartThing.SmartThing
4
5 public class AccelerationSensor 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 currentAcceleration = 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>();
16
17         AccelerationSensor(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentAcceleration) {
18                 deviceValuesMap = deviceValueSmartThing
19                 deviceIntValuesMap = deviceIntValueSmartThing
20                 idSmartThing = id
21                 labelSmartThing = label
22                 displayNameSmartThing = displayName
23                 sendEventSmartThings = sendEvent
24                 possibleValuesSmartThings = possibleValues
25
26                 // Initialization
27                 this.id = id
28                 this.label = label
29                 this.displayName = displayName
30                 this.currentAcceleration = currentAcceleration
31                 possibleValues.add("active")
32                 possibleValues.add("inactive")
33
34                 deviceValuesMap.put("acceleration", currentAcceleration)
35         }
36
37         // Methods to return values
38         def getCurrentAcceleration() {
39                 return currentAcceleration.toString()
40         }
41 }