--- /dev/null
+//Create a class for SmartThings
+package SmartThing
+
+//Importing mutable integer class
+import MutableInteger.MutableInteger
+
+class SmartThings {
+ List smartThings = new ArrayList()
+
+ // Methods for closures
+ def count(Closure Input) {
+ smartThings.count(Input)
+ }
+
+ def size() {
+ smartThings.size()
+ }
+
+ def each(Closure Input) {
+ smartThings.each(Input)
+ }
+
+ def find(Closure Input) {
+ smartThings.find(Input)
+ }
+
+ def sort(Closure Input) {
+ smartThings.sort(Input)
+ }
+
+ def collect(Closure Input) {
+ smartThings.collect(Input)
+ }
+
+ // Methods to handle events
+ def eventsSince(Date dateObj) {
+ return smartThings[0].eventsSince()
+ }
+
+ def statesSince(String info, Date dateObj) {
+ return smartThings[0].statesSince()
+ }
+
+ // Methods to return states of the devices
+ def currentState(String deviceFeature) {
+ List tmpValues = new ArrayList()
+ tmpValues.add(smartThings[0].currentState(deviceFeature))
+ return tmpValues
+ }
+
+ def currentValue(String deviceFeature) {
+ List tmpValues = new ArrayList()
+ tmpValues.add(smartThings[0].currentValue(deviceFeature))
+ return tmpValues
+ }
+
+ def latestValue(String deviceFeature) {
+ List tmpValues = new ArrayList()
+ tmpValues.add(smartThings[0].latestValue(deviceFeature))
+ return tmpValues
+ }
+
+ def getAt(int ix) {
+ smartThings[ix]
+ }
+}