1 //Create a class for SmartThings
4 public class SmartThings {
5 List smartThings = new ArrayList()
7 // Methods for closures
8 def count(Closure Input) {
9 smartThings.count(Input)
16 def each(Closure Input) {
17 smartThings.each(Input)
20 def find(Closure Input) {
21 smartThings.find(Input)
24 def sort(Closure Input) {
25 smartThings.sort(Input)
28 def collect(Closure Input) {
29 smartThings.collect(Input)
32 // Methods to handle events
33 def eventsSince(Date dateObj, LinkedHashMap info) {
34 return smartThings[0].eventsSince()
37 def eventsSince(Date dateObj) {
38 return smartThings[0].eventsSince()
41 def statesSince(String info, Date dateObj) {
42 return smartThings[0].statesSince()
45 // Methods to return states of the devices
46 def propertyMissing(String currentProperty) {
47 if (smartThings[0] == null)
49 List tmpValues = new ArrayList()
50 tmpValues.add(smartThings[0].propertyMissing(currentProperty))
54 def currentState(String deviceFeature) {
55 List tmpValues = new ArrayList()
56 tmpValues.add(smartThings[0].currentState(deviceFeature))
60 def currentValue(String deviceFeature) {
61 List tmpValues = new ArrayList()
62 tmpValues.add(smartThings[0].currentValue(deviceFeature))
66 def latestValue(String deviceFeature) {
67 List tmpValues = new ArrayList()
68 tmpValues.add(smartThings[0].latestValue(deviceFeature))