Infrastructure that works for all the locks' group!
[smartthings-infrastructure.git] / ImageCapture / ImageCaptures.groovy
index 2a63a3e8fa806a31611a8b649496870cdfaa3229..661e87071817dcfe68ff1051c509ff03890e54ab 100644 (file)
@@ -2,15 +2,18 @@
 package ImageCapture
 import Timer.SimulatedTimer
 
+//JPF's Verify API
+import gov.nasa.jpf.vm.Verify
+
 public class ImageCaptures {
        private int deviceNumbers
        private List imageCaptureSensors
        def sendEvent
 
        //For one device(We cannot have obj.id)-> We should have obj[0].id
-       private String id = "motionSensorID0"
-       private String label = "motionSensor0"
-       private String displayName = "motionSensor0"
+       private String id = "imageCaptureID0"
+       private String label = "imageCapture0"
+       private String displayName = "imageCapture0"
        private String image = "imageData"
        private String alarmState = "armed"
 
@@ -20,6 +23,12 @@ public class ImageCaptures {
                this.deviceNumbers = deviceNumbers
                this.imageCaptureSensors = []
 
+               def initAlarm = Verify.getBoolean()
+               if (initAlarm) {
+                       this.alarmState = "armed"
+               } else {
+                       this.alarmState = "not armed"
+               }
                imageCaptureSensors.add(new ImageCapture(id, label, displayName, this.image, this.alarmState))
        }
 
@@ -42,13 +51,17 @@ public class ImageCaptures {
        }
 
        def alarmOn() {
-               imageCaptureSensors[0].alarmOn()
-               this.alarmState = "armed"
+               if (alarmState != "armed") {
+                       imageCaptureSensors[0].alarmOn()
+                       this.alarmState = "armed"
+               }
        }
 
        def alarmOff() {
-               imageCaptureSensors[0].alarmOff()
-               this.alarmState = "not armed"
+               if (alarmState != "not armed") {
+                       imageCaptureSensors[0].alarmOff()
+                       this.alarmState = "not armed"
+               }
        }
 
        def take() {