ac37de69feffeec7a48e15418da79f4904ceae63
[smartthings-infrastructure.git] / Alarm / Alarms.groovy
1 //Create a class for alarm device
2 package Alarm
3 import SmartThing.SmartThings
4
5 public class Alarms extends SmartThings {
6         List alarms = new ArrayList()
7
8         Alarms(Closure sendEvent, boolean init) {
9                 alarms = smartThings
10
11                 // Initialization
12                 StringBuilder id = new StringBuilder("alarmID0")
13                 StringBuilder label = new StringBuilder("alarm")
14                 StringBuilder displayName = new StringBuilder("alarm0")
15                 StringBuilder alarm = new StringBuilder()
16         
17                 if (init)
18                         alarm.append("off")
19                 else
20                         alarm.append("on")
21                 
22                 alarms.add(new Alarm(sendEvent, id, label, displayName, alarm))
23         }
24
25         // Methods to set values
26         def both() {
27                 alarms[0].both()
28         }
29
30         def off() {
31                 alarms[0].off()
32         }
33
34         def on() {
35                 alarms[0].on()
36         }
37
38         def siren() {
39                 alarms[0].siren()
40         }
41
42         def strobe() {
43                 alarms[0].strobe()
44         }
45
46         // Methods to return values
47         def getCurrentAlarm() {
48                 List tmpValues = new ArrayList()
49                 tmpValues.add(alarms[0].getCurrentAlarm())
50                 return tmpValues
51         }
52 }