Infrastructure compatible with 2 types of switches.(Normal switches and otherVsGeneri...
[smartthings-infrastructure.git] / TemperatureMeasurement / TemperatureMeasurement.groovy
1 //Create a class for temperature measurement
2 package TemperatureMeasurement
3 import Timer.SimulatedTimer
4
5 //JPF's Verify API
6 import gov.nasa.jpf.vm.Verify
7
8 public class TemperatureMeasurement {
9         private String id
10         private String label
11         private String displayName
12         private int temperature
13         private int currentTemperature
14
15         TemperatureMeasurement(String id, String label, String displayName, int temperature) {
16                 this.id = id
17                 this.label = label
18                 this.displayName = displayName
19                 this.temperature = temperature
20                 this.currentTemperature = temperature
21         }
22
23         def eventsSince() {
24                 def evtTemp = [[name: "temperature", value: this.temperature.toString(), deviceId: "temperatureMeasurementID0", descriptionText: "",
25                                 displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']]
26                 def init = Verify.getInt(0,1)
27                 def evtToSend = []
28                 if (init == 0) {//return empty set
29                         return evtToSend
30                 } else if (init == 1) {//send one open event
31                         evtTemp.each{
32                                 evtToSend.add(it)
33                         }
34                         return evtToSend
35                 }
36         }
37
38         //By Model Checker
39         def setValue(String value) {
40                 println("the temperature is changed to $value!")
41                 this.temperature = value.toInteger()
42                 this.currentTemperature = value.toInteger()
43         }
44
45 }