Fixing a bug in ExtractorScript.py: missing a check if there is no event for App1.
[smartthings-infrastructure.git] / WaterSensor / WaterSensors.groovy
index 10a4cfd6d145043f95622afcff3cb4214d7e07f1..10567ae1c822f933c48f2feefe8e165dceef55ee 100644 (file)
@@ -14,19 +14,24 @@ public class WaterSensors {
        private String water = "dry"
 
                
-       WaterSensors(Closure sendEvent, int deviceNumbers) {
+       WaterSensors(Closure sendEvent, int deviceNumbers, boolean init) {
                this.sendEvent = sendEvent              
                this.deviceNumbers = deviceNumbers
                this.waterSensors = []
 
+               if (init) {
+                       this.water = "dry"
+               } else {
+                       this.water = "wet"
+               }
                waterSensors.add(new WaterSensor(id, label, displayName, this.water))
        }
 
        //By Model Checker
        def setValue(LinkedHashMap eventDataMap) {
                if (eventDataMap["value"] != waterSensors[0].water) {
+                       this.water = eventDataMap["value"]
                        waterSensors[0].setValue(eventDataMap["value"])
-                       this.water = waterSensors[0].water
                        sendEvent(eventDataMap)
                }
        }
@@ -44,6 +49,9 @@ public class WaterSensors {
        def find(Closure Input) {
                waterSensors.find(Input)
        }
+       def sort(Closure Input) {
+               waterSensors.sort(Input)
+       }
        def collect(Closure Input) {
                waterSensors.collect(Input)
        }