Adding SmartThing class and MutableInteger
[smartthings-infrastructure.git] / Valve / Valves.groovy
1 //Create a class for valve
2 package Valve
3 import SmartThing.SmartThings
4
5 public class Valves extends SmartThings {
6         List valves = new ArrayList()
7
8         Valves(Closure sendEvent, boolean init) {
9                 // Only initialize one time since we only have one device for each capability
10                 valves = smartThings
11
12                 // Initialization
13                 StringBuilder id = new StringBuilder("valveID0")
14                 StringBuilder label = new StringBuilder("valve")
15                 StringBuilder displayName = new StringBuilder("valve0")
16                 StringBuilder valve = new StringBuilder()
17                 
18                 if (init)
19                         valve.append("closed")
20                 else
21                         valve.append("open")
22
23                 valves.add(new Valve(sendEvent, id, label, displayName, valve))
24         }
25
26         // Methods to set values
27         def open() {
28                 valves[0].open()
29         }
30
31         def open(LinkedHashMap metaData) {
32                 open()
33         }
34
35         def close() {           
36                 valves[0].close()
37         }
38
39         def close(LinkedHashMap metaData) {
40                 close()
41         }
42
43         // Methods to return values
44         def getCurrentValve() {
45                 List tmpValues = new ArrayList()
46                 tmpValues.add(valves[0].getCurrentValve())
47                 return tmpValues
48         }
49
50 }