47da3b5972653b99d9c66859718469b213edd2de
[smartthings-infrastructure.git] / RelativeHumidityMeasurement / RelativeHumidityMeasurement.groovy
1 //Create a class for relative humidity measurement
2 package RelativeHumidityMeasurement
3 import Timer.SimulatedTimer
4
5 public class RelativeHumidityMeasurement {
6         private String id
7         private String label
8         private String displayName
9         private int humidity
10         private int currentHumidity
11
12         RelativeHumidityMeasurement(String id, String label, String displayName, int humidity) {
13                 this.id = id
14                 this.label = label
15                 this.displayName = displayName
16                 this.humidity = humidity
17         }
18
19         def eventsSince() {
20                 def evtHumidity = [[name: "humidity", value: this.humidity.toString(), deviceId: "humidityMeasurementID0", descriptionText: "",
21                                 displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']]
22                 def init = Verify.getInt(0,1)
23                 def evtToSend = []
24                 if (init == 0) {//return empty set
25                         return evtToSend
26                 } else if (init == 1) {//send one open event
27                         evtHumidity.each{
28                                 evtToSend.add(it)
29                         }
30                         return evtToSend
31                 }
32         }
33
34         //By Model Checker
35         def setValue(String value) {
36                 println("the humidity is changed to $value!")
37                 this.humidity = value.toInteger()
38                 this.currentHumidity = value.toInteger()
39         }
40
41         def currentValue(String deviceFeature) {
42                 if (deviceFeature == "humidity") {
43                         return humidity
44                 }
45         }
46
47         def latestValue(String deviceFeature) {
48                 if (deviceFeature == "humidity") {
49                         return humidity
50                 }
51         }
52 }