//Create a class for image capture sensor
package ImageCapture
-import Timer.SimulatedTimer
+import SmartThing.SmartThing
-public class ImageCapture {
- private String id
- private String label
- private String displayName
- private String image
- private String alarmState
- def timers
+public class ImageCapture extends SmartThing {
+ // id, label, and display name of the device
+ StringBuilder id = new StringBuilder()
+ StringBuilder label = new StringBuilder()
+ StringBuilder displayName = new StringBuilder()
+ // Features with string values
+ StringBuilder currentImage = new StringBuilder()
+ // Maps from features to values
+ HashMap<String, StringBuilder> deviceValuesMap = new HashMap<String, StringBuilder>()
- ImageCapture(String id, String label, String displayName, String image, String alarmState) {
+ ImageCapture(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentImage) {
+ deviceValuesMap = deviceValueSmartThing
+ idSmartThing = id
+ labelSmartThing = label
+ displayNameSmartThing = displayName
+ sendEventSmartThings = sendEvent
+
+ // Initialization
this.id = id
this.label = label
this.displayName = displayName
- this.image = image
- this.alarmState = alarmState
- this.timers = new SimulatedTimer()
- }
-
- def alarmOn() {
- if (alarmState != "armed") {
- println("The camera with id:$id is armed!")
- this.alarmState = "armed"
- }
- }
+ this.currentImage = currentImage
- def alarmOff() {
- if (alarmState != "not armed") {
- println("The camera with id:$id is not armed!")
- this.alarmState = "not armed"
- }
+ deviceValuesMap.put("image", currentImage)
}
def take() {
- println("The camera with id:$id is taken a picture!")
+ String tmpID = id.toString()
+ println("The camera with id:$tmpID is taken a picture!")
}
def take(LinkedHashMap metaData) {
- def task = timers.runAfter(metaData["delay"]) {
- println("The camera with id:$id is taken a picture!")
- }
+ take()
+ }
+
+ // Methods to return values
+ def getCurrentImage() {
+ return currentImage.toString()
}
}