package Thermostat
import Timer.SimulatedTimer
-//JPF's Verify API
-import gov.nasa.jpf.vm.Verify
-
public class Thermostats{
int deviceNumbers
List thermostats
private int latestHeatingSetPoint = 50
- Thermostats(Closure sendEvent, int deviceNumbers) {
+ Thermostats(Closure sendEvent, int deviceNumbers, boolean init) {
this.sendEvent = sendEvent
this.timers = new SimulatedTimer()
this.deviceNumbers = deviceNumbers
this.thermostats = []
- def initTemperature = Verify.getIntFromList(60, 66)
- this.temperature = initTemperature
- this.currentTemperature = initTemperature
-
- def initCoolingSetpoint = Verify.getIntFromList(70, 80)
- this.currentCoolingSetpoint = initCoolingSetpoint
- this.coolingSetpoint = initCoolingSetpoint
-
- def initHeatingSetpoint = Verify.getIntFromList(35, 50)
- this.currentHeatingSetpoint = initHeatingSetpoint
- this.heatingSetpoint = initHeatingSetpoint
-
- def initThermostatSetpoint = Verify.getIntFromList(50, 60)
- this.thermostatSetpoint = initThermostatSetpoint
-
- def initFanMode = Verify.getInt(0,4)
- if (initFanMode == 0) {
+ if (init) {
+ this.temperature = 60
+ this.currentTemperature = 60
+ this.currentCoolingSetpoint = 70
+ this.coolingSetpoint = 70
+ this.currentHeatingSetpoint = 35
+ this.heatingSetpoint = 35
+ this.thermostatSetpoint = 50
this.thermostatFanMode = "auto"
this.thermostatLatestFanMode = "auto"
- } else if (initFanMode == 1) {
- this.thermostatFanMode = "fanCirculate"
- this.thermostatLatestFanMode = "fanCirculate"
- } else if (initFanMode == 2) {
- this.thermostatFanMode = "circulate"
- this.thermostatLatestFanMode = "circulate"
- } else if (initFanMode == 3) {
- this.thermostatFanMode = "fanOn"
- this.thermostatLatestFanMode = "fanOn"
- } else {
- this.thermostatFanMode = "on"
- this.thermostatLatestFanMode = "on"
- }
-
- def initMode = Verify.getInt(0,4)
- if (initMode == 0) {
this.thermostatMode = "auto"
this.currentThermostatMode = "auto"
this.thermostatLatestMode = "auto"
- } else if (initMode == 1) {
- this.thermostatMode = "cool"
- this.currentThermostatMode = "cool"
- this.thermostatLatestMode = "cool"
- } else if (initMode == 2) {
- this.thermostatMode = "emergencyHeat"
- this.currentThermostatMode = "emergencyHeat"
- this.thermostatLatestMode = "emergencyHeat"
- } else if (initMode == 3) {
- this.thermostatMode = "heat"
- this.currentThermostatMode = "heat"
- this.thermostatLatestMode = "heat"
} else {
+ this.temperature = 66
+ this.currentTemperature = 66
+ this.currentCoolingSetpoint = 80
+ this.coolingSetpoint = 80
+ this.currentHeatingSetpoint = 50
+ this.heatingSetpoint = 50
+ this.thermostatSetpoint = 60
+ this.thermostatFanMode = "circulate"
+ this.thermostatLatestFanMode = "circulate"
this.thermostatMode = "off"
this.currentThermostatMode = "off"
- this.thermostatLatestMode = "off"
+ this.thermostatLatestMode = "off"
}
-
thermostats.add(new Thermostat(sendEvent, id, label, displayName, this.temperature, this.currentCoolingSetpoint,
this.currentHeatingSetpoint, this.coolingSetpoint, this.thermostatSetpoint, this.heatingSetpoint, this.coolingSetpointRange,
this.thermostatSetpointRange, this.heatingSetpointRange, this.supportedThermostatFanModes, this.supportedThermostatModes,